<?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>182605</bug_id>
          
          <creation_ts>2018-02-08 08:29:53 -0800</creation_ts>
          <short_desc>Silence MAP_JIT warning for Network Process</short_desc>
          <delta_ts>2018-06-07 16:14:12 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brent Fulgham">bfulgham</reporter>
          <assigned_to name="Tadeu Zagallo">tzagallo</assigned_to>
          <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>joepeck</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mitz</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1397533</commentid>
    <comment_count>0</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2018-02-08 08:29:53 -0800</bug_when>
    <thetext>The Network process periodically invokes JavaScriptCore to process Proxy Auto-Config (PAC) files. We don&apos;t support JIT compilation in the Network Process, which triggers spurious warnings when JavaScriptCore attempts to invoke the JIT. The warning messages are harmless, but they create log spam that makes it difficult to notice actual problems.

This patch silences this expected warning in the Network Process.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1399524</commentid>
    <comment_count>1</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2018-02-15 10:58:57 -0800</bug_when>
    <thetext>30354260</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1405176</commentid>
    <comment_count>2</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2018-03-09 09:34:30 -0800</bug_when>
    <thetext>&lt;rdar://problem/35368975&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1405177</commentid>
    <comment_count>3</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2018-03-09 09:34:55 -0800</bug_when>
    <thetext>I meant this:
&lt;rdar://problem/30354260&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1430609</commentid>
    <comment_count>4</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2018-06-06 16:04:38 -0700</bug_when>
    <thetext>&lt;rdar://problem/38271229&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1430938</commentid>
    <comment_count>5</comment_count>
      <attachid>342190</attachid>
    <who name="Tadeu Zagallo">tzagallo</who>
    <bug_when>2018-06-07 11:00:03 -0700</bug_when>
    <thetext>Created attachment 342190
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1430943</commentid>
    <comment_count>6</comment_count>
      <attachid>342190</attachid>
    <who name="">mitz</who>
    <bug_when>2018-06-07 11:16:12 -0700</bug_when>
    <thetext>Comment on attachment 342190
Patch

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

&gt; Source/WTF/wtf/cocoa/Entitlements.cpp:40
&gt; +    auto cfEntitlement = adoptCF(CFStringCreateWithCString(CFAllocatorGetDefault(), entitlement, kCFStringEncodingUTF8));

We can just use kCFAllocatorDefault here. But also, would it make more sense for processHasEntitlement() to take a WTF String?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1430944</commentid>
    <comment_count>7</comment_count>
      <attachid>342190</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2018-06-07 11:16:30 -0700</bug_when>
    <thetext>Comment on attachment 342190
Patch

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

If you haven&apos;t already done so, please test this by adding a RELEASE_ASSERT(processHasEntitlement(&quot;dynamic-codesigning&quot;)) in allowJIT(), build for iOS, run it, and confirm that it doesn&apos;t crash.

r=me with fixes and testing.

&gt; Source/JavaScriptCore/jit/ExecutableAllocator.cpp:122
&gt; +#endif
&gt; +    return true;

This &quot;return true&quot; should be in an #else section.  Otherwise, you&apos;ll have unreachable code on PLATFORM(IOS).

&gt; Source/WTF/wtf/cocoa/Entitlements.cpp:51
&gt; +}

nit: add // namespace WTF

&gt; Source/WTF/wtf/cocoa/Entitlements.h:32
&gt; +}

nit: I would prefer that we add a &quot;// namespace WTF&quot; here.  This doesn&apos;t really matter right now, but if more lines get added above to take this } further away from the opening {, then the comment helps provide some context.  I&apos;d just prefer to do it all the time to make the pairing clear.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1430948</commentid>
    <comment_count>8</comment_count>
      <attachid>342190</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2018-06-07 11:19:48 -0700</bug_when>
    <thetext>Comment on attachment 342190
Patch

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

&gt;&gt; Source/WTF/wtf/cocoa/Entitlements.cpp:40
&gt;&gt; +    auto cfEntitlement = adoptCF(CFStringCreateWithCString(CFAllocatorGetDefault(), entitlement, kCFStringEncodingUTF8));
&gt; 
&gt; We can just use kCFAllocatorDefault here. But also, would it make more sense for processHasEntitlement() to take a WTF String?

I think it&apos;s equally valid to just take a C string (as is) in this case, unless you know of a specific reason to switch to a WTF String.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1430954</commentid>
    <comment_count>9</comment_count>
    <who name="">mitz</who>
    <bug_when>2018-06-07 11:28:28 -0700</bug_when>
    <thetext>(In reply to Mark Lam from comment #8)
&gt; Comment on attachment 342190 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=342190&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WTF/wtf/cocoa/Entitlements.cpp:40
&gt; &gt;&gt; +    auto cfEntitlement = adoptCF(CFStringCreateWithCString(CFAllocatorGetDefault(), entitlement, kCFStringEncodingUTF8));
&gt; &gt; 
&gt; &gt; We can just use kCFAllocatorDefault here. But also, would it make more sense for processHasEntitlement() to take a WTF String?
&gt; 
&gt; I think it&apos;s equally valid to just take a C string (as is) in this case,
&gt; unless you know of a specific reason to switch to a WTF String.

I made the comment because, just looking at this patch, I see an existing caller in possession of an NSString. That caller will now have to get a C string out of it, and then the callee will end up allocating a brand new CFString for it. Further (and perhaps this can be fixed independently), the callee is not even sharing the string buffer but instead copying it. For the new caller being introduced in this patch, I think either interface (C string or WTF String) would work just as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1430955</commentid>
    <comment_count>10</comment_count>
      <attachid>342190</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2018-06-07 11:28:50 -0700</bug_when>
    <thetext>Comment on attachment 342190
Patch

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

&gt;&gt;&gt; Source/WTF/wtf/cocoa/Entitlements.cpp:40
&gt;&gt;&gt; +    auto cfEntitlement = adoptCF(CFStringCreateWithCString(CFAllocatorGetDefault(), entitlement, kCFStringEncodingUTF8));
&gt;&gt; 
&gt;&gt; We can just use kCFAllocatorDefault here. But also, would it make more sense for processHasEntitlement() to take a WTF String?
&gt; 
&gt; I think it&apos;s equally valid to just take a C string (as is) in this case, unless you know of a specific reason to switch to a WTF String.

Lets just keep a C string to cut down on conversions. Everywhere we call it now we use some literal anyways.

&gt; Source/WebKit/Shared/mac/SandboxUtilities.mm:80
&gt;  bool processHasEntitlement(NSString *entitlement)

I&apos;d suggest just replacing the existing call sites of:

    WebKit::processHasEntitlement

With your new WTF version and removing the duplication.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1430977</commentid>
    <comment_count>11</comment_count>
      <attachid>342190</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2018-06-07 12:03:51 -0700</bug_when>
    <thetext>Comment on attachment 342190
Patch

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

&gt;&gt;&gt;&gt;&gt; Source/WTF/wtf/cocoa/Entitlements.cpp:40
&gt;&gt;&gt;&gt;&gt; +    auto cfEntitlement = adoptCF(CFStringCreateWithCString(CFAllocatorGetDefault(), entitlement, kCFStringEncodingUTF8));
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; We can just use kCFAllocatorDefault here. But also, would it make more sense for processHasEntitlement() to take a WTF String?
&gt;&gt;&gt; 
&gt;&gt;&gt; I think it&apos;s equally valid to just take a C string (as is) in this case, unless you know of a specific reason to switch to a WTF String.
&gt;&gt; 
&gt;&gt; I made the comment because, just looking at this patch, I see an existing caller in possession of an NSString. That caller will now have to get a C string out of it, and then the callee will end up allocating a brand new CFString for it. Further (and perhaps this can be fixed independently), the callee is not even sharing the string buffer but instead copying it. For the new caller being introduced in this patch, I think either interface (C string or WTF String) would work just as well.
&gt; 
&gt; Lets just keep a C string to cut down on conversions. Everywhere we call it now we use some literal anyways.

The existing callsites using an NSString should just go away. Those callsites should just use WTF::processHasEntitlement and WebKit::processHasEntitlement should go away. Everyone I saw just uses literals when calling this. C string or WTF String are fine. Though given WTF -&gt; CFString would do CFStringCreateWithCStringNoCopy you could probably use that here if you don&apos;t use WTF String.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1430993</commentid>
    <comment_count>12</comment_count>
      <attachid>342202</attachid>
    <who name="Tadeu Zagallo">tzagallo</who>
    <bug_when>2018-06-07 12:44:12 -0700</bug_when>
    <thetext>Created attachment 342202
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1430994</commentid>
    <comment_count>13</comment_count>
      <attachid>342202</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2018-06-07 12:47:15 -0700</bug_when>
    <thetext>Comment on attachment 342202
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1430999</commentid>
    <comment_count>14</comment_count>
      <attachid>342202</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-06-07 13:00:03 -0700</bug_when>
    <thetext>Comment on attachment 342202
Patch

Rejecting attachment 342202 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-01&apos;, &apos;build&apos;, &apos;--no-clean&apos;, &apos;--no-update&apos;, &apos;--build-style=release&apos;, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Last 5000 characters of output:
no-shadow -Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wbool-conversion -Wenum-conversion -Wsign-compare -Wno-shorten-64-to-32 -Wnewline-eof -Wno-c++11-extensions -DNDEBUG -DENABLE_3D_TRANSFORMS -DENABLE_APPLE_PAY -DENABLE_APPLICATION_MANIFEST -DENABLE_ATTACHMENT_ELEMENT -DENABLE_AVF_CAPTIONS -DENABLE_CACHE_PARTITIONING -DENABLE_CHANNEL_MESSAGING -DENABLE_CONTENT_FILTERING -DENABLE_CSS_ANIMATIONS_LEVEL_2 -DENABLE_CSS_BOX_DECORATION_BREAK -DENABLE_CSS_COMPOSITING -DENABLE_CSS_SCROLL_SNAP -DENABLE_CSS_SELECTORS_LEVEL4 -DENABLE_CSS_TRAILING_WORD -DENABLE_CURSOR_VISIBILITY -DENABLE_DASHBOARD_SUPPORT -DENABLE_DATACUE_VALUE -DENABLE_EXPERIMENTAL_FEATURES -DENABLE_FILTERS_LEVEL_2 -DENABLE_FTL_JIT -DENABLE_FULLSCREEN_API -DENABLE_GAMEPAD -DENABLE_GEOLOCATION -DENABLE_ICONDATABASE -DENABLE_INDEXED_DATABASE -DENABLE_INDEXED_DATABASE_IN_WORKERS -DENABLE_INTERSECTION_OBSERVER -DENABLE_INTL -DENABLE_INTL_NUMBER_FORMAT_TO_PARTS -DENABLE_INTL_PLURAL_RULES -DENABLE_JS_ASYNC_ITERATION -DENABLE_KEYBOARD_CODE_ATTRIBUTE -DENABLE_KEYBOARD_KEY_ATTRIBUTE -DENABLE_LEGACY_CSS_VENDOR_PREFIXES -DENABLE_LEGACY_CUSTOM_PROTOCOL_MANAGER -DENABLE_LEGACY_ENCRYPTED_MEDIA -DENABLE_MATHML -DENABLE_MEDIA_CONTROLS_SCRIPT -DENABLE_MEDIA_SOURCE -DENABLE_MEDIA_STREAM -DENABLE_METER_ELEMENT -DENABLE_MOUSE_CURSOR_SCALE -DENABLE_NOTIFICATIONS -DENABLE_PAYMENT_REQUEST -DENABLE_PDFKIT_PLUGIN -DENABLE_POINTER_LOCK -DENABLE_PUBLIC_SUFFIX_LIST -DENABLE_REMOTE_INSPECTOR -DENABLE_RESOURCE_USAGE -DENABLE_RUBBER_BANDING -DENABLE_SERVICE_CONTROLS -DENABLE_SERVICE_WORKER -DENABLE_SPEECH_SYNTHESIS -DENABLE_STREAMS_API -DENABLE_SUBTLE_CRYPTO -DENABLE_SVG_FONTS -DENABLE_TELEPHONE_NUMBER_DETECTION -DENABLE_TEXT_AUTOSIZING -DENABLE_USER_MESSAGE_HANDLERS -DENABLE_USERSELECT_ALL -DENABLE_VIDEO -DENABLE_VIDEO_PRESENTATION_MODE -DENABLE_VIDEO_TRACK -DENABLE_VIDEO_USES_ELEMENT_FULLSCREEN -DENABLE_WEB_AUDIO -DENABLE_WEB_AUTHN -DENABLE_WEB_RTC -DENABLE_WEBGL -DENABLE_WEBGL2 -DENABLE_WEBGPU -DENABLE_WIRELESS_PLAYBACK_TARGET -DENABLE_XSLT -DU_HIDE_DEPRECATED_API -DU_DISABLE_RENAMING=1 -DU_SHOW_CPLUSPLUS_API=0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -fasm-blocks -fstrict-aliasing -Wdeprecated-declarations -Winvalid-offsetof -mmacosx-version-min=10.12 -g -fvisibility=hidden -fvisibility-inlines-hidden -fno-threadsafe-statics -Wno-sign-conversion -Winfinite-recursion -Wmove -iquote /Volumes/Data/EWS/WebKit/WebKitBuild/JavaScriptCore.build/Release/JavaScriptCore.build/JavaScriptCore-generated-files.hmap -I/Volumes/Data/EWS/WebKit/WebKitBuild/JavaScriptCore.build/Release/JavaScriptCore.build/JavaScriptCore-own-target-headers.hmap -I/Volumes/Data/EWS/WebKit/WebKitBuild/JavaScriptCore.build/Release/JavaScriptCore.build/JavaScriptCore-all-target-headers.hmap -iquote /Volumes/Data/EWS/WebKit/WebKitBuild/JavaScriptCore.build/Release/JavaScriptCore.build/JavaScriptCore-project-headers.hmap -I/Volumes/Data/EWS/WebKit/WebKitBuild/Release/include -I/Volumes/Data/EWS/WebKit/WebKitBuild/Release/DerivedSources/JavaScriptCore -I. -I/Volumes/Data/EWS/WebKit/WebKitBuild/Release/usr/local/include -I/Volumes/Data/EWS/WebKit/WebKitBuild/JavaScriptCore.build/Release/JavaScriptCore.build/DerivedSources/x86_64 -I/Volumes/Data/EWS/WebKit/WebKitBuild/JavaScriptCore.build/Release/JavaScriptCore.build/DerivedSources -Wall -Wextra -Wcast-qual -Wchar-subscripts -Wextra-tokens -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wpacked -Wpointer-arith -Wredundant-decls -Wundef -Wwrite-strings -Wexit-time-destructors -Wglobal-constructors -Wtautological-compare -Wimplicit-fallthrough -F/Volumes/Data/EWS/WebKit/WebKitBuild/Release -isystem /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/System.framework/PrivateHeaders --system-header-prefix=unicode/ -include /Volumes/Data/EWS/WebKit/WebKitBuild/PrecompiledHeaders/JavaScriptCorePrefix-ceviypvlpozbbhfgkscwtnuodydm/JavaScriptCorePrefix.h -MMD -MT dependencies -MF /Volumes/Data/EWS/WebKit/WebKitBuild/JavaScriptCore.build/Release/JavaScriptCore.build/Objects-normal/x86_64/UnifiedSource80.d --serialize-diagnostics /Volumes/Data/EWS/WebKit/WebKitBuild/JavaScriptCore.build/Release/JavaScriptCore.build/Objects-normal/x86_64/UnifiedSource80.dia -c /Volumes/Data/EWS/WebKit/WebKitBuild/Release/DerivedSources/JavaScriptCore/unified-sources/UnifiedSource80.cpp -o /Volumes/Data/EWS/WebKit/WebKitBuild/JavaScriptCore.build/Release/JavaScriptCore.build/Objects-normal/x86_64/UnifiedSource80.o

** BUILD FAILED **


The following build commands failed:
	CompileC /Volumes/Data/EWS/WebKit/WebKitBuild/JavaScriptCore.build/Release/JavaScriptCore.build/Objects-normal/x86_64/UnifiedSource2-mm.o /Volumes/Data/EWS/WebKit/WebKitBuild/Release/DerivedSources/JavaScriptCore/unified-sources/UnifiedSource2-mm.mm normal x86_64 objective-c++ com.apple.compilers.llvm.clang.1_0.compiler
(1 failure)

Full output: http://webkit-queues.webkit.org/results/8063521</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1431021</commentid>
    <comment_count>15</comment_count>
      <attachid>342206</attachid>
    <who name="Tadeu Zagallo">tzagallo</who>
    <bug_when>2018-06-07 14:22:25 -0700</bug_when>
    <thetext>Created attachment 342206
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1431023</commentid>
    <comment_count>16</comment_count>
      <attachid>342206</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2018-06-07 14:38:47 -0700</bug_when>
    <thetext>Comment on attachment 342206
Patch for landing

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

&gt; Source/WebKit/ChangeLog:10
&gt; +        Check that the current process has the correct entitlements before
&gt; +        trying to allocate JIT memory to silence warnings.

style nit: You shouldn&apos;t copy-paste the same changelog text in every changelog. The different changelog entries should contain what you did in that subdirectory of the project.

So this should say something like:
use the new WTF API for this instead of the one defined in WebKit.

&gt; Source/WebKit/ChangeLog:13
&gt; +        (WebKit::processHasEntitlement): Move the implementation down to WTF to share with JavaScriptCore

This seems out of date.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1431031</commentid>
    <comment_count>17</comment_count>
      <attachid>342208</attachid>
    <who name="Tadeu Zagallo">tzagallo</who>
    <bug_when>2018-06-07 14:58:31 -0700</bug_when>
    <thetext>Created attachment 342208
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1431033</commentid>
    <comment_count>18</comment_count>
      <attachid>342208</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2018-06-07 14:59:29 -0700</bug_when>
    <thetext>Comment on attachment 342208
Patch for landing

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

&gt; Source/WTF/ChangeLog:7
&gt; +        Reviewed by NOBODY (OOPS!).

needs to be updated (ditto below)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1431047</commentid>
    <comment_count>19</comment_count>
      <attachid>342208</attachid>
    <who name="Tadeu Zagallo">tzagallo</who>
    <bug_when>2018-06-07 15:16:03 -0700</bug_when>
    <thetext>Comment on attachment 342208
Patch for landing

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

&gt;&gt; Source/WTF/ChangeLog:7
&gt;&gt; +        Reviewed by NOBODY (OOPS!).
&gt; 
&gt; needs to be updated (ditto below)

Commit queue should automatically update it, right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1431050</commentid>
    <comment_count>20</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2018-06-07 15:21:47 -0700</bug_when>
    <thetext>(In reply to Tadeu Zagallo from comment #19)
&gt; Comment on attachment 342208 [details]
&gt; Patch for landing
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=342208&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WTF/ChangeLog:7
&gt; &gt;&gt; +        Reviewed by NOBODY (OOPS!).
&gt; &gt; 
&gt; &gt; needs to be updated (ditto below)
&gt; 
&gt; Commit queue should automatically update it, right?

Only if someone r+ the patch first.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1431053</commentid>
    <comment_count>21</comment_count>
      <attachid>342212</attachid>
    <who name="Tadeu Zagallo">tzagallo</who>
    <bug_when>2018-06-07 15:28:44 -0700</bug_when>
    <thetext>Created attachment 342212
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1431067</commentid>
    <comment_count>22</comment_count>
      <attachid>342212</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-06-07 16:14:10 -0700</bug_when>
    <thetext>Comment on attachment 342212
Patch for landing

Clearing flags on attachment: 342212

Committed r232604: &lt;https://trac.webkit.org/changeset/232604&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1431068</commentid>
    <comment_count>23</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-06-07 16:14:12 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>342190</attachid>
            <date>2018-06-07 11:00:03 -0700</date>
            <delta_ts>2018-06-07 12:44:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-182605-20180607110002.patch</filename>
            <type>text/plain</type>
            <size>16676</size>
            <attacher name="Tadeu Zagallo">tzagallo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMyNTQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
NjE0ODY4ZmUzNWQwYTQ1ODFkZGUzNTI5MWM4ZDdhNDkzNGM4MDQ0Li44NTQ2OTJjMWM3NGQxMDQy
NmY4ZWM3YjQxNTBmMjJkMGEwMmNhMWJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOCBAQAorMjAxOC0wNi0wNyAgVGFkZXUgWmFnYWxsbyAgPHR6YWdhbGxvQGFwcGxlLmNv
bT4KKworICAgICAgICBEb24ndCB0cnkgdG8gYWxsb2NhdGUgSklUIG1lbW9yeSBpZiB3ZSBkb24n
dCBoYXZlIHRoZSBKSVQgZW50aXRsZW1lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE4MjYwNQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzgyNzEy
Mjk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ2hl
Y2sgdGhhdCB0aGUgY3VycmVudCBwcm9jZXNzIGhhcyB0aGUgY29ycmVjdCBlbnRpdGxlbWVudHMg
YmVmb3JlCisgICAgICAgIHRyeWluZyB0byBhbGxvY2F0ZSBKSVQgbWVtb3J5IHRvIHNpbGVuY2Ug
d2FybmluZ3MuCisKKyAgICAgICAgKiBqaXQvRXhlY3V0YWJsZUFsbG9jYXRvci5jcHA6CisgICAg
ICAgIChKU0M6OmFsbG93SklUKTogSGVscGVyIHRoYXQgY2hlY2tzIGVudGl0bGVtZW50cyBvbiBp
T1MgYW5kIHJldHVybnMgdHJ1ZSBpbiBvdGhlciBwbGF0Zm9ybXMKKyAgICAgICAgKEpTQzo6Rml4
ZWRWTVBvb2xFeGVjdXRhYmxlQWxsb2NhdG9yOjpGaXhlZFZNUG9vbEV4ZWN1dGFibGVBbGxvY2F0
b3IpOiBjaGVjayBhbGxvd0pJVCBiZWZvcmUgdHJ5aW5nIHRvIGFsbG9jYXRlCisKIDIwMTgtMDYt
MDUgIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CiAKICAgICAgICAgQWRqdXN0
IGNvbXBpbGUgYW5kIHJ1bnRpbWUgZmxhZ3MgdG8gbWF0Y2ggc2hpcHBhYmxlIHN0YXRlIG9mIGZl
YXR1cmVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCmluZGV4IDA1ZGI0MjQ0N2M1OGZhMGJmMzdlN2E4ZTUxNGVhZmY3MzE3NjdhODUuLmIx
ZmVjMWFiYTExNTdlNjhiZWRhZGU3ZDU5NmZiNTA3ZmUzY2YwZjIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAg
QEAKKzIwMTgtMDYtMDcgIFRhZGV1IFphZ2FsbG8gIDx0emFnYWxsb0BhcHBsZS5jb20+CisKKyAg
ICAgICAgRG9uJ3QgdHJ5IHRvIGFsbG9jYXRlIEpJVCBtZW1vcnkgaWYgd2UgZG9uJ3QgaGF2ZSB0
aGUgSklUIGVudGl0bGVtZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xODI2MDUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM4MjcxMjI5PgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENoZWNrIHRoYXQg
dGhlIGN1cnJlbnQgcHJvY2VzcyBoYXMgdGhlIGNvcnJlY3QgZW50aXRsZW1lbnRzIGJlZm9yZQor
ICAgICAgICB0cnlpbmcgdG8gYWxsb2NhdGUgSklUIG1lbW9yeSB0byBzaWxlbmNlIHdhcm5pbmdz
LgorCisgICAgICAgICogV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICog
d3RmL1BsYXRmb3JtTWFjLmNtYWtlOgorICAgICAgICAqIHd0Zi9jb2NvYS9FbnRpdGxlbWVudHMu
Y3BwOgorICAgICAgICAoV1RGOjpwcm9jZXNzSGFzRW50aXRsZW1lbnQpOiBNb3ZlZCBoZXJlIGZy
b20gU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL1NhbmRib3hVdGlsaXRpZXMubW0uCisgICAgICAg
ICogd3RmL2NvY29hL0VudGl0bGVtZW50cy5oOiBBZGRlZC4KKwogMjAxOC0wNi0wNSAgRGFyaW4g
QWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBSZXRpcmUgRGlzcGF0
Y2hQdHIsIGFuZCBhZGQgbW9yZSBtb3ZlIHNlbWFudGljcyBhbmQgc2ltcGxlciAjaWZzIHRvIG90
aGVyIHNtYXJ0IHBvaW50ZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGRlNTIwNjAxODU5NGIyMDBkY2JjZWFkYmQ3
OWI0NmZmMGQ4OWZmNmUuLmE0M2JkN2I0MTI3ZmQ3OWZmNjAzMjJlM2VkOWNhMTljYTY2ODM5NGQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTgtMDYtMDcgIFRhZGV1IFphZ2FsbG8gIDx0
emFnYWxsb0BhcHBsZS5jb20+CisKKyAgICAgICAgRG9uJ3QgdHJ5IHRvIGFsbG9jYXRlIEpJVCBt
ZW1vcnkgaWYgd2UgZG9uJ3QgaGF2ZSB0aGUgSklUIGVudGl0bGVtZW50CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODI2MDUKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzM4MjcxMjI5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIENoZWNrIHRoYXQgdGhlIGN1cnJlbnQgcHJvY2VzcyBoYXMgdGhlIGNvcnJl
Y3QgZW50aXRsZW1lbnRzIGJlZm9yZQorICAgICAgICB0cnlpbmcgdG8gYWxsb2NhdGUgSklUIG1l
bW9yeSB0byBzaWxlbmNlIHdhcm5pbmdzLgorCisgICAgICAgICogU2hhcmVkL21hYy9TYW5kYm94
VXRpbGl0aWVzLm1tOgorICAgICAgICAoV2ViS2l0Ojpwcm9jZXNzSGFzRW50aXRsZW1lbnQpOiBN
b3ZlIHRoZSBpbXBsZW1lbnRhdGlvbiBkb3duIHRvIFdURiB0byBzaGFyZSB3aXRoIEphdmFTY3Jp
cHRDb3JlCisKIDIwMTgtMDYtMDYgIEplcmVteSBKb25lcyAgPGplcmVteWpAYXBwbGUuY29tPgog
CiAgICAgICAgIGF0dGVudWF0aW9uRmFjdG9yIHNob3VsZCBiZSBpbiByYW5nZSBbMCwxXQpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9yLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvRXhlY3V0YWJsZUFsbG9jYXRvci5jcHAKaW5k
ZXggM2U3ZTdlNjFmYzJjZGY2ZDUyYTg3Y2YwZjk2ZTQyZjY2NzViMmUwZi4uZWYwMjFiNTgxODU3
ZDI3MzlmMzY5M2UyOGVkMmNjMGVhZjNhMzRmNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0V4ZWN1dGFibGVBbGxvY2F0b3IuY3BwCkBAIC0zOCw2ICszOCwxMCBAQAogI2lu
Y2x1ZGUgPHN5cy9tbWFuLmg+CiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKElPUykKKyNpbmNsdWRl
IDx3dGYvY29jb2EvRW50aXRsZW1lbnRzLmg+CisjZW5kaWYKKwogI2luY2x1ZGUgIkxpbmtCdWZm
ZXIuaCIKICNpbmNsdWRlICJNYWNyb0Fzc2VtYmxlci5oIgogCkBAIC0xMTAsMTIgKzExNCwyMyBA
QCBKU19FWFBPUlRfUFJJVkFURSBKSVRXcml0ZVNlcGFyYXRlSGVhcHNGdW5jdGlvbiBqaXRXcml0
ZVNlcGFyYXRlSGVhcHNGdW5jdGlvbjsKIHN0YXRpYyB1aW50cHRyX3Qgc3RhcnRPZkZpeGVkV3Jp
dGFibGVNZW1vcnlQb29sOwogI2VuZGlmCiAKK3N0YXRpYyBib29sIGFsbG93SklUKCkKK3sKKyNp
ZiBQTEFURk9STShJT1MpCisgICAgcmV0dXJuIHByb2Nlc3NIYXNFbnRpdGxlbWVudCgiZHluYW1p
Yy1jb2Rlc2lnbmluZyIpOworI2VuZGlmCisgICAgcmV0dXJuIHRydWU7Cit9CisKIGNsYXNzIEZp
eGVkVk1Qb29sRXhlY3V0YWJsZUFsbG9jYXRvciA6IHB1YmxpYyBNZXRhQWxsb2NhdG9yIHsKICAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBGaXhlZFZNUG9vbEV4ZWN1
dGFibGVBbGxvY2F0b3IoKQogICAgICAgICA6IE1ldGFBbGxvY2F0b3Ioaml0QWxsb2NhdGlvbkdy
YW51bGUpIC8vIHJvdW5kIHVwIGFsbCBhbGxvY2F0aW9ucyB0byAzMiBieXRlcwogICAgIHsKKyAg
ICAgICAgaWYgKCFhbGxvd0pJVCgpKQorICAgICAgICAgICAgcmV0dXJuOworCiAgICAgICAgIHNp
emVfdCByZXNlcnZhdGlvblNpemU7CiAgICAgICAgIGlmIChPcHRpb25zOjpqaXRNZW1vcnlSZXNl
cnZhdGlvblNpemUoKSkKICAgICAgICAgICAgIHJlc2VydmF0aW9uU2l6ZSA9IE9wdGlvbnM6Ompp
dE1lbW9yeVJlc2VydmF0aW9uU2l6ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9XVEYueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKaW5kZXggODYyYzdjY2JjMmYwOGUwYzZlZThlZTIwNzI4MTU2ZWRkZWY3ZDNmZi4u
NjQ3YTkxMDViNzdjYzQwZmQxMTIzZjBjOTZhMTZjYjkwNTM3NjNlZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV1RGL1dU
Ri54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC00NCw2ICs0NCw3IEBACiAJCTBGRUMzQzVF
MUYzNjhBOTcwMEY1OUI2QyAvKiBSZWFkV3JpdGVMb2NrLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRUMzQzVDMUYzNjhBOTcwMEY1OUI2QyAvKiBS
ZWFkV3JpdGVMb2NrLmNwcCAqLzsgfTsKIAkJMEZGRjE5REMxQkIzMzRFQjAwODg2RDkxIC8qIFBh
cmFsbGVsSGVscGVyUG9vbC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwRkZGMTlEQTFCQjMzNEVCMDA4ODZEOTEgLyogUGFyYWxsZWxIZWxwZXJQb29s
LmNwcCAqLzsgfTsKIAkJMTQwMjJGNDExOEY1QzNGQzAwN0ZGMEVCIC8qIGxpYmJtYWxsb2MuYSBp
biBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0MDIyRjQw
MThGNUMzRkMwMDdGRjBFQiAvKiBsaWJibWFsbG9jLmEgKi87IH07CisJCTE0M0RERTk2MjBDOEJD
MzcwMDdGNzZGQSAvKiBFbnRpdGxlbWVudHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMTQzRERFOTUyMEM4QkMzNzAwN0Y3NkZBIC8qIEVudGl0bGVt
ZW50cy5jcHAgKi87IH07CiAJCTE0M0Y2MTFGMTU2NUYwRjkwMERCNTE0QSAvKiBSQU1TaXplLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0M0Y2MTFE
MTU2NUYwRjkwMERCNTE0QSAvKiBSQU1TaXplLmNwcCAqLzsgfTsKIAkJMTQ0N0FFQzYxOEZDRTU3
NzAwQjNEN0ZGIC8qIEZvdW5kYXRpb24uZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTQ0N0FFQzUxOEZDRTU3NzAwQjNEN0ZGIC8qIEZv
dW5kYXRpb24uZnJhbWV3b3JrICovOyB9OwogCQkxNDQ3QUVDNzE4RkNFNTgwMDBCM0Q3RkYgLyog
bGliV1RGLmEgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1RDI0N0I2MjE0Njg5Qjg2MDBFNzhCNzYgLyogbGliV1RGLmEgKi87IH07CkBAIC0yNjgsNiAr
MjY5LDggQEAKIAkJMEZGRjE5REIxQkIzMzRFQjAwODg2RDkxIC8qIFBhcmFsbGVsSGVscGVyUG9v
bC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQYXJhbGxlbEhlbHBlclBvb2wu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMTMyNzQzOTI0RkM1NEU0NjlGNUE4RTZF
IC8qIFN0ZFVub3JkZXJlZFNldC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBT
dGRVbm9yZGVyZWRTZXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMTQwMjJGNDAx
OEY1QzNGQzAwN0ZGMEVCIC8qIGxpYmJtYWxsb2MuYSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IGFyY2hpdmUuYXI7IHBhdGggPSBsaWJibWFsbG9jLmE7
IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CisJCTE0M0RERTk1MjBDOEJDMzcw
MDdGNzZGQSAvKiBFbnRpdGxlbWVudHMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gRW50aXRsZW1lbnRzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MTQzRERFOTcyMEM4QkU5OTAwN0Y3NkZBIC8qIEVudGl0bGVtZW50cy5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBFbnRpdGxlbWVudHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMTQzRjYxMUQxNTY1RjBGOTAwREI1MTRBIC8qIFJBTVNpemUuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUkFNU2l6ZS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTE0M0Y2MTFFMTU2NUYwRjkwMERCNTE0QSAvKiBSQU1TaXplLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJBTVNpemUuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMTQ0N0FFQkUxOEZDRTU2OTAwQjNEN0ZGIC8qIGxpYm1ibWFsbG9jLmR5
bGliICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGV4cGxpY2l0RmlsZVR5cGUgPSAiY29t
cGlsZWQubWFjaC1vLmR5bGliIjsgaW5jbHVkZUluSW5kZXggPSAwOyBwYXRoID0gbGlibWJtYWxs
b2MuZHlsaWI7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CkBAIC0xMzE1LDYg
KzEzMTgsOCBAQAogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKIAkJCQlFMzhD
NDEyNDFFQjRFMDRDMDA0Mjk1N0QgLyogQ1BVVGltZUNvY29hLm1tICovLAorCQkJCTE0M0RERTk1
MjBDOEJDMzcwMDdGNzZGQSAvKiBFbnRpdGxlbWVudHMuY3BwICovLAorCQkJCTE0M0RERTk3MjBD
OEJFOTkwMDdGNzZGQSAvKiBFbnRpdGxlbWVudHMuaCAqLywKIAkJCQk3QTZFQkEzMzIwNzQ2QzM0
MDA0RjlDNDQgLyogTWFjaFNlbmRSaWdodC5jcHAgKi8sCiAJCQkJQURGMkNFNjUxRTM5RjEwNjAw
Njg4OURCIC8qIE1lbW9yeUZvb3RwcmludENvY29hLmNwcCAqLywKIAkJCQlBRDg5QjZCOTFFNjQx
NTBGMDA5MDcwN0YgLyogTWVtb3J5UHJlc3N1cmVIYW5kbGVyQ29jb2EubW0gKi8sCkBAIC0xNDY1
LDYgKzE0NzAsNyBAQAogCQkJCUE4QTQ3M0FFMTUxQTgyNUIwMDQxMjNGRiAvKiBkaXktZnAuY2Mg
aW4gU291cmNlcyAqLywKIAkJCQlBOEE0NzNCMDE1MUE4MjVCMDA0MTIzRkYgLyogZG91YmxlLWNv
bnZlcnNpb24uY2MgaW4gU291cmNlcyAqLywKIAkJCQlBOEE0NzNCQTE1MUE4MjVCMDA0MTIzRkYg
LyogZHRvYS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkxNDNEREU5NjIwQzhCQzM3MDA3Rjc2RkEg
LyogRW50aXRsZW1lbnRzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4QTQ3M0IzMTUxQTgyNUIw
MDQxMjNGRiAvKiBmYXN0LWR0b2EuY2MgaW4gU291cmNlcyAqLywKIAkJCQkwRjdDNUZCNjFEODg1
Q0YyMDA0NEY1RTIgLyogRmFzdEJpdFZlY3Rvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBOEE0
NzNDMzE1MUE4MjVCMDA0MTIzRkYgLyogRmFzdE1hbGxvYy5jcHAgaW4gU291cmNlcyAqLywKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtTWFjLmNtYWtlIGIvU291cmNlL1dURi93
dGYvUGxhdGZvcm1NYWMuY21ha2UKaW5kZXggNzRiOGRkOTA2YWQ4YWVjOWJmY2UwM2NlODI1YmZl
ZTAyYzYwZTQ5NS4uYTI2ZTA1MDNlNWYzNWU5OTRmMmMzOWIzOTkxZjNkOGNlNjQ0YjM1NiAxMDA2
NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1NYWMuY21ha2UKKysrIGIvU291cmNlL1dU
Ri93dGYvUGxhdGZvcm1NYWMuY21ha2UKQEAgLTEwLDYgKzEwLDcgQEAgbGlzdChBUFBFTkQgV1RG
X0xJQlJBUklFUwogbGlzdChBUFBFTkQgV1RGX1BVQkxJQ19IRUFERVJTCiAgICAgY2YvVHlwZUNh
c3RzQ0YuaAogCisgICAgY29jb2EvRW50aXRsZW1lbnRzLmgKICAgICBjb2NvYS9NYWNoU2VuZFJp
Z2h0LmgKICAgICBjb2NvYS9Tb2Z0TGlua2luZy5oCiAKQEAgLTQzLDYgKzQ0LDcgQEAgbGlzdChB
UFBFTkQgV1RGX1NPVVJDRVMKICAgICB0ZXh0L21hYy9UZXh0QnJlYWtJdGVyYXRvckludGVybmFs
SUNVTWFjLm1tCiAKICAgICBjb2NvYS9DUFVUaW1lQ29jb2EubW0KKyAgICBjb2NvYS9FbnRpdGxl
bWVudHMuY3BwCiAgICAgY29jb2EvTWFjaFNlbmRSaWdodC5jcHAKICAgICBjb2NvYS9NZW1vcnlG
b290cHJpbnRDb2NvYS5jcHAKICAgICBjb2NvYS9NZW1vcnlQcmVzc3VyZUhhbmRsZXJDb2NvYS5t
bQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvY29jb2EvRW50aXRsZW1lbnRzLmNwcCBiL1Nv
dXJjZS9XVEYvd3RmL2NvY29hL0VudGl0bGVtZW50cy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmQ1YzAwYjYy
MmQyNDA4NmZhMjVhMjRiZDViZjMzOGVhYzg1MWZjMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XVEYvd3RmL2NvY29hL0VudGl0bGVtZW50cy5jcHAKQEAgLTAsMCArMSw1MSBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJFbnRpdGxlbWVudHMuaCIKKwor
I2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KKyNpbmNsdWRlIDx3dGYvc3BpL2NvY29hL1NlY3Vy
aXR5U1BJLmg+CisKK25hbWVzcGFjZSBXVEYgeworCitib29sIHByb2Nlc3NIYXNFbnRpdGxlbWVu
dChjb25zdCBjaGFyKiBlbnRpdGxlbWVudCkKK3sKKyAgICBhdXRvIHRhc2sgPSBhZG9wdENGKFNl
Y1Rhc2tDcmVhdGVGcm9tU2VsZihDRkFsbG9jYXRvckdldERlZmF1bHQoKSkpOworICAgIGlmICgh
dGFzaykKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgYXV0byBjZkVudGl0bGVtZW50ID0g
YWRvcHRDRihDRlN0cmluZ0NyZWF0ZVdpdGhDU3RyaW5nKENGQWxsb2NhdG9yR2V0RGVmYXVsdCgp
LCBlbnRpdGxlbWVudCwga0NGU3RyaW5nRW5jb2RpbmdVVEY4KSk7CisgICAgYXV0byB2YWx1ZSA9
IGFkb3B0Q0YoU2VjVGFza0NvcHlWYWx1ZUZvckVudGl0bGVtZW50KHRhc2suZ2V0KCksIGNmRW50
aXRsZW1lbnQuZ2V0KCksIG51bGxwdHIpKTsKKyAgICBpZiAoIXZhbHVlKQorICAgICAgICByZXR1
cm4gZmFsc2U7CisKKyAgICBpZiAoQ0ZHZXRUeXBlSUQodmFsdWUuZ2V0KCkpICE9IENGQm9vbGVh
bkdldFR5cGVJRCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICByZXR1cm4gQ0ZCb29s
ZWFuR2V0VmFsdWUoc3RhdGljX2Nhc3Q8Q0ZCb29sZWFuUmVmPih2YWx1ZS5nZXQoKSkpOworfQor
Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9jb2NvYS9FbnRpdGxlbWVudHMuaCBiL1Nv
dXJjZS9XVEYvd3RmL2NvY29hL0VudGl0bGVtZW50cy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgzMWRhNjg3YmRi
OWRmMzc5M2M0MzgxOTMyYzBhOTIwYjVhNTg3YWMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V1RGL3d0Zi9jb2NvYS9FbnRpdGxlbWVudHMuaApAQCAtMCwwICsxLDM0IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2lmIFBMQVRGT1JNKENPQ09BKQorCituYW1lc3BhY2UgV1RGIHsKKworV1RGX0VYUE9SVCBi
b29sIHByb2Nlc3NIYXNFbnRpdGxlbWVudChjb25zdCBjaGFyKiBlbnRpdGxlbWVudCk7CisKK30K
KworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvU2FuZGJveFV0
aWxpdGllcy5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9TYW5kYm94VXRpbGl0aWVzLm1t
CmluZGV4IGQzODY2NjdiOTgxM2Q0MWJjODlhNjdhNTI4YTc2MjI2YTFlNjc3NGUuLjNkNjk1ZjRk
MTkyY2U3OWFjYzdjM2FjMzBkNjVhYWIwYTMxZDE5YzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL21hYy9TYW5kYm94VXRpbGl0aWVzLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL21hYy9TYW5kYm94VXRpbGl0aWVzLm1tCkBAIC0yOSw3ICsyOSw3IEBACiAjaW1wb3J0IDxh
cnJheT4KICNpbXBvcnQgPHN5cy9wYXJhbS5oPgogI2ltcG9ydCA8d3RmL09TT2JqZWN0UHRyLmg+
Ci0jaW1wb3J0IDx3dGYvc3BpL2NvY29hL1NlY3VyaXR5U1BJLmg+CisjaW1wb3J0IDx3dGYvY29j
b2EvRW50aXRsZW1lbnRzLmg+CiAjaW1wb3J0IDx3dGYvc3BpL2Rhcndpbi9TYW5kYm94U1BJLmg+
CiAjaW1wb3J0IDx3dGYvc3BpL2Rhcndpbi9YUENTUEkuaD4KICNpbXBvcnQgPHd0Zi90ZXh0L1dU
RlN0cmluZy5oPgpAQCAtNzksMTggKzc5LDcgQEAgU3RyaW5nIHBhdGhGb3JQcm9jZXNzQ29udGFp
bmVyKCkKIAogYm9vbCBwcm9jZXNzSGFzRW50aXRsZW1lbnQoTlNTdHJpbmcgKmVudGl0bGVtZW50
KQogewotICAgIGF1dG8gdGFzayA9IGFkb3B0Q0YoU2VjVGFza0NyZWF0ZUZyb21TZWxmKENGQWxs
b2NhdG9yR2V0RGVmYXVsdCgpKSk7Ci0gICAgaWYgKCF0YXNrKQotICAgICAgICByZXR1cm4gZmFs
c2U7Ci0KLSAgICBhdXRvIHZhbHVlID0gYWRvcHRDRihTZWNUYXNrQ29weVZhbHVlRm9yRW50aXRs
ZW1lbnQodGFzay5nZXQoKSwgKF9fYnJpZGdlIENGU3RyaW5nUmVmKWVudGl0bGVtZW50LCBudWxs
cHRyKSk7Ci0gICAgaWYgKCF2YWx1ZSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgaWYg
KENGR2V0VHlwZUlEKHZhbHVlLmdldCgpKSAhPSBDRkJvb2xlYW5HZXRUeXBlSUQoKSkKLSAgICAg
ICAgcmV0dXJuIGZhbHNlOwotCi0gICAgcmV0dXJuIENGQm9vbGVhbkdldFZhbHVlKHN0YXRpY19j
YXN0PENGQm9vbGVhblJlZj4odmFsdWUuZ2V0KCkpKTsKKyAgICByZXR1cm4gV1RGOjpwcm9jZXNz
SGFzRW50aXRsZW1lbnQoZW50aXRsZW1lbnQuVVRGOFN0cmluZyk7CiB9CiAKIGJvb2wgY29ubmVj
dGVkUHJvY2Vzc0hhc0VudGl0bGVtZW50KHhwY19jb25uZWN0aW9uX3QgY29ubmVjdGlvbiwgY29u
c3QgY2hhciAqZW50aXRsZW1lbnQpCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29s
cy9DaGFuZ2VMb2cKaW5kZXggODliNTMyYTM4NmQ2ZTYwMmZmMWIzY2EyZmZmOWUwY2MxODBiYWFk
NC4uNGNiNGUzZjk3ZjFmYjhmNmQwZWRlOThmNGQxNWFiZjI5NTcyNDhiZiAxMDA2NDQKLS0tIGEv
VG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisy
MDE4LTA2LTA3ICBUYWRldSBaYWdhbGxvICA8dHphZ2FsbG9AYXBwbGUuY29tPgorCisgICAgICAg
IERvbid0IHRyeSB0byBhbGxvY2F0ZSBKSVQgbWVtb3J5IGlmIHdlIGRvbid0IGhhdmUgdGhlIEpJ
VCBlbnRpdGxlbWVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTgyNjA1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zODI3MTIyOT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDaGVjayB0aGF0IHRoZSBj
dXJyZW50IHByb2Nlc3MgaGFzIHRoZSBjb3JyZWN0IGVudGl0bGVtZW50cyBiZWZvcmUKKyAgICAg
ICAgdHJ5aW5nIHRvIGFsbG9jYXRlIEpJVCBtZW1vcnkgdG8gc2lsZW5jZSB3YXJuaW5ncy4KKwor
ICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOiBpT1MgcmVxdWlyZXMgdGhlIFNlY3VyaXR5IGZyYW1ld29yayB0byBjaGVjayBlbnRp
dGxlbWVudHMKKwogMjAxOC0wNi0wNSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgog
CiAgICAgICAgIFJlZ3Jlc3Npb24ocjIzMjA4Mik6IFdlYnNpdGVzIGdldCBsb2FkZWQgaW5zaWRl
IG9mIE1lc3NhZ2VzIEFwcCBjaGF0IHRyYW5zY3JpcHQKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5k
ZXggMTMxNjdhODkyYTRiZjk0NmI4MGFiNTVhN2I1NmE3MTBlODA5MTlmYy4uNTkwNzIwZDQ5MjBk
NDYxZTk3OTU1NWE5ZDNlZjEwYWEyZGE4YTZmYyAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAg
LTQ3LDYgKzQ3LDcgQEAKIAkJMEY1NjUxRjcxRkNFNEREQzAwMzEwRkJDIC8qIE5vSGlzdG9yeUl0
ZW1TY3JvbGxUb0ZyYWdtZW50Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMEY1NjUxRjYxRkNFNEREQjAwMzEwRkJDIC8qIE5vSGlzdG9yeUl0ZW1TY3Jv
bGxUb0ZyYWdtZW50Lm1tICovOyB9OwogCQkwRjU2NTFGOTFGQ0U1MTM1MDAzMTBGQkMgLyogc2Ny
b2xsLXRvLWFuY2hvci5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDBGNTY1MUY4MUZDRTUwRTgwMDMxMEZCQyAvKiBzY3JvbGwtdG8tYW5j
aG9yLmh0bWwgKi87IH07CiAJCTExNUVCMzQzMUVFMEJBMDMwMDNDMkMwQSAvKiBWaWV3cG9ydFNp
emVGb3JWaWV3cG9ydFVuaXRzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMTE1RUIzNDIxRUUwQjcyMDAwM0MyQzBBIC8qIFZpZXdwb3J0U2l6ZUZvclZp
ZXdwb3J0VW5pdHMubW0gKi87IH07CisJCTE0M0RERTk4MjBDOTAxOEIwMDdGNzZGQSAvKiBTZWN1
cml0eS5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA1NzRGNTVEMDIwNEQ0NzFDMDAyOTQ4QzYgLyogU2VjdXJpdHkuZnJhbWV3b3JrICov
OyB9OwogCQkxQTAyQzg3MDEyNUQ0Q0ZEMDBFM0Y0QkQgLyogZmluZC5odG1sIGluIENvcHkgUmVz
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMDJDODRCMTI1RDRB
NUUwMEUzRjRCRCAvKiBmaW5kLmh0bWwgKi87IH07CiAJCTFBMzUyNEFFMUQ2M0E0RkIwMDMxNzI5
QiAvKiBTY29wZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAxQTM1MjRBQzFENjNBNEZCMDAzMTcyOUIgLyogU2NvcGUuY3BwICovOyB9OwogCQkxQTRG
ODFDRjFCREZGRDUzMDA0RTY3MkUgLyogUmVtb3RlT2JqZWN0UmVnaXN0cnlQbHVnSW4ubW0gaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTRGODFDRDFCREZG
RDUzMDA0RTY3MkUgLyogUmVtb3RlT2JqZWN0UmVnaXN0cnlQbHVnSW4ubW0gKi87IH07CkBAIC0y
MDIwLDYgKzIwMjEsNyBAQAogCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKIAkJCWZp
bGVzID0gKAogCQkJCTkzRjU2REE3MUU1RjkxNzQwMDNFREU4NCAvKiBsaWJpY3Vjb3JlLmR5bGli
IGluIEZyYW1ld29ya3MgKi8sCisJCQkJMTQzRERFOTgyMEM5MDE4QjAwN0Y3NkZBIC8qIFNlY3Vy
aXR5LmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBs
b3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>342202</attachid>
            <date>2018-06-07 12:44:12 -0700</date>
            <delta_ts>2018-06-07 14:22:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-182605-20180607124412.patch</filename>
            <type>text/plain</type>
            <size>21672</size>
            <attacher name="Tadeu Zagallo">tzagallo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMyNTQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
NjE0ODY4ZmUzNWQwYTQ1ODFkZGUzNTI5MWM4ZDdhNDkzNGM4MDQ0Li44NTQ2OTJjMWM3NGQxMDQy
NmY4ZWM3YjQxNTBmMjJkMGEwMmNhMWJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOCBAQAorMjAxOC0wNi0wNyAgVGFkZXUgWmFnYWxsbyAgPHR6YWdhbGxvQGFwcGxlLmNv
bT4KKworICAgICAgICBEb24ndCB0cnkgdG8gYWxsb2NhdGUgSklUIG1lbW9yeSBpZiB3ZSBkb24n
dCBoYXZlIHRoZSBKSVQgZW50aXRsZW1lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE4MjYwNQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzgyNzEy
Mjk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ2hl
Y2sgdGhhdCB0aGUgY3VycmVudCBwcm9jZXNzIGhhcyB0aGUgY29ycmVjdCBlbnRpdGxlbWVudHMg
YmVmb3JlCisgICAgICAgIHRyeWluZyB0byBhbGxvY2F0ZSBKSVQgbWVtb3J5IHRvIHNpbGVuY2Ug
d2FybmluZ3MuCisKKyAgICAgICAgKiBqaXQvRXhlY3V0YWJsZUFsbG9jYXRvci5jcHA6CisgICAg
ICAgIChKU0M6OmFsbG93SklUKTogSGVscGVyIHRoYXQgY2hlY2tzIGVudGl0bGVtZW50cyBvbiBp
T1MgYW5kIHJldHVybnMgdHJ1ZSBpbiBvdGhlciBwbGF0Zm9ybXMKKyAgICAgICAgKEpTQzo6Rml4
ZWRWTVBvb2xFeGVjdXRhYmxlQWxsb2NhdG9yOjpGaXhlZFZNUG9vbEV4ZWN1dGFibGVBbGxvY2F0
b3IpOiBjaGVjayBhbGxvd0pJVCBiZWZvcmUgdHJ5aW5nIHRvIGFsbG9jYXRlCisKIDIwMTgtMDYt
MDUgIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CiAKICAgICAgICAgQWRqdXN0
IGNvbXBpbGUgYW5kIHJ1bnRpbWUgZmxhZ3MgdG8gbWF0Y2ggc2hpcHBhYmxlIHN0YXRlIG9mIGZl
YXR1cmVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCmluZGV4IDA1ZGI0MjQ0N2M1OGZhMGJmMzdlN2E4ZTUxNGVhZmY3MzE3NjdhODUuLmIx
ZmVjMWFiYTExNTdlNjhiZWRhZGU3ZDU5NmZiNTA3ZmUzY2YwZjIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAg
QEAKKzIwMTgtMDYtMDcgIFRhZGV1IFphZ2FsbG8gIDx0emFnYWxsb0BhcHBsZS5jb20+CisKKyAg
ICAgICAgRG9uJ3QgdHJ5IHRvIGFsbG9jYXRlIEpJVCBtZW1vcnkgaWYgd2UgZG9uJ3QgaGF2ZSB0
aGUgSklUIGVudGl0bGVtZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xODI2MDUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM4MjcxMjI5PgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENoZWNrIHRoYXQg
dGhlIGN1cnJlbnQgcHJvY2VzcyBoYXMgdGhlIGNvcnJlY3QgZW50aXRsZW1lbnRzIGJlZm9yZQor
ICAgICAgICB0cnlpbmcgdG8gYWxsb2NhdGUgSklUIG1lbW9yeSB0byBzaWxlbmNlIHdhcm5pbmdz
LgorCisgICAgICAgICogV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICog
d3RmL1BsYXRmb3JtTWFjLmNtYWtlOgorICAgICAgICAqIHd0Zi9jb2NvYS9FbnRpdGxlbWVudHMu
Y3BwOgorICAgICAgICAoV1RGOjpwcm9jZXNzSGFzRW50aXRsZW1lbnQpOiBNb3ZlZCBoZXJlIGZy
b20gU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL1NhbmRib3hVdGlsaXRpZXMubW0uCisgICAgICAg
ICogd3RmL2NvY29hL0VudGl0bGVtZW50cy5oOiBBZGRlZC4KKwogMjAxOC0wNi0wNSAgRGFyaW4g
QWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBSZXRpcmUgRGlzcGF0
Y2hQdHIsIGFuZCBhZGQgbW9yZSBtb3ZlIHNlbWFudGljcyBhbmQgc2ltcGxlciAjaWZzIHRvIG90
aGVyIHNtYXJ0IHBvaW50ZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGRlNTIwNjAxODU5NGIyMDBkY2JjZWFkYmQ3
OWI0NmZmMGQ4OWZmNmUuLmE0M2JkN2I0MTI3ZmQ3OWZmNjAzMjJlM2VkOWNhMTljYTY2ODM5NGQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTgtMDYtMDcgIFRhZGV1IFphZ2FsbG8gIDx0
emFnYWxsb0BhcHBsZS5jb20+CisKKyAgICAgICAgRG9uJ3QgdHJ5IHRvIGFsbG9jYXRlIEpJVCBt
ZW1vcnkgaWYgd2UgZG9uJ3QgaGF2ZSB0aGUgSklUIGVudGl0bGVtZW50CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODI2MDUKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzM4MjcxMjI5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIENoZWNrIHRoYXQgdGhlIGN1cnJlbnQgcHJvY2VzcyBoYXMgdGhlIGNvcnJl
Y3QgZW50aXRsZW1lbnRzIGJlZm9yZQorICAgICAgICB0cnlpbmcgdG8gYWxsb2NhdGUgSklUIG1l
bW9yeSB0byBzaWxlbmNlIHdhcm5pbmdzLgorCisgICAgICAgICogU2hhcmVkL21hYy9TYW5kYm94
VXRpbGl0aWVzLm1tOgorICAgICAgICAoV2ViS2l0Ojpwcm9jZXNzSGFzRW50aXRsZW1lbnQpOiBN
b3ZlIHRoZSBpbXBsZW1lbnRhdGlvbiBkb3duIHRvIFdURiB0byBzaGFyZSB3aXRoIEphdmFTY3Jp
cHRDb3JlCisKIDIwMTgtMDYtMDYgIEplcmVteSBKb25lcyAgPGplcmVteWpAYXBwbGUuY29tPgog
CiAgICAgICAgIGF0dGVudWF0aW9uRmFjdG9yIHNob3VsZCBiZSBpbiByYW5nZSBbMCwxXQpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9yLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvRXhlY3V0YWJsZUFsbG9jYXRvci5jcHAKaW5k
ZXggM2U3ZTdlNjFmYzJjZGY2ZDUyYTg3Y2YwZjk2ZTQyZjY2NzViMmUwZi4uNDYwOGFlNjJlMzJm
NWE2YmQ3Y2FhMWRkN2U3N2NlZTRhYTIzODQ3YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0V4ZWN1dGFibGVBbGxvY2F0b3IuY3BwCkBAIC0zOCw2ICszOCwxMCBAQAogI2lu
Y2x1ZGUgPHN5cy9tbWFuLmg+CiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKElPUykKKyNpbmNsdWRl
IDx3dGYvY29jb2EvRW50aXRsZW1lbnRzLmg+CisjZW5kaWYKKwogI2luY2x1ZGUgIkxpbmtCdWZm
ZXIuaCIKICNpbmNsdWRlICJNYWNyb0Fzc2VtYmxlci5oIgogCkBAIC0xMTAsMTIgKzExNCwyNCBA
QCBKU19FWFBPUlRfUFJJVkFURSBKSVRXcml0ZVNlcGFyYXRlSGVhcHNGdW5jdGlvbiBqaXRXcml0
ZVNlcGFyYXRlSGVhcHNGdW5jdGlvbjsKIHN0YXRpYyB1aW50cHRyX3Qgc3RhcnRPZkZpeGVkV3Jp
dGFibGVNZW1vcnlQb29sOwogI2VuZGlmCiAKK3N0YXRpYyBib29sIGFsbG93SklUKCkKK3sKKyNp
ZiBQTEFURk9STShJT1MpICYmIChDUFUoQVJNNjQpIHx8IENQVShBUk0pKQorICAgIHJldHVybiBw
cm9jZXNzSGFzRW50aXRsZW1lbnQoImR5bmFtaWMtY29kZXNpZ25pbmciKTsKKyNlbHNlCisgICAg
cmV0dXJuIHRydWU7CisjZW5kaWYKK30KKwogY2xhc3MgRml4ZWRWTVBvb2xFeGVjdXRhYmxlQWxs
b2NhdG9yIDogcHVibGljIE1ldGFBbGxvY2F0b3IgewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogcHVibGljOgogICAgIEZpeGVkVk1Qb29sRXhlY3V0YWJsZUFsbG9jYXRvcigpCiAgICAg
ICAgIDogTWV0YUFsbG9jYXRvcihqaXRBbGxvY2F0aW9uR3JhbnVsZSkgLy8gcm91bmQgdXAgYWxs
IGFsbG9jYXRpb25zIHRvIDMyIGJ5dGVzCiAgICAgeworICAgICAgICBpZiAoIWFsbG93SklUKCkp
CisgICAgICAgICAgICByZXR1cm47CisKICAgICAgICAgc2l6ZV90IHJlc2VydmF0aW9uU2l6ZTsK
ICAgICAgICAgaWYgKE9wdGlvbnM6OmppdE1lbW9yeVJlc2VydmF0aW9uU2l6ZSgpKQogICAgICAg
ICAgICAgcmVzZXJ2YXRpb25TaXplID0gT3B0aW9uczo6aml0TWVtb3J5UmVzZXJ2YXRpb25TaXpl
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
IGIvU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA4NjJjN2Nj
YmMyZjA4ZTBjNmVlOGVlMjA3MjgxNTZlZGRlZjdkM2ZmLi42NDdhOTEwNWI3N2NjNDBmZDExMjNm
MGM5NmExNmNiOTA1Mzc2M2VlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKQEAgLTQ0LDYgKzQ0LDcgQEAKIAkJMEZFQzNDNUUxRjM2OEE5NzAwRjU5QjZDIC8qIFJl
YWRXcml0ZUxvY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMEZFQzNDNUMxRjM2OEE5NzAwRjU5QjZDIC8qIFJlYWRXcml0ZUxvY2suY3BwICovOyB9
OwogCQkwRkZGMTlEQzFCQjMzNEVCMDA4ODZEOTEgLyogUGFyYWxsZWxIZWxwZXJQb29sLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRkYxOURBMUJC
MzM0RUIwMDg4NkQ5MSAvKiBQYXJhbGxlbEhlbHBlclBvb2wuY3BwICovOyB9OwogCQkxNDAyMkY0
MTE4RjVDM0ZDMDA3RkYwRUIgLyogbGliYm1hbGxvYy5hIGluIEZyYW1ld29ya3MgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTQwMjJGNDAxOEY1QzNGQzAwN0ZGMEVCIC8qIGxp
YmJtYWxsb2MuYSAqLzsgfTsKKwkJMTQzRERFOTYyMEM4QkMzNzAwN0Y3NkZBIC8qIEVudGl0bGVt
ZW50cy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAx
NDNEREU5NTIwQzhCQzM3MDA3Rjc2RkEgLyogRW50aXRsZW1lbnRzLmNwcCAqLzsgfTsKIAkJMTQz
RjYxMUYxNTY1RjBGOTAwREI1MTRBIC8qIFJBTVNpemUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTQzRjYxMUQxNTY1RjBGOTAwREI1MTRBIC8qIFJB
TVNpemUuY3BwICovOyB9OwogCQkxNDQ3QUVDNjE4RkNFNTc3MDBCM0Q3RkYgLyogRm91bmRhdGlv
bi5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAxNDQ3QUVDNTE4RkNFNTc3MDBCM0Q3RkYgLyogRm91bmRhdGlvbi5mcmFtZXdvcmsgKi87
IH07CiAJCTE0NDdBRUM3MThGQ0U1ODAwMEIzRDdGRiAvKiBsaWJXVEYuYSBpbiBGcmFtZXdvcmtz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVEMjQ3QjYyMTQ2ODlCODYwMEU3
OEI3NiAvKiBsaWJXVEYuYSAqLzsgfTsKQEAgLTI2OCw2ICsyNjksOCBAQAogCQkwRkZGMTlEQjFC
QjMzNEVCMDA4ODZEOTEgLyogUGFyYWxsZWxIZWxwZXJQb29sLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFBhcmFsbGVsSGVscGVyUG9vbC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkxMzI3NDM5MjRGQzU0RTQ2OUY1QThFNkUgLyogU3RkVW5vcmRlcmVkU2V0Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0ZFVub3JkZXJlZFNldC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxNDAyMkY0MDE4RjVDM0ZDMDA3RkYwRUIgLyogbGli
Ym1hbGxvYy5hICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gYXJjaGl2ZS5hcjsgcGF0aCA9IGxpYmJtYWxsb2MuYTsgc291cmNlVHJlZSA9IEJVSUxUX1BS
T0RVQ1RTX0RJUjsgfTsKKwkJMTQzRERFOTUyMEM4QkMzNzAwN0Y3NkZBIC8qIEVudGl0bGVtZW50
cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBFbnRpdGxlbWVudHMu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxNDNEREU5NzIwQzhCRTk5MDA3Rjc2
RkEgLyogRW50aXRsZW1lbnRzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEVu
dGl0bGVtZW50cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxNDNGNjExRDE1NjVG
MEY5MDBEQjUxNEEgLyogUkFNU2l6ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBSQU1TaXplLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMTQzRjYx
MUUxNTY1RjBGOTAwREI1MTRBIC8qIFJBTVNpemUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gUkFNU2l6ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxNDQ3QUVC
RTE4RkNFNTY5MDBCM0Q3RkYgLyogbGlibWJtYWxsb2MuZHlsaWIgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZXhwbGljaXRGaWxlVHlwZSA9ICJjb21waWxlZC5tYWNoLW8uZHlsaWIiOyBp
bmNsdWRlSW5JbmRleCA9IDA7IHBhdGggPSBsaWJtYm1hbGxvYy5keWxpYjsgc291cmNlVHJlZSA9
IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKQEAgLTEzMTUsNiArMTMxOCw4IEBACiAJCQlpc2EgPSBQ
QlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAogCQkJCUUzOEM0MTI0MUVCNEUwNEMwMDQyOTU3RCAv
KiBDUFVUaW1lQ29jb2EubW0gKi8sCisJCQkJMTQzRERFOTUyMEM4QkMzNzAwN0Y3NkZBIC8qIEVu
dGl0bGVtZW50cy5jcHAgKi8sCisJCQkJMTQzRERFOTcyMEM4QkU5OTAwN0Y3NkZBIC8qIEVudGl0
bGVtZW50cy5oICovLAogCQkJCTdBNkVCQTMzMjA3NDZDMzQwMDRGOUM0NCAvKiBNYWNoU2VuZFJp
Z2h0LmNwcCAqLywKIAkJCQlBREYyQ0U2NTFFMzlGMTA2MDA2ODg5REIgLyogTWVtb3J5Rm9vdHBy
aW50Q29jb2EuY3BwICovLAogCQkJCUFEODlCNkI5MUU2NDE1MEYwMDkwNzA3RiAvKiBNZW1vcnlQ
cmVzc3VyZUhhbmRsZXJDb2NvYS5tbSAqLywKQEAgLTE0NjUsNiArMTQ3MCw3IEBACiAJCQkJQThB
NDczQUUxNTFBODI1QjAwNDEyM0ZGIC8qIGRpeS1mcC5jYyBpbiBTb3VyY2VzICovLAogCQkJCUE4
QTQ3M0IwMTUxQTgyNUIwMDQxMjNGRiAvKiBkb3VibGUtY29udmVyc2lvbi5jYyBpbiBTb3VyY2Vz
ICovLAogCQkJCUE4QTQ3M0JBMTUxQTgyNUIwMDQxMjNGRiAvKiBkdG9hLmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCTE0M0RERTk2MjBDOEJDMzcwMDdGNzZGQSAvKiBFbnRpdGxlbWVudHMuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQThBNDczQjMxNTFBODI1QjAwNDEyM0ZGIC8qIGZhc3QtZHRvYS5j
YyBpbiBTb3VyY2VzICovLAogCQkJCTBGN0M1RkI2MUQ4ODVDRjIwMDQ0RjVFMiAvKiBGYXN0Qml0
VmVjdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4QTQ3M0MzMTUxQTgyNUIwMDQxMjNGRiAv
KiBGYXN0TWFsbG9jLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93
dGYvUGxhdGZvcm1NYWMuY21ha2UgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybU1hYy5jbWFrZQpp
bmRleCA3NGI4ZGQ5MDZhZDhhZWM5YmZjZTAzY2U4MjViZmVlMDJjNjBlNDk1Li5hMjZlMDUwM2U1
ZjM1ZTk5NGYyYzM5YjM5OTFmM2Q4Y2U2NDRiMzU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0
Zi9QbGF0Zm9ybU1hYy5jbWFrZQorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybU1hYy5jbWFr
ZQpAQCAtMTAsNiArMTAsNyBAQCBsaXN0KEFQUEVORCBXVEZfTElCUkFSSUVTCiBsaXN0KEFQUEVO
RCBXVEZfUFVCTElDX0hFQURFUlMKICAgICBjZi9UeXBlQ2FzdHNDRi5oCiAKKyAgICBjb2NvYS9F
bnRpdGxlbWVudHMuaAogICAgIGNvY29hL01hY2hTZW5kUmlnaHQuaAogICAgIGNvY29hL1NvZnRM
aW5raW5nLmgKIApAQCAtNDMsNiArNDQsNyBAQCBsaXN0KEFQUEVORCBXVEZfU09VUkNFUwogICAg
IHRleHQvbWFjL1RleHRCcmVha0l0ZXJhdG9ySW50ZXJuYWxJQ1VNYWMubW0KIAogICAgIGNvY29h
L0NQVVRpbWVDb2NvYS5tbQorICAgIGNvY29hL0VudGl0bGVtZW50cy5jcHAKICAgICBjb2NvYS9N
YWNoU2VuZFJpZ2h0LmNwcAogICAgIGNvY29hL01lbW9yeUZvb3RwcmludENvY29hLmNwcAogICAg
IGNvY29hL01lbW9yeVByZXNzdXJlSGFuZGxlckNvY29hLm1tCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V1RGL3d0Zi9jb2NvYS9FbnRpdGxlbWVudHMuY3BwIGIvU291cmNlL1dURi93dGYvY29jb2EvRW50
aXRsZW1lbnRzLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lY2FkOTUxZDAxZGFmZjAzNGJmYjAzZjY4NGMzYzk1
NDU2YmExMDdkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dURi93dGYvY29jb2EvRW50aXRs
ZW1lbnRzLmNwcApAQCAtMCwwICsxLDUxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE4IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIkVudGl0bGVtZW50cy5oIgorCisjaW5jbHVkZSA8d3RmL1JldGFpblB0
ci5oPgorI2luY2x1ZGUgPHd0Zi9zcGkvY29jb2EvU2VjdXJpdHlTUEkuaD4KKworbmFtZXNwYWNl
IFdURiB7CisKK2Jvb2wgcHJvY2Vzc0hhc0VudGl0bGVtZW50KGNvbnN0IGNoYXIqIGVudGl0bGVt
ZW50KQoreworICAgIGF1dG8gdGFzayA9IGFkb3B0Q0YoU2VjVGFza0NyZWF0ZUZyb21TZWxmKGtD
RkFsbG9jYXRvckRlZmF1bHQpKTsKKyAgICBpZiAoIXRhc2spCisgICAgICAgIHJldHVybiBmYWxz
ZTsKKworICAgIGF1dG8gY2ZFbnRpdGxlbWVudCA9IGFkb3B0Q0YoQ0ZTdHJpbmdDcmVhdGVXaXRo
Q1N0cmluZ05vQ29weShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBlbnRpdGxlbWVudCwga0NGU3RyaW5n
RW5jb2RpbmdVVEY4LCBrQ0ZBbGxvY2F0b3JOdWxsKSk7CisgICAgYXV0byB2YWx1ZSA9IGFkb3B0
Q0YoU2VjVGFza0NvcHlWYWx1ZUZvckVudGl0bGVtZW50KHRhc2suZ2V0KCksIGNmRW50aXRsZW1l
bnQuZ2V0KCksIG51bGxwdHIpKTsKKyAgICBpZiAoIXZhbHVlKQorICAgICAgICByZXR1cm4gZmFs
c2U7CisKKyAgICBpZiAoQ0ZHZXRUeXBlSUQodmFsdWUuZ2V0KCkpICE9IENGQm9vbGVhbkdldFR5
cGVJRCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICByZXR1cm4gQ0ZCb29sZWFuR2V0
VmFsdWUoc3RhdGljX2Nhc3Q8Q0ZCb29sZWFuUmVmPih2YWx1ZS5nZXQoKSkpOworfQorCit9IC8v
IG5hbWVzcGFjZSBXVEYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL2NvY29hL0VudGl0bGVt
ZW50cy5oIGIvU291cmNlL1dURi93dGYvY29jb2EvRW50aXRsZW1lbnRzLmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NDZhOWEyNDY4YWJmODg2MDYzNGUzNTQ0Y2I4OTQxN2JiNTQxYTJmOAotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XVEYvd3RmL2NvY29hL0VudGl0bGVtZW50cy5oCkBAIC0wLDAgKzEsMzQgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaWYgUExBVEZPUk0oQ09DT0EpCisKK25hbWVzcGFjZSBXVEYgeworCitX
VEZfRVhQT1JUIGJvb2wgcHJvY2Vzc0hhc0VudGl0bGVtZW50KGNvbnN0IGNoYXIqIGVudGl0bGVt
ZW50KTsKKworfSAvLyBuYW1lc3BhY2UgV1RGCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dURi93dGYvc3BpL2NvY29hL1NlY3VyaXR5U1BJLmggYi9Tb3VyY2UvV1RGL3d0Zi9zcGkvY29j
b2EvU2VjdXJpdHlTUEkuaAppbmRleCA5NjQ0YTYxMTVkZTFmMjkxNTM2ZTBmYzhkNTRhMTQwMDA5
OTBjNWYyLi5iZTk2YTA1NTg3MzM1MjFlMDRiZmJjZWUxZDk2NzAxZDhiZWNmNTBkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV1RGL3d0Zi9zcGkvY29jb2EvU2VjdXJpdHlTUEkuaAorKysgYi9Tb3VyY2Uv
V1RGL3d0Zi9zcGkvY29jb2EvU2VjdXJpdHlTUEkuaApAQCAtNTAsNiArNTAsOCBAQCBlbnVtIHsK
ICAgICBrU2VjU2lnbmF0dXJlSGFzaEFsZ29yaXRobVNIQTUxMiA9IDgKIH07CiAKK3R5cGVkZWYg
c3RydWN0IF9fU2VjQ2VydGlmaWNhdGUgKlNlY0NlcnRpZmljYXRlUmVmOworCiBXVEZfRVhURVJO
X0NfQkVHSU4KIAogU2VjU2lnbmF0dXJlSGFzaEFsZ29yaXRobSBTZWNDZXJ0aWZpY2F0ZUdldFNp
Z25hdHVyZUhhc2hBbGdvcml0aG0oU2VjQ2VydGlmaWNhdGVSZWYpOwpAQCAtNTksNiArNjEsNyBA
QCBXVEZfRVhURVJOX0NfRU5ECiAjZW5kaWYKIAogdHlwZWRlZiBzdHJ1Y3QgX19TZWNUYXNrICpT
ZWNUYXNrUmVmOwordHlwZWRlZiBzdHJ1Y3QgX19TZWNUcnVzdCAqU2VjVHJ1c3RSZWY7CiAKIFdU
Rl9FWFRFUk5fQ19CRUdJTgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMv
U2FuZGJveFV0aWxpdGllcy5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL1NhbmRib3hVdGls
aXRpZXMuaAppbmRleCA0ZjVmYmNkZDdlYWFlNDdlNzlkYWFjZjFiYTg5OTFjYmZmM2MzYzQwLi5k
NjBmNDI3ZDY3OTc4NzNlMzIyMjJiNjJiNTY1MzAyYzk1ZTYzNmFiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9tYWMvU2FuZGJveFV0aWxpdGllcy5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL21hYy9TYW5kYm94VXRpbGl0aWVzLmgKQEAgLTM4LDcgKzM4LDYgQEAgYm9vbCBw
cm9jZXNzSGFzQ29udGFpbmVyKCk7CiAvLyBSZXR1cm5zIGFuIGVtcHR5IHN0cmluZyBpZiB0aGUg
cHJvY2VzcyBpcyBub3QgaW4gYSBjb250YWluZXIuCiBTdHJpbmcgcGF0aEZvclByb2Nlc3NDb250
YWluZXIoKTsKIAotYm9vbCBwcm9jZXNzSGFzRW50aXRsZW1lbnQoTlNTdHJpbmcgKmVudGl0bGVt
ZW50KTsKIGJvb2wgY29ubmVjdGVkUHJvY2Vzc0hhc0VudGl0bGVtZW50KHhwY19jb25uZWN0aW9u
X3QsIGNvbnN0IGNoYXIgKmVudGl0bGVtZW50KTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9TaGFyZWQvbWFjL1NhbmRib3hVdGlsaXRpZXMubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9tYWMvU2FuZGJveFV0aWxpdGllcy5tbQppbmRleCBkMzg2NjY3Yjk4MTNkNDFiYzg5YTY3YTUy
OGE3NjIyNmExZTY3NzRlLi5hZmM2YjI0YWUxZDdlODg5ZWFjMDczZjZjZDk2ZDA0MjJkNjIzMWJi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvU2FuZGJveFV0aWxpdGllcy5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvU2FuZGJveFV0aWxpdGllcy5tbQpAQCAt
MjksNyArMjksNyBAQAogI2ltcG9ydCA8YXJyYXk+CiAjaW1wb3J0IDxzeXMvcGFyYW0uaD4KICNp
bXBvcnQgPHd0Zi9PU09iamVjdFB0ci5oPgotI2ltcG9ydCA8d3RmL3NwaS9jb2NvYS9TZWN1cml0
eVNQSS5oPgorI2ltcG9ydCA8d3RmL2NvY29hL0VudGl0bGVtZW50cy5oPgogI2ltcG9ydCA8d3Rm
L3NwaS9kYXJ3aW4vU2FuZGJveFNQSS5oPgogI2ltcG9ydCA8d3RmL3NwaS9kYXJ3aW4vWFBDU1BJ
Lmg+CiAjaW1wb3J0IDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KQEAgLTc3LDIyICs3Nyw2IEBAIFN0
cmluZyBwYXRoRm9yUHJvY2Vzc0NvbnRhaW5lcigpCiAgICAgcmV0dXJuIFN0cmluZzo6ZnJvbVVU
RjgocGF0aC5kYXRhKCkpOwogfQogCi1ib29sIHByb2Nlc3NIYXNFbnRpdGxlbWVudChOU1N0cmlu
ZyAqZW50aXRsZW1lbnQpCi17Ci0gICAgYXV0byB0YXNrID0gYWRvcHRDRihTZWNUYXNrQ3JlYXRl
RnJvbVNlbGYoQ0ZBbGxvY2F0b3JHZXREZWZhdWx0KCkpKTsKLSAgICBpZiAoIXRhc2spCi0gICAg
ICAgIHJldHVybiBmYWxzZTsKLQotICAgIGF1dG8gdmFsdWUgPSBhZG9wdENGKFNlY1Rhc2tDb3B5
VmFsdWVGb3JFbnRpdGxlbWVudCh0YXNrLmdldCgpLCAoX19icmlkZ2UgQ0ZTdHJpbmdSZWYpZW50
aXRsZW1lbnQsIG51bGxwdHIpKTsKLSAgICBpZiAoIXZhbHVlKQotICAgICAgICByZXR1cm4gZmFs
c2U7Ci0KLSAgICBpZiAoQ0ZHZXRUeXBlSUQodmFsdWUuZ2V0KCkpICE9IENGQm9vbGVhbkdldFR5
cGVJRCgpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICByZXR1cm4gQ0ZCb29sZWFuR2V0
VmFsdWUoc3RhdGljX2Nhc3Q8Q0ZCb29sZWFuUmVmPih2YWx1ZS5nZXQoKSkpOwotfQotCiBib29s
IGNvbm5lY3RlZFByb2Nlc3NIYXNFbnRpdGxlbWVudCh4cGNfY29ubmVjdGlvbl90IGNvbm5lY3Rp
b24sIGNvbnN0IGNoYXIgKmVudGl0bGVtZW50KQogewogICAgIGF1dG8gdmFsdWUgPSBhZG9wdE9T
T2JqZWN0KHhwY19jb25uZWN0aW9uX2NvcHlfZW50aXRsZW1lbnRfdmFsdWUoY29ubmVjdGlvbiwg
ZW50aXRsZW1lbnQpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tX
ZWJWaWV3Lm1tCmluZGV4IDkwYjg4OTAwMDc3YzI0NWY4OWY0ZjdlMDMwYjI1NzNkMmFhMzc4NGEu
LmUwYTBmOWFkNzU5NjhkNzkxZjI2Mjg5ZmIwYjkxYzI0YTNjMDM3YTIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQpAQCAtNDYsNyArNDYsNiBA
QAogI2ltcG9ydCAiUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24uaCIKICNpbXBvcnQgIlJlbW90
ZU9iamVjdFJlZ2lzdHJ5LmgiCiAjaW1wb3J0ICJSZW1vdGVPYmplY3RSZWdpc3RyeU1lc3NhZ2Vz
LmgiCi0jaW1wb3J0ICJTYW5kYm94VXRpbGl0aWVzLmgiCiAjaW1wb3J0ICJVSURlbGVnYXRlLmgi
CiAjaW1wb3J0ICJVc2VyTWVkaWFQcm9jZXNzTWFuYWdlci5oIgogI2ltcG9ydCAiVmVyc2lvbkNo
ZWNrcy5oIgpAQCAtMTUxLDYgKzE1MCw3IEBACiAjaW1wb3J0IDxXZWJDb3JlL1dlYlNRTGl0ZURh
dGFiYXNlVHJhY2tlckNsaWVudC5oPgogI2ltcG9ydCA8cGFsL3NwaS9jZy9Db3JlR3JhcGhpY3NT
UEkuaD4KICNpbXBvcnQgPHBhbC9zcGkvY29jb2EvUXVhcnR6Q29yZVNQSS5oPgorI2ltcG9ydCA8
d3RmL2NvY29hL0VudGl0bGVtZW50cy5oPgogCiAjZGVmaW5lIFJFTEVBU0VfTE9HX0lGX0FMTE9X
RUQoLi4uKSBSRUxFQVNFX0xPR19JRihfcGFnZSAmJiBfcGFnZS0+aXNBbHdheXNPbkxvZ2dpbmdB
bGxvd2VkKCksIFZpZXdTdGF0ZSwgX19WQV9BUkdTX18pCiAKQEAgLTYxNiw3ICs2MTYsNyBAQCAt
ICh2b2lkKV9pbml0aWFsaXplV2l0aENvbmZpZ3VyYXRpb246KFdLV2ViVmlld0NvbmZpZ3VyYXRp
b24gKiljb25maWd1cmF0aW9uCiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKElPUykgJiYgRU5BQkxF
KFNFUlZJQ0VfV09SS0VSKQotICAgIGlmICghV2ViS2l0Ojpwcm9jZXNzSGFzRW50aXRsZW1lbnQo
QCJjb20uYXBwbGUuZGV2ZWxvcGVyLldlYktpdC5TZXJ2aWNlV29ya2VycyIpKQorICAgIGlmICgh
V1RGOjpwcm9jZXNzSGFzRW50aXRsZW1lbnQoImNvbS5hcHBsZS5kZXZlbG9wZXIuV2ViS2l0LlNl
cnZpY2VXb3JrZXJzIikpCiAgICAgICAgIHBhZ2VDb25maWd1cmF0aW9uLT5wcmVmZXJlbmNlVmFs
dWVzKCkuc2V0KFdlYktpdDo6V2ViUHJlZmVyZW5jZXNLZXk6OnNlcnZpY2VXb3JrZXJzRW5hYmxl
ZEtleSgpLCBXZWJLaXQ6OldlYlByZWZlcmVuY2VzU3RvcmU6OlZhbHVlKGZhbHNlKSk7CiAjZW5k
aWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXBwbGljYXRpb25TdGF0
ZVRyYWNrZXIubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BcHBsaWNhdGlvblN0YXRlVHJh
Y2tlci5tbQppbmRleCBjNjUyM2EzOGFkODYzZjhmYmM1MmU0ZDE4MmUwZTg3YTBjNzc5ODM2Li4x
Y2ZhMDgwYjg4ZWQ5OGYwNzI4ZThlNzFjNTlmZDY3ZDQxM2VhNzY3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BcHBsaWNhdGlvblN0YXRlVHJhY2tlci5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BcHBsaWNhdGlvblN0YXRlVHJhY2tlci5tbQpAQCAtMzIsNiAr
MzIsNyBAQAogI2ltcG9ydCAiU2FuZGJveFV0aWxpdGllcy5oIgogI2ltcG9ydCAiVUlLaXRTUEku
aCIKICNpbXBvcnQgPHd0Zi9PYmpjUnVudGltZUV4dHJhcy5oPgorI2ltcG9ydCA8d3RmL2NvY29h
L0VudGl0bGVtZW50cy5oPgogI2ltcG9ydCA8d3RmL3NwaS9jb2NvYS9TZWN1cml0eVNQSS5oPgog
CiBAaW50ZXJmYWNlIFVJV2luZG93IChXS0RldGFpbHMpCkBAIC01NCw3ICs1NSw3IEBAIHN0YXRp
YyBBcHBsaWNhdGlvblR5cGUgYXBwbGljYXRpb25UeXBlKFVJV2luZG93ICp3aW5kb3cpCiAgICAg
aWYgKF9VSUFwcGxpY2F0aW9uSXNFeHRlbnNpb24oKSkKICAgICAgICAgcmV0dXJuIEFwcGxpY2F0
aW9uVHlwZTo6RXh0ZW5zaW9uOwogCi0gICAgaWYgKHByb2Nlc3NIYXNFbnRpdGxlbWVudChAImNv
bS5hcHBsZS5VSUtpdC52ZW5kcy12aWV3LXNlcnZpY2VzIikgJiYgd2luZG93Ll9pc0hvc3RlZElu
QW5vdGhlclByb2Nlc3MpCisgICAgaWYgKFdURjo6cHJvY2Vzc0hhc0VudGl0bGVtZW50KCJjb20u
YXBwbGUuVUlLaXQudmVuZHMtdmlldy1zZXJ2aWNlcyIpICYmIHdpbmRvdy5faXNIb3N0ZWRJbkFu
b3RoZXJQcm9jZXNzKQogICAgICAgICByZXR1cm4gQXBwbGljYXRpb25UeXBlOjpWaWV3U2Vydmlj
ZTsKIAogICAgIHJldHVybiBBcHBsaWNhdGlvblR5cGU6OkFwcGxpY2F0aW9uOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQWN0aW9uU2hlZXRBc3Npc3RhbnQubW0g
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tBY3Rpb25TaGVldEFzc2lzdGFudC5tbQpp
bmRleCBkNDU1N2VjMDEzZTNjYThjNTMwNDU3NDgzNjZmMTkwOTYzNWNhNzkwLi4zZGVmMjI5MTcx
NWExZDQ3NzVlNmI2NzY5NTkwNjk5NDkzY2M2MWIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9pb3MvV0tBY3Rpb25TaGVldEFzc2lzdGFudC5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9pb3MvV0tBY3Rpb25TaGVldEFzc2lzdGFudC5tbQpAQCAtMjksNyArMjks
NiBAQAogI2lmIFBMQVRGT1JNKElPUykKIAogI2ltcG9ydCAiQVBJVUlDbGllbnQuaCIKLSNpbXBv
cnQgIlNhbmRib3hVdGlsaXRpZXMuaCIKICNpbXBvcnQgIlRDQ1NQSS5oIgogI2ltcG9ydCAiVUlL
aXRTUEkuaCIKICNpbXBvcnQgIldLQWN0aW9uU2hlZXQuaCIKQEAgLTQ1LDYgKzQ0LDcgQEAKICNp
bXBvcnQgPFdlYkNvcmUvV2ViQ29yZU5TVVJMRXh0cmFzLmg+CiAjaW1wb3J0IDx3dGYvU29mdExp
bmtpbmcuaD4KICNpbXBvcnQgPHd0Zi9XZWFrT2JqQ1B0ci5oPgorI2ltcG9ydCA8d3RmL2NvY29h
L0VudGl0bGVtZW50cy5oPgogI2ltcG9ydCA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKICNpZiBI
QVZFKEFQUF9MSU5LUykKQEAgLTY2LDcgKzY2LDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsK
ICNpZiBIQVZFKEFQUF9MSU5LUykKIHN0YXRpYyBib29sIGFwcGxpY2F0aW9uSGFzQXBwTGlua0Vu
dGl0bGVtZW50cygpCiB7Ci0gICAgc3RhdGljIGJvb2wgaGFzRW50aXRsZW1lbnQgPSBwcm9jZXNz
SGFzRW50aXRsZW1lbnQoQCJjb20uYXBwbGUucHJpdmF0ZS5jYW5HZXRBcHBMaW5rSW5mbyIpICYm
IHByb2Nlc3NIYXNFbnRpdGxlbWVudChAImNvbS5hcHBsZS5wcml2YXRlLmNhbk1vZGlmeUFwcExp
bmtQZXJtaXNzaW9ucyIpOworICAgIHN0YXRpYyBib29sIGhhc0VudGl0bGVtZW50ID0gV1RGOjpw
cm9jZXNzSGFzRW50aXRsZW1lbnQoImNvbS5hcHBsZS5wcml2YXRlLmNhbkdldEFwcExpbmtJbmZv
IikgJiYgV1RGOjpwcm9jZXNzSGFzRW50aXRsZW1lbnQoImNvbS5hcHBsZS5wcml2YXRlLmNhbk1v
ZGlmeUFwcExpbmtQZXJtaXNzaW9ucyIpOwogICAgIHJldHVybiBoYXNFbnRpdGxlbWVudDsKIH0K
IApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDg5
YjUzMmEzODZkNmU2MDJmZjFiM2NhMmZmZjllMGNjMTgwYmFhZDQuLjRjYjRlM2Y5N2YxZmI4ZjZk
MGVkZTk4ZjRkMTVhYmYyOTU3MjQ4YmYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysg
Yi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxOC0wNi0wNyAgVGFkZXUgWmFn
YWxsbyAgPHR6YWdhbGxvQGFwcGxlLmNvbT4KKworICAgICAgICBEb24ndCB0cnkgdG8gYWxsb2Nh
dGUgSklUIG1lbW9yeSBpZiB3ZSBkb24ndCBoYXZlIHRoZSBKSVQgZW50aXRsZW1lbnQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MjYwNQorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vMzgyNzEyMjk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgQ2hlY2sgdGhhdCB0aGUgY3VycmVudCBwcm9jZXNzIGhhcyB0
aGUgY29ycmVjdCBlbnRpdGxlbWVudHMgYmVmb3JlCisgICAgICAgIHRyeWluZyB0byBhbGxvY2F0
ZSBKSVQgbWVtb3J5IHRvIHNpbGVuY2Ugd2FybmluZ3MuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0
QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogaU9TIHJlcXVpcmVz
IHRoZSBTZWN1cml0eSBmcmFtZXdvcmsgdG8gY2hlY2sgZW50aXRsZW1lbnRzCisKIDIwMTgtMDYt
MDUgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBSZWdyZXNzaW9u
KHIyMzIwODIpOiBXZWJzaXRlcyBnZXQgbG9hZGVkIGluc2lkZSBvZiBNZXNzYWdlcyBBcHAgY2hh
dCB0cmFuc2NyaXB0CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRB
UEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdl
YktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDEzMTY3YTg5MmE0YmY5NDZi
ODBhYjU1YTdiNTZhNzEwZTgwOTE5ZmMuLjU5MDcyMGQ0OTIwZDQ2MWU5Nzk1NTVhOWQzZWYxMGFh
MmRhOGE2ZmMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdl
YktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC00Nyw2ICs0Nyw3IEBACiAJCTBG
NTY1MUY3MUZDRTREREMwMDMxMEZCQyAvKiBOb0hpc3RvcnlJdGVtU2Nyb2xsVG9GcmFnbWVudC5t
bSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNTY1MUY2
MUZDRTREREIwMDMxMEZCQyAvKiBOb0hpc3RvcnlJdGVtU2Nyb2xsVG9GcmFnbWVudC5tbSAqLzsg
fTsKIAkJMEY1NjUxRjkxRkNFNTEzNTAwMzEwRkJDIC8qIHNjcm9sbC10by1hbmNob3IuaHRtbCBp
biBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjU2
NTFGODFGQ0U1MEU4MDAzMTBGQkMgLyogc2Nyb2xsLXRvLWFuY2hvci5odG1sICovOyB9OwogCQkx
MTVFQjM0MzFFRTBCQTAzMDAzQzJDMEEgLyogVmlld3BvcnRTaXplRm9yVmlld3BvcnRVbml0cy5t
bSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDExNUVCMzQy
MUVFMEI3MjAwMDNDMkMwQSAvKiBWaWV3cG9ydFNpemVGb3JWaWV3cG9ydFVuaXRzLm1tICovOyB9
OworCQkxNDNEREU5ODIwQzkwMThCMDA3Rjc2RkEgLyogU2VjdXJpdHkuZnJhbWV3b3JrIGluIEZy
YW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTc0RjU1RDAyMDRE
NDcxQzAwMjk0OEM2IC8qIFNlY3VyaXR5LmZyYW1ld29yayAqLzsgfTsKIAkJMUEwMkM4NzAxMjVE
NENGRDAwRTNGNEJEIC8qIGZpbmQuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTAyQzg0QjEyNUQ0QTVFMDBFM0Y0QkQgLyogZmluZC5o
dG1sICovOyB9OwogCQkxQTM1MjRBRTFENjNBNEZCMDAzMTcyOUIgLyogU2NvcGUuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEzNTI0QUMxRDYzQTRG
QjAwMzE3MjlCIC8qIFNjb3BlLmNwcCAqLzsgfTsKIAkJMUE0RjgxQ0YxQkRGRkQ1MzAwNEU2NzJF
IC8qIFJlbW90ZU9iamVjdFJlZ2lzdHJ5UGx1Z0luLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE0RjgxQ0QxQkRGRkQ1MzAwNEU2NzJFIC8qIFJlbW90
ZU9iamVjdFJlZ2lzdHJ5UGx1Z0luLm1tICovOyB9OwpAQCAtMjAyMCw2ICsyMDIxLDcgQEAKIAkJ
CWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CiAJCQlmaWxlcyA9ICgKIAkJCQk5M0Y1NkRB
NzFFNUY5MTc0MDAzRURFODQgLyogbGliaWN1Y29yZS5keWxpYiBpbiBGcmFtZXdvcmtzICovLAor
CQkJCTE0M0RERTk4MjBDOTAxOEIwMDdGNzZGQSAvKiBTZWN1cml0eS5mcmFtZXdvcmsgaW4gRnJh
bWV3b3JrcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5n
ID0gMDsKIAkJfTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>342206</attachid>
            <date>2018-06-07 14:22:25 -0700</date>
            <delta_ts>2018-06-07 14:58:11 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-182605-20180607142225.patch</filename>
            <type>text/plain</type>
            <size>21570</size>
            <attacher name="Tadeu Zagallo">tzagallo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMyNTQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
NjE0ODY4ZmUzNWQwYTQ1ODFkZGUzNTI5MWM4ZDdhNDkzNGM4MDQ0Li5iNzYwNDg1NjhjMDRiMGRl
YTY1YzE0Y2Q0MDA1Nzk1YzBmYTUwMzIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOCBAQAorMjAxOC0wNi0wNyAgVGFkZXUgWmFnYWxsbyAgPHR6YWdhbGxvQGFwcGxlLmNv
bT4KKworICAgICAgICBEb24ndCB0cnkgdG8gYWxsb2NhdGUgSklUIG1lbW9yeSBpZiB3ZSBkb24n
dCBoYXZlIHRoZSBKSVQgZW50aXRsZW1lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE4MjYwNQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzgyNzEy
Mjk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTWFyayBMYW0uCisKKyAgICAgICAgQ2hlY2sgdGhh
dCB0aGUgY3VycmVudCBwcm9jZXNzIGhhcyB0aGUgY29ycmVjdCBlbnRpdGxlbWVudHMgYmVmb3Jl
CisgICAgICAgIHRyeWluZyB0byBhbGxvY2F0ZSBKSVQgbWVtb3J5IHRvIHNpbGVuY2Ugd2Fybmlu
Z3MuCisKKyAgICAgICAgKiBqaXQvRXhlY3V0YWJsZUFsbG9jYXRvci5jcHA6CisgICAgICAgIChK
U0M6OmFsbG93SklUKTogSGVscGVyIHRoYXQgY2hlY2tzIGVudGl0bGVtZW50cyBvbiBpT1MgYW5k
IHJldHVybnMgdHJ1ZSBpbiBvdGhlciBwbGF0Zm9ybXMKKyAgICAgICAgKEpTQzo6Rml4ZWRWTVBv
b2xFeGVjdXRhYmxlQWxsb2NhdG9yOjpGaXhlZFZNUG9vbEV4ZWN1dGFibGVBbGxvY2F0b3IpOiBj
aGVjayBhbGxvd0pJVCBiZWZvcmUgdHJ5aW5nIHRvIGFsbG9jYXRlCisKIDIwMTgtMDYtMDUgIEJy
ZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CiAKICAgICAgICAgQWRqdXN0IGNvbXBp
bGUgYW5kIHJ1bnRpbWUgZmxhZ3MgdG8gbWF0Y2ggc2hpcHBhYmxlIHN0YXRlIG9mIGZlYXR1cmVz
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9n
CmluZGV4IDA1ZGI0MjQ0N2M1OGZhMGJmMzdlN2E4ZTUxNGVhZmY3MzE3NjdhODUuLmRiM2MyYWQz
OTQ3NmRkZWFhOGRjNDU3ZTc2YjRmMzVhOWE0MTVkZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIw
MTgtMDYtMDcgIFRhZGV1IFphZ2FsbG8gIDx0emFnYWxsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
RG9uJ3QgdHJ5IHRvIGFsbG9jYXRlIEpJVCBtZW1vcnkgaWYgd2UgZG9uJ3QgaGF2ZSB0aGUgSklU
IGVudGl0bGVtZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xODI2MDUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM4MjcxMjI5PgorCisgICAgICAg
IFJldmlld2VkIGJ5IE1hcmsgTGFtLgorCisgICAgICAgIENoZWNrIHRoYXQgdGhlIGN1cnJlbnQg
cHJvY2VzcyBoYXMgdGhlIGNvcnJlY3QgZW50aXRsZW1lbnRzIGJlZm9yZQorICAgICAgICB0cnlp
bmcgdG8gYWxsb2NhdGUgSklUIG1lbW9yeSB0byBzaWxlbmNlIHdhcm5pbmdzLgorCisgICAgICAg
ICogV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogd3RmL1BsYXRmb3Jt
TWFjLmNtYWtlOgorICAgICAgICAqIHd0Zi9jb2NvYS9FbnRpdGxlbWVudHMuY3BwOgorICAgICAg
ICAoV1RGOjpwcm9jZXNzSGFzRW50aXRsZW1lbnQpOiBNb3ZlZCBoZXJlIGZyb20gU291cmNlL1dl
YktpdC9TaGFyZWQvbWFjL1NhbmRib3hVdGlsaXRpZXMubW0uCisgICAgICAgICogd3RmL2NvY29h
L0VudGl0bGVtZW50cy5oOiBBZGRlZC4KKwogMjAxOC0wNi0wNSAgRGFyaW4gQWRsZXIgIDxkYXJp
bkBhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBSZXRpcmUgRGlzcGF0Y2hQdHIsIGFuZCBh
ZGQgbW9yZSBtb3ZlIHNlbWFudGljcyBhbmQgc2ltcGxlciAjaWZzIHRvIG90aGVyIHNtYXJ0IHBv
aW50ZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCmluZGV4IGRlNTIwNjAxODU5NGIyMDBkY2JjZWFkYmQ3OWI0NmZmMGQ4OWZm
NmUuLmE3OWU5MzlmZGI4MDc2YjNkZTBkMjk1Mjg3YWFhZjgxZTBiZWNiZjcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTcgQEAKKzIwMTgtMDYtMDcgIFRhZGV1IFphZ2FsbG8gIDx0emFnYWxsb0BhcHBs
ZS5jb20+CisKKyAgICAgICAgRG9uJ3QgdHJ5IHRvIGFsbG9jYXRlIEpJVCBtZW1vcnkgaWYgd2Ug
ZG9uJ3QgaGF2ZSB0aGUgSklUIGVudGl0bGVtZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODI2MDUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM4
MjcxMjI5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE1hcmsgTGFtLgorCisgICAgICAgIENoZWNr
IHRoYXQgdGhlIGN1cnJlbnQgcHJvY2VzcyBoYXMgdGhlIGNvcnJlY3QgZW50aXRsZW1lbnRzIGJl
Zm9yZQorICAgICAgICB0cnlpbmcgdG8gYWxsb2NhdGUgSklUIG1lbW9yeSB0byBzaWxlbmNlIHdh
cm5pbmdzLgorCisgICAgICAgICogU2hhcmVkL21hYy9TYW5kYm94VXRpbGl0aWVzLm1tOgorICAg
ICAgICAoV2ViS2l0Ojpwcm9jZXNzSGFzRW50aXRsZW1lbnQpOiBNb3ZlIHRoZSBpbXBsZW1lbnRh
dGlvbiBkb3duIHRvIFdURiB0byBzaGFyZSB3aXRoIEphdmFTY3JpcHRDb3JlCisKIDIwMTgtMDYt
MDYgIEplcmVteSBKb25lcyAgPGplcmVteWpAYXBwbGUuY29tPgogCiAgICAgICAgIGF0dGVudWF0
aW9uRmFjdG9yIHNob3VsZCBiZSBpbiByYW5nZSBbMCwxXQpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvRXhlY3V0YWJsZUFsbG9jYXRvci5jcHAKaW5kZXggM2U3ZTdlNjFmYzJjZGY2
ZDUyYTg3Y2YwZjk2ZTQyZjY2NzViMmUwZi4uNDYwOGFlNjJlMzJmNWE2YmQ3Y2FhMWRkN2U3N2Nl
ZTRhYTIzODQ3YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9FeGVjdXRh
YmxlQWxsb2NhdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0V4ZWN1dGFi
bGVBbGxvY2F0b3IuY3BwCkBAIC0zOCw2ICszOCwxMCBAQAogI2luY2x1ZGUgPHN5cy9tbWFuLmg+
CiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKElPUykKKyNpbmNsdWRlIDx3dGYvY29jb2EvRW50aXRs
ZW1lbnRzLmg+CisjZW5kaWYKKwogI2luY2x1ZGUgIkxpbmtCdWZmZXIuaCIKICNpbmNsdWRlICJN
YWNyb0Fzc2VtYmxlci5oIgogCkBAIC0xMTAsMTIgKzExNCwyNCBAQCBKU19FWFBPUlRfUFJJVkFU
RSBKSVRXcml0ZVNlcGFyYXRlSGVhcHNGdW5jdGlvbiBqaXRXcml0ZVNlcGFyYXRlSGVhcHNGdW5j
dGlvbjsKIHN0YXRpYyB1aW50cHRyX3Qgc3RhcnRPZkZpeGVkV3JpdGFibGVNZW1vcnlQb29sOwog
I2VuZGlmCiAKK3N0YXRpYyBib29sIGFsbG93SklUKCkKK3sKKyNpZiBQTEFURk9STShJT1MpICYm
IChDUFUoQVJNNjQpIHx8IENQVShBUk0pKQorICAgIHJldHVybiBwcm9jZXNzSGFzRW50aXRsZW1l
bnQoImR5bmFtaWMtY29kZXNpZ25pbmciKTsKKyNlbHNlCisgICAgcmV0dXJuIHRydWU7CisjZW5k
aWYKK30KKwogY2xhc3MgRml4ZWRWTVBvb2xFeGVjdXRhYmxlQWxsb2NhdG9yIDogcHVibGljIE1l
dGFBbGxvY2F0b3IgewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAg
IEZpeGVkVk1Qb29sRXhlY3V0YWJsZUFsbG9jYXRvcigpCiAgICAgICAgIDogTWV0YUFsbG9jYXRv
cihqaXRBbGxvY2F0aW9uR3JhbnVsZSkgLy8gcm91bmQgdXAgYWxsIGFsbG9jYXRpb25zIHRvIDMy
IGJ5dGVzCiAgICAgeworICAgICAgICBpZiAoIWFsbG93SklUKCkpCisgICAgICAgICAgICByZXR1
cm47CisKICAgICAgICAgc2l6ZV90IHJlc2VydmF0aW9uU2l6ZTsKICAgICAgICAgaWYgKE9wdGlv
bnM6OmppdE1lbW9yeVJlc2VydmF0aW9uU2l6ZSgpKQogICAgICAgICAgICAgcmVzZXJ2YXRpb25T
aXplID0gT3B0aW9uczo6aml0TWVtb3J5UmVzZXJ2YXRpb25TaXplKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dURi9XVEYu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA4NjJjN2NjYmMyZjA4ZTBjNmVlOGVlMjA3
MjgxNTZlZGRlZjdkM2ZmLi42NDdhOTEwNWI3N2NjNDBmZDExMjNmMGM5NmExNmNiOTA1Mzc2M2Vl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisr
KyBiL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTQ0LDYgKzQ0
LDcgQEAKIAkJMEZFQzNDNUUxRjM2OEE5NzAwRjU5QjZDIC8qIFJlYWRXcml0ZUxvY2suY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZFQzNDNUMxRjM2
OEE5NzAwRjU5QjZDIC8qIFJlYWRXcml0ZUxvY2suY3BwICovOyB9OwogCQkwRkZGMTlEQzFCQjMz
NEVCMDA4ODZEOTEgLyogUGFyYWxsZWxIZWxwZXJQb29sLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGRkYxOURBMUJCMzM0RUIwMDg4NkQ5MSAvKiBQ
YXJhbGxlbEhlbHBlclBvb2wuY3BwICovOyB9OwogCQkxNDAyMkY0MTE4RjVDM0ZDMDA3RkYwRUIg
LyogbGliYm1hbGxvYy5hIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMTQwMjJGNDAxOEY1QzNGQzAwN0ZGMEVCIC8qIGxpYmJtYWxsb2MuYSAqLzsgfTsK
KwkJMTQzRERFOTYyMEM4QkMzNzAwN0Y3NkZBIC8qIEVudGl0bGVtZW50cy5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDNEREU5NTIwQzhCQzM3MDA3
Rjc2RkEgLyogRW50aXRsZW1lbnRzLmNwcCAqLzsgfTsKIAkJMTQzRjYxMUYxNTY1RjBGOTAwREI1
MTRBIC8qIFJBTVNpemUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMTQzRjYxMUQxNTY1RjBGOTAwREI1MTRBIC8qIFJBTVNpemUuY3BwICovOyB9Owog
CQkxNDQ3QUVDNjE4RkNFNTc3MDBCM0Q3RkYgLyogRm91bmRhdGlvbi5mcmFtZXdvcmsgaW4gRnJh
bWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDQ3QUVDNTE4RkNF
NTc3MDBCM0Q3RkYgLyogRm91bmRhdGlvbi5mcmFtZXdvcmsgKi87IH07CiAJCTE0NDdBRUM3MThG
Q0U1ODAwMEIzRDdGRiAvKiBsaWJXVEYuYSBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDVEMjQ3QjYyMTQ2ODlCODYwMEU3OEI3NiAvKiBsaWJXVEYuYSAq
LzsgfTsKQEAgLTI2OCw2ICsyNjksOCBAQAogCQkwRkZGMTlEQjFCQjMzNEVCMDA4ODZEOTEgLyog
UGFyYWxsZWxIZWxwZXJQb29sLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBh
cmFsbGVsSGVscGVyUG9vbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxMzI3NDM5
MjRGQzU0RTQ2OUY1QThFNkUgLyogU3RkVW5vcmRlcmVkU2V0LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFN0ZFVub3JkZXJlZFNldC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkxNDAyMkY0MDE4RjVDM0ZDMDA3RkYwRUIgLyogbGliYm1hbGxvYy5hICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gYXJjaGl2ZS5hcjsgcGF0
aCA9IGxpYmJtYWxsb2MuYTsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKKwkJ
MTQzRERFOTUyMEM4QkMzNzAwN0Y3NkZBIC8qIEVudGl0bGVtZW50cy5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBFbnRpdGxlbWVudHMuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkxNDNEREU5NzIwQzhCRTk5MDA3Rjc2RkEgLyogRW50aXRsZW1lbnRz
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEVudGl0bGVtZW50cy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxNDNGNjExRDE1NjVGMEY5MDBEQjUxNEEgLyogUkFN
U2l6ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSQU1TaXplLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMTQzRjYxMUUxNTY1RjBGOTAwREI1MTRB
IC8qIFJBTVNpemUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUkFNU2l6ZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxNDQ3QUVCRTE4RkNFNTY5MDBCM0Q3RkYg
LyogbGlibWJtYWxsb2MuZHlsaWIgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZXhwbGlj
aXRGaWxlVHlwZSA9ICJjb21waWxlZC5tYWNoLW8uZHlsaWIiOyBpbmNsdWRlSW5JbmRleCA9IDA7
IHBhdGggPSBsaWJtYm1hbGxvYy5keWxpYjsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJ
UjsgfTsKQEAgLTEzMTUsNiArMTMxOCw4IEBACiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxk
cmVuID0gKAogCQkJCUUzOEM0MTI0MUVCNEUwNEMwMDQyOTU3RCAvKiBDUFVUaW1lQ29jb2EubW0g
Ki8sCisJCQkJMTQzRERFOTUyMEM4QkMzNzAwN0Y3NkZBIC8qIEVudGl0bGVtZW50cy5jcHAgKi8s
CisJCQkJMTQzRERFOTcyMEM4QkU5OTAwN0Y3NkZBIC8qIEVudGl0bGVtZW50cy5oICovLAogCQkJ
CTdBNkVCQTMzMjA3NDZDMzQwMDRGOUM0NCAvKiBNYWNoU2VuZFJpZ2h0LmNwcCAqLywKIAkJCQlB
REYyQ0U2NTFFMzlGMTA2MDA2ODg5REIgLyogTWVtb3J5Rm9vdHByaW50Q29jb2EuY3BwICovLAog
CQkJCUFEODlCNkI5MUU2NDE1MEYwMDkwNzA3RiAvKiBNZW1vcnlQcmVzc3VyZUhhbmRsZXJDb2Nv
YS5tbSAqLywKQEAgLTE0NjUsNiArMTQ3MCw3IEBACiAJCQkJQThBNDczQUUxNTFBODI1QjAwNDEy
M0ZGIC8qIGRpeS1mcC5jYyBpbiBTb3VyY2VzICovLAogCQkJCUE4QTQ3M0IwMTUxQTgyNUIwMDQx
MjNGRiAvKiBkb3VibGUtY29udmVyc2lvbi5jYyBpbiBTb3VyY2VzICovLAogCQkJCUE4QTQ3M0JB
MTUxQTgyNUIwMDQxMjNGRiAvKiBkdG9hLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTE0M0RERTk2
MjBDOEJDMzcwMDdGNzZGQSAvKiBFbnRpdGxlbWVudHMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QThBNDczQjMxNTFBODI1QjAwNDEyM0ZGIC8qIGZhc3QtZHRvYS5jYyBpbiBTb3VyY2VzICovLAog
CQkJCTBGN0M1RkI2MUQ4ODVDRjIwMDQ0RjVFMiAvKiBGYXN0Qml0VmVjdG9yLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUE4QTQ3M0MzMTUxQTgyNUIwMDQxMjNGRiAvKiBGYXN0TWFsbG9jLmNwcCBp
biBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1NYWMuY21h
a2UgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybU1hYy5jbWFrZQppbmRleCA3NGI4ZGQ5MDZhZDhh
ZWM5YmZjZTAzY2U4MjViZmVlMDJjNjBlNDk1Li5hMjZlMDUwM2U1ZjM1ZTk5NGYyYzM5YjM5OTFm
M2Q4Y2U2NDRiMzU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybU1hYy5jbWFr
ZQorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybU1hYy5jbWFrZQpAQCAtMTAsNiArMTAsNyBA
QCBsaXN0KEFQUEVORCBXVEZfTElCUkFSSUVTCiBsaXN0KEFQUEVORCBXVEZfUFVCTElDX0hFQURF
UlMKICAgICBjZi9UeXBlQ2FzdHNDRi5oCiAKKyAgICBjb2NvYS9FbnRpdGxlbWVudHMuaAogICAg
IGNvY29hL01hY2hTZW5kUmlnaHQuaAogICAgIGNvY29hL1NvZnRMaW5raW5nLmgKIApAQCAtNDMs
NiArNDQsNyBAQCBsaXN0KEFQUEVORCBXVEZfU09VUkNFUwogICAgIHRleHQvbWFjL1RleHRCcmVh
a0l0ZXJhdG9ySW50ZXJuYWxJQ1VNYWMubW0KIAogICAgIGNvY29hL0NQVVRpbWVDb2NvYS5tbQor
ICAgIGNvY29hL0VudGl0bGVtZW50cy5jcHAKICAgICBjb2NvYS9NYWNoU2VuZFJpZ2h0LmNwcAog
ICAgIGNvY29hL01lbW9yeUZvb3RwcmludENvY29hLmNwcAogICAgIGNvY29hL01lbW9yeVByZXNz
dXJlSGFuZGxlckNvY29hLm1tCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9jb2NvYS9FbnRp
dGxlbWVudHMuY3BwIGIvU291cmNlL1dURi93dGYvY29jb2EvRW50aXRsZW1lbnRzLmNwcApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5lY2FkOTUxZDAxZGFmZjAzNGJmYjAzZjY4NGMzYzk1NDU2YmExMDdkCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dURi93dGYvY29jb2EvRW50aXRsZW1lbnRzLmNwcApAQCAtMCww
ICsxLDUxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkVu
dGl0bGVtZW50cy5oIgorCisjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgorI2luY2x1ZGUgPHd0
Zi9zcGkvY29jb2EvU2VjdXJpdHlTUEkuaD4KKworbmFtZXNwYWNlIFdURiB7CisKK2Jvb2wgcHJv
Y2Vzc0hhc0VudGl0bGVtZW50KGNvbnN0IGNoYXIqIGVudGl0bGVtZW50KQoreworICAgIGF1dG8g
dGFzayA9IGFkb3B0Q0YoU2VjVGFza0NyZWF0ZUZyb21TZWxmKGtDRkFsbG9jYXRvckRlZmF1bHQp
KTsKKyAgICBpZiAoIXRhc2spCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGF1dG8gY2ZF
bnRpdGxlbWVudCA9IGFkb3B0Q0YoQ0ZTdHJpbmdDcmVhdGVXaXRoQ1N0cmluZ05vQ29weShrQ0ZB
bGxvY2F0b3JEZWZhdWx0LCBlbnRpdGxlbWVudCwga0NGU3RyaW5nRW5jb2RpbmdVVEY4LCBrQ0ZB
bGxvY2F0b3JOdWxsKSk7CisgICAgYXV0byB2YWx1ZSA9IGFkb3B0Q0YoU2VjVGFza0NvcHlWYWx1
ZUZvckVudGl0bGVtZW50KHRhc2suZ2V0KCksIGNmRW50aXRsZW1lbnQuZ2V0KCksIG51bGxwdHIp
KTsKKyAgICBpZiAoIXZhbHVlKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoQ0ZH
ZXRUeXBlSUQodmFsdWUuZ2V0KCkpICE9IENGQm9vbGVhbkdldFR5cGVJRCgpKQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CisKKyAgICByZXR1cm4gQ0ZCb29sZWFuR2V0VmFsdWUoc3RhdGljX2Nhc3Q8
Q0ZCb29sZWFuUmVmPih2YWx1ZS5nZXQoKSkpOworfQorCit9IC8vIG5hbWVzcGFjZSBXVEYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL2NvY29hL0VudGl0bGVtZW50cy5oIGIvU291cmNlL1dU
Ri93dGYvY29jb2EvRW50aXRsZW1lbnRzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDZhOWEyNDY4YWJmODg2MDYz
NGUzNTQ0Y2I4OTQxN2JiNTQxYTJmOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XVEYvd3Rm
L2NvY29hL0VudGl0bGVtZW50cy5oCkBAIC0wLDAgKzEsMzQgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWYg
UExBVEZPUk0oQ09DT0EpCisKK25hbWVzcGFjZSBXVEYgeworCitXVEZfRVhQT1JUIGJvb2wgcHJv
Y2Vzc0hhc0VudGl0bGVtZW50KGNvbnN0IGNoYXIqIGVudGl0bGVtZW50KTsKKworfSAvLyBuYW1l
c3BhY2UgV1RGCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvc3BpL2NvY29h
L1NlY3VyaXR5U1BJLmggYi9Tb3VyY2UvV1RGL3d0Zi9zcGkvY29jb2EvU2VjdXJpdHlTUEkuaApp
bmRleCA5NjQ0YTYxMTVkZTFmMjkxNTM2ZTBmYzhkNTRhMTQwMDA5OTBjNWYyLi45NmUzMGE3Yzdk
Mjk0ZjQ1NWMwM2IwZGUzN2JlMGE0ZDEyMTM1ZTQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0
Zi9zcGkvY29jb2EvU2VjdXJpdHlTUEkuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9zcGkvY29jb2Ev
U2VjdXJpdHlTUEkuaApAQCAtMzcsNiArMzcsOCBAQAogCiAjZWxzZQogCisjaW5jbHVkZSA8U2Vj
dXJpdHkvU2VjQmFzZS5oPgorCiB0eXBlZGVmIHVpbnQzMl90IFNlY1NpZ25hdHVyZUhhc2hBbGdv
cml0aG07CiBlbnVtIHsKICAgICBrU2VjU2lnbmF0dXJlSGFzaEFsZ29yaXRobVVua25vd24gPSAw
LApAQCAtNTksNiArNjEsNyBAQCBXVEZfRVhURVJOX0NfRU5ECiAjZW5kaWYKIAogdHlwZWRlZiBz
dHJ1Y3QgX19TZWNUYXNrICpTZWNUYXNrUmVmOwordHlwZWRlZiBzdHJ1Y3QgX19TZWNUcnVzdCAq
U2VjVHJ1c3RSZWY7CiAKIFdURl9FWFRFUk5fQ19CRUdJTgogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9tYWMvU2FuZGJveFV0aWxpdGllcy5oIGIvU291cmNlL1dlYktpdC9TaGFy
ZWQvbWFjL1NhbmRib3hVdGlsaXRpZXMuaAppbmRleCA0ZjVmYmNkZDdlYWFlNDdlNzlkYWFjZjFi
YTg5OTFjYmZmM2MzYzQwLi5kNjBmNDI3ZDY3OTc4NzNlMzIyMjJiNjJiNTY1MzAyYzk1ZTYzNmFi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvU2FuZGJveFV0aWxpdGllcy5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9TYW5kYm94VXRpbGl0aWVzLmgKQEAgLTM4
LDcgKzM4LDYgQEAgYm9vbCBwcm9jZXNzSGFzQ29udGFpbmVyKCk7CiAvLyBSZXR1cm5zIGFuIGVt
cHR5IHN0cmluZyBpZiB0aGUgcHJvY2VzcyBpcyBub3QgaW4gYSBjb250YWluZXIuCiBTdHJpbmcg
cGF0aEZvclByb2Nlc3NDb250YWluZXIoKTsKIAotYm9vbCBwcm9jZXNzSGFzRW50aXRsZW1lbnQo
TlNTdHJpbmcgKmVudGl0bGVtZW50KTsKIGJvb2wgY29ubmVjdGVkUHJvY2Vzc0hhc0VudGl0bGVt
ZW50KHhwY19jb25uZWN0aW9uX3QsIGNvbnN0IGNoYXIgKmVudGl0bGVtZW50KTsKIAogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL1NhbmRib3hVdGlsaXRpZXMubW0gYi9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvU2FuZGJveFV0aWxpdGllcy5tbQppbmRleCBkMzg2NjY3
Yjk4MTNkNDFiYzg5YTY3YTUyOGE3NjIyNmExZTY3NzRlLi5hZmM2YjI0YWUxZDdlODg5ZWFjMDcz
ZjZjZDk2ZDA0MjJkNjIzMWJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMv
U2FuZGJveFV0aWxpdGllcy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvU2FuZGJv
eFV0aWxpdGllcy5tbQpAQCAtMjksNyArMjksNyBAQAogI2ltcG9ydCA8YXJyYXk+CiAjaW1wb3J0
IDxzeXMvcGFyYW0uaD4KICNpbXBvcnQgPHd0Zi9PU09iamVjdFB0ci5oPgotI2ltcG9ydCA8d3Rm
L3NwaS9jb2NvYS9TZWN1cml0eVNQSS5oPgorI2ltcG9ydCA8d3RmL2NvY29hL0VudGl0bGVtZW50
cy5oPgogI2ltcG9ydCA8d3RmL3NwaS9kYXJ3aW4vU2FuZGJveFNQSS5oPgogI2ltcG9ydCA8d3Rm
L3NwaS9kYXJ3aW4vWFBDU1BJLmg+CiAjaW1wb3J0IDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KQEAg
LTc3LDIyICs3Nyw2IEBAIFN0cmluZyBwYXRoRm9yUHJvY2Vzc0NvbnRhaW5lcigpCiAgICAgcmV0
dXJuIFN0cmluZzo6ZnJvbVVURjgocGF0aC5kYXRhKCkpOwogfQogCi1ib29sIHByb2Nlc3NIYXNF
bnRpdGxlbWVudChOU1N0cmluZyAqZW50aXRsZW1lbnQpCi17Ci0gICAgYXV0byB0YXNrID0gYWRv
cHRDRihTZWNUYXNrQ3JlYXRlRnJvbVNlbGYoQ0ZBbGxvY2F0b3JHZXREZWZhdWx0KCkpKTsKLSAg
ICBpZiAoIXRhc2spCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIGF1dG8gdmFsdWUgPSBh
ZG9wdENGKFNlY1Rhc2tDb3B5VmFsdWVGb3JFbnRpdGxlbWVudCh0YXNrLmdldCgpLCAoX19icmlk
Z2UgQ0ZTdHJpbmdSZWYpZW50aXRsZW1lbnQsIG51bGxwdHIpKTsKLSAgICBpZiAoIXZhbHVlKQot
ICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBpZiAoQ0ZHZXRUeXBlSUQodmFsdWUuZ2V0KCkp
ICE9IENGQm9vbGVhbkdldFR5cGVJRCgpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBy
ZXR1cm4gQ0ZCb29sZWFuR2V0VmFsdWUoc3RhdGljX2Nhc3Q8Q0ZCb29sZWFuUmVmPih2YWx1ZS5n
ZXQoKSkpOwotfQotCiBib29sIGNvbm5lY3RlZFByb2Nlc3NIYXNFbnRpdGxlbWVudCh4cGNfY29u
bmVjdGlvbl90IGNvbm5lY3Rpb24sIGNvbnN0IGNoYXIgKmVudGl0bGVtZW50KQogewogICAgIGF1
dG8gdmFsdWUgPSBhZG9wdE9TT2JqZWN0KHhwY19jb25uZWN0aW9uX2NvcHlfZW50aXRsZW1lbnRf
dmFsdWUoY29ubmVjdGlvbiwgZW50aXRsZW1lbnQpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCmluZGV4IDkwYjg4OTAwMDc3YzI0NWY4OWY0Zjdl
MDMwYjI1NzNkMmFhMzc4NGEuLmUwYTBmOWFkNzU5NjhkNzkxZjI2Mjg5ZmIwYjkxYzI0YTNjMDM3
YTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZp
ZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5t
bQpAQCAtNDYsNyArNDYsNiBAQAogI2ltcG9ydCAiUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24u
aCIKICNpbXBvcnQgIlJlbW90ZU9iamVjdFJlZ2lzdHJ5LmgiCiAjaW1wb3J0ICJSZW1vdGVPYmpl
Y3RSZWdpc3RyeU1lc3NhZ2VzLmgiCi0jaW1wb3J0ICJTYW5kYm94VXRpbGl0aWVzLmgiCiAjaW1w
b3J0ICJVSURlbGVnYXRlLmgiCiAjaW1wb3J0ICJVc2VyTWVkaWFQcm9jZXNzTWFuYWdlci5oIgog
I2ltcG9ydCAiVmVyc2lvbkNoZWNrcy5oIgpAQCAtMTUxLDYgKzE1MCw3IEBACiAjaW1wb3J0IDxX
ZWJDb3JlL1dlYlNRTGl0ZURhdGFiYXNlVHJhY2tlckNsaWVudC5oPgogI2ltcG9ydCA8cGFsL3Nw
aS9jZy9Db3JlR3JhcGhpY3NTUEkuaD4KICNpbXBvcnQgPHBhbC9zcGkvY29jb2EvUXVhcnR6Q29y
ZVNQSS5oPgorI2ltcG9ydCA8d3RmL2NvY29hL0VudGl0bGVtZW50cy5oPgogCiAjZGVmaW5lIFJF
TEVBU0VfTE9HX0lGX0FMTE9XRUQoLi4uKSBSRUxFQVNFX0xPR19JRihfcGFnZSAmJiBfcGFnZS0+
aXNBbHdheXNPbkxvZ2dpbmdBbGxvd2VkKCksIFZpZXdTdGF0ZSwgX19WQV9BUkdTX18pCiAKQEAg
LTYxNiw3ICs2MTYsNyBAQCAtICh2b2lkKV9pbml0aWFsaXplV2l0aENvbmZpZ3VyYXRpb246KFdL
V2ViVmlld0NvbmZpZ3VyYXRpb24gKiljb25maWd1cmF0aW9uCiAjZW5kaWYKIAogI2lmIFBMQVRG
T1JNKElPUykgJiYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQotICAgIGlmICghV2ViS2l0Ojpwcm9j
ZXNzSGFzRW50aXRsZW1lbnQoQCJjb20uYXBwbGUuZGV2ZWxvcGVyLldlYktpdC5TZXJ2aWNlV29y
a2VycyIpKQorICAgIGlmICghV1RGOjpwcm9jZXNzSGFzRW50aXRsZW1lbnQoImNvbS5hcHBsZS5k
ZXZlbG9wZXIuV2ViS2l0LlNlcnZpY2VXb3JrZXJzIikpCiAgICAgICAgIHBhZ2VDb25maWd1cmF0
aW9uLT5wcmVmZXJlbmNlVmFsdWVzKCkuc2V0KFdlYktpdDo6V2ViUHJlZmVyZW5jZXNLZXk6OnNl
cnZpY2VXb3JrZXJzRW5hYmxlZEtleSgpLCBXZWJLaXQ6OldlYlByZWZlcmVuY2VzU3RvcmU6OlZh
bHVlKGZhbHNlKSk7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQXBwbGljYXRpb25TdGF0ZVRyYWNrZXIubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
cHBsaWNhdGlvblN0YXRlVHJhY2tlci5tbQppbmRleCBjNjUyM2EzOGFkODYzZjhmYmM1MmU0ZDE4
MmUwZTg3YTBjNzc5ODM2Li4xY2ZhMDgwYjg4ZWQ5OGYwNzI4ZThlNzFjNTlmZDY3ZDQxM2VhNzY3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BcHBsaWNhdGlvblN0YXRlVHJh
Y2tlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BcHBsaWNhdGlvblN0YXRlVHJh
Y2tlci5tbQpAQCAtMzIsNiArMzIsNyBAQAogI2ltcG9ydCAiU2FuZGJveFV0aWxpdGllcy5oIgog
I2ltcG9ydCAiVUlLaXRTUEkuaCIKICNpbXBvcnQgPHd0Zi9PYmpjUnVudGltZUV4dHJhcy5oPgor
I2ltcG9ydCA8d3RmL2NvY29hL0VudGl0bGVtZW50cy5oPgogI2ltcG9ydCA8d3RmL3NwaS9jb2Nv
YS9TZWN1cml0eVNQSS5oPgogCiBAaW50ZXJmYWNlIFVJV2luZG93IChXS0RldGFpbHMpCkBAIC01
NCw3ICs1NSw3IEBAIHN0YXRpYyBBcHBsaWNhdGlvblR5cGUgYXBwbGljYXRpb25UeXBlKFVJV2lu
ZG93ICp3aW5kb3cpCiAgICAgaWYgKF9VSUFwcGxpY2F0aW9uSXNFeHRlbnNpb24oKSkKICAgICAg
ICAgcmV0dXJuIEFwcGxpY2F0aW9uVHlwZTo6RXh0ZW5zaW9uOwogCi0gICAgaWYgKHByb2Nlc3NI
YXNFbnRpdGxlbWVudChAImNvbS5hcHBsZS5VSUtpdC52ZW5kcy12aWV3LXNlcnZpY2VzIikgJiYg
d2luZG93Ll9pc0hvc3RlZEluQW5vdGhlclByb2Nlc3MpCisgICAgaWYgKFdURjo6cHJvY2Vzc0hh
c0VudGl0bGVtZW50KCJjb20uYXBwbGUuVUlLaXQudmVuZHMtdmlldy1zZXJ2aWNlcyIpICYmIHdp
bmRvdy5faXNIb3N0ZWRJbkFub3RoZXJQcm9jZXNzKQogICAgICAgICByZXR1cm4gQXBwbGljYXRp
b25UeXBlOjpWaWV3U2VydmljZTsKIAogICAgIHJldHVybiBBcHBsaWNhdGlvblR5cGU6OkFwcGxp
Y2F0aW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQWN0aW9u
U2hlZXRBc3Npc3RhbnQubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tBY3Rpb25T
aGVldEFzc2lzdGFudC5tbQppbmRleCBkNDU1N2VjMDEzZTNjYThjNTMwNDU3NDgzNjZmMTkwOTYz
NWNhNzkwLi4zZGVmMjI5MTcxNWExZDQ3NzVlNmI2NzY5NTkwNjk5NDkzY2M2MWIzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tBY3Rpb25TaGVldEFzc2lzdGFudC5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tBY3Rpb25TaGVldEFzc2lzdGFu
dC5tbQpAQCAtMjksNyArMjksNiBAQAogI2lmIFBMQVRGT1JNKElPUykKIAogI2ltcG9ydCAiQVBJ
VUlDbGllbnQuaCIKLSNpbXBvcnQgIlNhbmRib3hVdGlsaXRpZXMuaCIKICNpbXBvcnQgIlRDQ1NQ
SS5oIgogI2ltcG9ydCAiVUlLaXRTUEkuaCIKICNpbXBvcnQgIldLQWN0aW9uU2hlZXQuaCIKQEAg
LTQ1LDYgKzQ0LDcgQEAKICNpbXBvcnQgPFdlYkNvcmUvV2ViQ29yZU5TVVJMRXh0cmFzLmg+CiAj
aW1wb3J0IDx3dGYvU29mdExpbmtpbmcuaD4KICNpbXBvcnQgPHd0Zi9XZWFrT2JqQ1B0ci5oPgor
I2ltcG9ydCA8d3RmL2NvY29hL0VudGl0bGVtZW50cy5oPgogI2ltcG9ydCA8d3RmL3RleHQvV1RG
U3RyaW5nLmg+CiAKICNpZiBIQVZFKEFQUF9MSU5LUykKQEAgLTY2LDcgKzY2LDcgQEAgdXNpbmcg
bmFtZXNwYWNlIFdlYktpdDsKICNpZiBIQVZFKEFQUF9MSU5LUykKIHN0YXRpYyBib29sIGFwcGxp
Y2F0aW9uSGFzQXBwTGlua0VudGl0bGVtZW50cygpCiB7Ci0gICAgc3RhdGljIGJvb2wgaGFzRW50
aXRsZW1lbnQgPSBwcm9jZXNzSGFzRW50aXRsZW1lbnQoQCJjb20uYXBwbGUucHJpdmF0ZS5jYW5H
ZXRBcHBMaW5rSW5mbyIpICYmIHByb2Nlc3NIYXNFbnRpdGxlbWVudChAImNvbS5hcHBsZS5wcml2
YXRlLmNhbk1vZGlmeUFwcExpbmtQZXJtaXNzaW9ucyIpOworICAgIHN0YXRpYyBib29sIGhhc0Vu
dGl0bGVtZW50ID0gV1RGOjpwcm9jZXNzSGFzRW50aXRsZW1lbnQoImNvbS5hcHBsZS5wcml2YXRl
LmNhbkdldEFwcExpbmtJbmZvIikgJiYgV1RGOjpwcm9jZXNzSGFzRW50aXRsZW1lbnQoImNvbS5h
cHBsZS5wcml2YXRlLmNhbk1vZGlmeUFwcExpbmtQZXJtaXNzaW9ucyIpOwogICAgIHJldHVybiBo
YXNFbnRpdGxlbWVudDsKIH0KIApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMv
Q2hhbmdlTG9nCmluZGV4IDg5YjUzMmEzODZkNmU2MDJmZjFiM2NhMmZmZjllMGNjMTgwYmFhZDQu
LmU2NGE0ZDcyOGZkZGNiMmM5NGEzODE1Yjk0ZDE3OGE0ZjM3ZDFiMGEgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAx
OC0wNi0wNyAgVGFkZXUgWmFnYWxsbyAgPHR6YWdhbGxvQGFwcGxlLmNvbT4KKworICAgICAgICBE
b24ndCB0cnkgdG8gYWxsb2NhdGUgSklUIG1lbW9yeSBpZiB3ZSBkb24ndCBoYXZlIHRoZSBKSVQg
ZW50aXRsZW1lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE4MjYwNQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzgyNzEyMjk+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTWFyayBMYW0uCisKKyAgICAgICAgQ2hlY2sgdGhhdCB0aGUgY3VycmVudCBw
cm9jZXNzIGhhcyB0aGUgY29ycmVjdCBlbnRpdGxlbWVudHMgYmVmb3JlCisgICAgICAgIHRyeWlu
ZyB0byBhbGxvY2F0ZSBKSVQgbWVtb3J5IHRvIHNpbGVuY2Ugd2FybmluZ3MuCisKKyAgICAgICAg
KiBUZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajog
aU9TIHJlcXVpcmVzIHRoZSBTZWN1cml0eSBmcmFtZXdvcmsgdG8gY2hlY2sgZW50aXRsZW1lbnRz
CisKIDIwMTgtMDYtMDUgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAg
ICBSZWdyZXNzaW9uKHIyMzIwODIpOiBXZWJzaXRlcyBnZXQgbG9hZGVkIGluc2lkZSBvZiBNZXNz
YWdlcyBBcHAgY2hhdCB0cmFuc2NyaXB0CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDEzMTY3
YTg5MmE0YmY5NDZiODBhYjU1YTdiNTZhNzEwZTgwOTE5ZmMuLjU5MDcyMGQ0OTIwZDQ2MWU5Nzk1
NTVhOWQzZWYxMGFhMmRhOGE2ZmMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC00Nyw2ICs0
Nyw3IEBACiAJCTBGNTY1MUY3MUZDRTREREMwMDMxMEZCQyAvKiBOb0hpc3RvcnlJdGVtU2Nyb2xs
VG9GcmFnbWVudC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDBGNTY1MUY2MUZDRTREREIwMDMxMEZCQyAvKiBOb0hpc3RvcnlJdGVtU2Nyb2xsVG9GcmFn
bWVudC5tbSAqLzsgfTsKIAkJMEY1NjUxRjkxRkNFNTEzNTAwMzEwRkJDIC8qIHNjcm9sbC10by1h
bmNob3IuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwRjU2NTFGODFGQ0U1MEU4MDAzMTBGQkMgLyogc2Nyb2xsLXRvLWFuY2hvci5odG1s
ICovOyB9OwogCQkxMTVFQjM0MzFFRTBCQTAzMDAzQzJDMEEgLyogVmlld3BvcnRTaXplRm9yVmll
d3BvcnRVbml0cy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDExNUVCMzQyMUVFMEI3MjAwMDNDMkMwQSAvKiBWaWV3cG9ydFNpemVGb3JWaWV3cG9ydFVu
aXRzLm1tICovOyB9OworCQkxNDNEREU5ODIwQzkwMThCMDA3Rjc2RkEgLyogU2VjdXJpdHkuZnJh
bWV3b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NTc0RjU1RDAyMDRENDcxQzAwMjk0OEM2IC8qIFNlY3VyaXR5LmZyYW1ld29yayAqLzsgfTsKIAkJ
MUEwMkM4NzAxMjVENENGRDAwRTNGNEJEIC8qIGZpbmQuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTAyQzg0QjEyNUQ0QTVFMDBFM0Y0
QkQgLyogZmluZC5odG1sICovOyB9OwogCQkxQTM1MjRBRTFENjNBNEZCMDAzMTcyOUIgLyogU2Nv
cGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEz
NTI0QUMxRDYzQTRGQjAwMzE3MjlCIC8qIFNjb3BlLmNwcCAqLzsgfTsKIAkJMUE0RjgxQ0YxQkRG
RkQ1MzAwNEU2NzJFIC8qIFJlbW90ZU9iamVjdFJlZ2lzdHJ5UGx1Z0luLm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE0RjgxQ0QxQkRGRkQ1MzAwNEU2
NzJFIC8qIFJlbW90ZU9iamVjdFJlZ2lzdHJ5UGx1Z0luLm1tICovOyB9OwpAQCAtMjAyMCw2ICsy
MDIxLDcgQEAKIAkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CiAJCQlmaWxlcyA9ICgK
IAkJCQk5M0Y1NkRBNzFFNUY5MTc0MDAzRURFODQgLyogbGliaWN1Y29yZS5keWxpYiBpbiBGcmFt
ZXdvcmtzICovLAorCQkJCTE0M0RERTk4MjBDOTAxOEIwMDdGNzZGQSAvKiBTZWN1cml0eS5mcmFt
ZXdvcmsgaW4gRnJhbWV3b3JrcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBv
c3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>342208</attachid>
            <date>2018-06-07 14:58:31 -0700</date>
            <delta_ts>2018-06-07 15:28:24 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-182605-20180607145830.patch</filename>
            <type>text/plain</type>
            <size>21717</size>
            <attacher name="Tadeu Zagallo">tzagallo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMyNTQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
NjE0ODY4ZmUzNWQwYTQ1ODFkZGUzNTI5MWM4ZDdhNDkzNGM4MDQ0Li5iNzYwNDg1NjhjMDRiMGRl
YTY1YzE0Y2Q0MDA1Nzk1YzBmYTUwMzIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOCBAQAorMjAxOC0wNi0wNyAgVGFkZXUgWmFnYWxsbyAgPHR6YWdhbGxvQGFwcGxlLmNv
bT4KKworICAgICAgICBEb24ndCB0cnkgdG8gYWxsb2NhdGUgSklUIG1lbW9yeSBpZiB3ZSBkb24n
dCBoYXZlIHRoZSBKSVQgZW50aXRsZW1lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE4MjYwNQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzgyNzEy
Mjk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTWFyayBMYW0uCisKKyAgICAgICAgQ2hlY2sgdGhh
dCB0aGUgY3VycmVudCBwcm9jZXNzIGhhcyB0aGUgY29ycmVjdCBlbnRpdGxlbWVudHMgYmVmb3Jl
CisgICAgICAgIHRyeWluZyB0byBhbGxvY2F0ZSBKSVQgbWVtb3J5IHRvIHNpbGVuY2Ugd2Fybmlu
Z3MuCisKKyAgICAgICAgKiBqaXQvRXhlY3V0YWJsZUFsbG9jYXRvci5jcHA6CisgICAgICAgIChK
U0M6OmFsbG93SklUKTogSGVscGVyIHRoYXQgY2hlY2tzIGVudGl0bGVtZW50cyBvbiBpT1MgYW5k
IHJldHVybnMgdHJ1ZSBpbiBvdGhlciBwbGF0Zm9ybXMKKyAgICAgICAgKEpTQzo6Rml4ZWRWTVBv
b2xFeGVjdXRhYmxlQWxsb2NhdG9yOjpGaXhlZFZNUG9vbEV4ZWN1dGFibGVBbGxvY2F0b3IpOiBj
aGVjayBhbGxvd0pJVCBiZWZvcmUgdHJ5aW5nIHRvIGFsbG9jYXRlCisKIDIwMTgtMDYtMDUgIEJy
ZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CiAKICAgICAgICAgQWRqdXN0IGNvbXBp
bGUgYW5kIHJ1bnRpbWUgZmxhZ3MgdG8gbWF0Y2ggc2hpcHBhYmxlIHN0YXRlIG9mIGZlYXR1cmVz
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9n
CmluZGV4IDA1ZGI0MjQ0N2M1OGZhMGJmMzdlN2E4ZTUxNGVhZmY3MzE3NjdhODUuLmZhNmExNjY1
N2Y2N2UwNTU5NmViZGFmN2Q1NmNjM2Y4MTU3ODc5MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIw
MTgtMDYtMDcgIFRhZGV1IFphZ2FsbG8gIDx0emFnYWxsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
RG9uJ3QgdHJ5IHRvIGFsbG9jYXRlIEpJVCBtZW1vcnkgaWYgd2UgZG9uJ3QgaGF2ZSB0aGUgSklU
IGVudGl0bGVtZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xODI2MDUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM4MjcxMjI5PgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1vdmUgcHJvY2Vzc0hhc0Vu
dGl0bGVtZW50IGZyb20gU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL1NhbmRib3hVdGlsaXRpZXMu
aAorICAgICAgICBpbnRvIFdURiBzbyBKYXZhU2NyaXB0Q29yZSBjYW4gYWxzbyB1c2UgaXQuCisK
KyAgICAgICAgKiBXVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiB3dGYv
UGxhdGZvcm1NYWMuY21ha2U6CisgICAgICAgICogd3RmL2NvY29hL0VudGl0bGVtZW50cy5jcHA6
CisgICAgICAgIChXVEY6OnByb2Nlc3NIYXNFbnRpdGxlbWVudCk6CisgICAgICAgICogd3RmL2Nv
Y29hL0VudGl0bGVtZW50cy5oOgorICAgICAgICAqIHd0Zi9zcGkvY29jb2EvU2VjdXJpdHlTUEku
aDoKKwogMjAxOC0wNi0wNSAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgW0NvY29hXSBSZXRpcmUgRGlzcGF0Y2hQdHIsIGFuZCBhZGQgbW9yZSBtb3ZlIHNlbWFudGlj
cyBhbmQgc2ltcGxlciAjaWZzIHRvIG90aGVyIHNtYXJ0IHBvaW50ZXJzCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGRl
NTIwNjAxODU5NGIyMDBkY2JjZWFkYmQ3OWI0NmZmMGQ4OWZmNmUuLjQ5OGZjMzIwYTM4N2FjNTE0
N2JhMzFlYTNjMGQyYzhlMzhhNDhiMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTgt
MDYtMDcgIFRhZGV1IFphZ2FsbG8gIDx0emFnYWxsb0BhcHBsZS5jb20+CisKKyAgICAgICAgRG9u
J3QgdHJ5IHRvIGFsbG9jYXRlIEpJVCBtZW1vcnkgaWYgd2UgZG9uJ3QgaGF2ZSB0aGUgSklUIGVu
dGl0bGVtZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xODI2MDUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM4MjcxMjI5PgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSBwcm9jZXNzSGFzRW50
aXRsZW1lbnQsIHdoaWNoIHdhcyBtb3ZlZCBpbnRvIFdURiBhbmQgdXBkYXRlIGFsbCBjYWxsIHNp
dGVzLgorCisgICAgICAgICogU2hhcmVkL21hYy9TYW5kYm94VXRpbGl0aWVzLmg6CisgICAgICAg
ICogU2hhcmVkL21hYy9TYW5kYm94VXRpbGl0aWVzLm1tOgorICAgICAgICAoV2ViS2l0Ojpwcm9j
ZXNzSGFzRW50aXRsZW1lbnQpOiBEZWxldGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tXZWJWaWV3Lm1tOgorICAgICAgICAoLVtXS1dlYlZpZXcgX2luaXRpYWxpemVXaXRoQ29u
ZmlndXJhdGlvbjpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQXBwbGljYXRpb25TdGF0ZVRyYWNr
ZXIubW06CisgICAgICAgIChXZWJLaXQ6OmFwcGxpY2F0aW9uVHlwZSk6CisgICAgICAgICogVUlQ
cm9jZXNzL2lvcy9XS0FjdGlvblNoZWV0QXNzaXN0YW50Lm1tOgorICAgICAgICAoYXBwbGljYXRp
b25IYXNBcHBMaW5rRW50aXRsZW1lbnRzKToKKwogMjAxOC0wNi0wNiAgSmVyZW15IEpvbmVzICA8
amVyZW15akBhcHBsZS5jb20+CiAKICAgICAgICAgYXR0ZW51YXRpb25GYWN0b3Igc2hvdWxkIGJl
IGluIHJhbmdlIFswLDFdCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0V4
ZWN1dGFibGVBbGxvY2F0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9FeGVjdXRh
YmxlQWxsb2NhdG9yLmNwcAppbmRleCAzZTdlN2U2MWZjMmNkZjZkNTJhODdjZjBmOTZlNDJmNjY3
NWIyZTBmLi40NjA4YWU2MmUzMmY1YTZiZDdjYWExZGQ3ZTc3Y2VlNGFhMjM4NDdhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0V4ZWN1dGFibGVBbGxvY2F0b3IuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvRXhlY3V0YWJsZUFsbG9jYXRvci5jcHAKQEAg
LTM4LDYgKzM4LDEwIEBACiAjaW5jbHVkZSA8c3lzL21tYW4uaD4KICNlbmRpZgogCisjaWYgUExB
VEZPUk0oSU9TKQorI2luY2x1ZGUgPHd0Zi9jb2NvYS9FbnRpdGxlbWVudHMuaD4KKyNlbmRpZgor
CiAjaW5jbHVkZSAiTGlua0J1ZmZlci5oIgogI2luY2x1ZGUgIk1hY3JvQXNzZW1ibGVyLmgiCiAK
QEAgLTExMCwxMiArMTE0LDI0IEBAIEpTX0VYUE9SVF9QUklWQVRFIEpJVFdyaXRlU2VwYXJhdGVI
ZWFwc0Z1bmN0aW9uIGppdFdyaXRlU2VwYXJhdGVIZWFwc0Z1bmN0aW9uOwogc3RhdGljIHVpbnRw
dHJfdCBzdGFydE9mRml4ZWRXcml0YWJsZU1lbW9yeVBvb2w7CiAjZW5kaWYKIAorc3RhdGljIGJv
b2wgYWxsb3dKSVQoKQoreworI2lmIFBMQVRGT1JNKElPUykgJiYgKENQVShBUk02NCkgfHwgQ1BV
KEFSTSkpCisgICAgcmV0dXJuIHByb2Nlc3NIYXNFbnRpdGxlbWVudCgiZHluYW1pYy1jb2Rlc2ln
bmluZyIpOworI2Vsc2UKKyAgICByZXR1cm4gdHJ1ZTsKKyNlbmRpZgorfQorCiBjbGFzcyBGaXhl
ZFZNUG9vbEV4ZWN1dGFibGVBbGxvY2F0b3IgOiBwdWJsaWMgTWV0YUFsbG9jYXRvciB7CiAgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgRml4ZWRWTVBvb2xFeGVjdXRh
YmxlQWxsb2NhdG9yKCkKICAgICAgICAgOiBNZXRhQWxsb2NhdG9yKGppdEFsbG9jYXRpb25HcmFu
dWxlKSAvLyByb3VuZCB1cCBhbGwgYWxsb2NhdGlvbnMgdG8gMzIgYnl0ZXMKICAgICB7CisgICAg
ICAgIGlmICghYWxsb3dKSVQoKSkKKyAgICAgICAgICAgIHJldHVybjsKKwogICAgICAgICBzaXpl
X3QgcmVzZXJ2YXRpb25TaXplOwogICAgICAgICBpZiAoT3B0aW9uczo6aml0TWVtb3J5UmVzZXJ2
YXRpb25TaXplKCkpCiAgICAgICAgICAgICByZXNlcnZhdGlvblNpemUgPSBPcHRpb25zOjpqaXRN
ZW1vcnlSZXNlcnZhdGlvblNpemUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvV1RGLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCmluZGV4IDg2MmM3Y2NiYzJmMDhlMGM2ZWU4ZWUyMDcyODE1NmVkZGVmN2QzZmYuLjY0
N2E5MTA1Yjc3Y2M0MGZkMTEyM2YwYzk2YTE2Y2I5MDUzNzYzZWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dURi9XVEYu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNDQsNiArNDQsNyBAQAogCQkwRkVDM0M1RTFG
MzY4QTk3MDBGNTlCNkMgLyogUmVhZFdyaXRlTG9jay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkVDM0M1QzFGMzY4QTk3MDBGNTlCNkMgLyogUmVh
ZFdyaXRlTG9jay5jcHAgKi87IH07CiAJCTBGRkYxOURDMUJCMzM0RUIwMDg4NkQ5MSAvKiBQYXJh
bGxlbEhlbHBlclBvb2wuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMEZGRjE5REExQkIzMzRFQjAwODg2RDkxIC8qIFBhcmFsbGVsSGVscGVyUG9vbC5j
cHAgKi87IH07CiAJCTE0MDIyRjQxMThGNUMzRkMwMDdGRjBFQiAvKiBsaWJibWFsbG9jLmEgaW4g
RnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDAyMkY0MDE4
RjVDM0ZDMDA3RkYwRUIgLyogbGliYm1hbGxvYy5hICovOyB9OworCQkxNDNEREU5NjIwQzhCQzM3
MDA3Rjc2RkEgLyogRW50aXRsZW1lbnRzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDE0M0RERTk1MjBDOEJDMzcwMDdGNzZGQSAvKiBFbnRpdGxlbWVu
dHMuY3BwICovOyB9OwogCQkxNDNGNjExRjE1NjVGMEY5MDBEQjUxNEEgLyogUkFNU2l6ZS5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDNGNjExRDE1
NjVGMEY5MDBEQjUxNEEgLyogUkFNU2l6ZS5jcHAgKi87IH07CiAJCTE0NDdBRUM2MThGQ0U1Nzcw
MEIzRDdGRiAvKiBGb3VuZGF0aW9uLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0NDdBRUM1MThGQ0U1NzcwMEIzRDdGRiAvKiBGb3Vu
ZGF0aW9uLmZyYW1ld29yayAqLzsgfTsKIAkJMTQ0N0FFQzcxOEZDRTU4MDAwQjNEN0ZGIC8qIGxp
YldURi5hIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NUQyNDdCNjIxNDY4OUI4NjAwRTc4Qjc2IC8qIGxpYldURi5hICovOyB9OwpAQCAtMjY4LDYgKzI2
OSw4IEBACiAJCTBGRkYxOURCMUJCMzM0RUIwMDg4NkQ5MSAvKiBQYXJhbGxlbEhlbHBlclBvb2wu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGFyYWxsZWxIZWxwZXJQb29sLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTEzMjc0MzkyNEZDNTRFNDY5RjVBOEU2RSAv
KiBTdGRVbm9yZGVyZWRTZXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3Rk
VW5vcmRlcmVkU2V0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTE0MDIyRjQwMThG
NUMzRkMwMDdGRjBFQiAvKiBsaWJibWFsbG9jLmEgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBhcmNoaXZlLmFyOyBwYXRoID0gbGliYm1hbGxvYy5hOyBz
b3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OworCQkxNDNEREU5NTIwQzhCQzM3MDA3
Rjc2RkEgLyogRW50aXRsZW1lbnRzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEVudGl0bGVtZW50cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0
M0RERTk3MjBDOEJFOTkwMDdGNzZGQSAvKiBFbnRpdGxlbWVudHMuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gRW50aXRsZW1lbnRzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTE0M0Y2MTFEMTU2NUYwRjkwMERCNTE0QSAvKiBSQU1TaXplLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJBTVNpemUuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkxNDNGNjExRTE1NjVGMEY5MDBEQjUxNEEgLyogUkFNU2l6ZS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSQU1TaXplLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTE0NDdBRUJFMThGQ0U1NjkwMEIzRDdGRiAvKiBsaWJtYm1hbGxvYy5keWxp
YiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBleHBsaWNpdEZpbGVUeXBlID0gImNvbXBp
bGVkLm1hY2gtby5keWxpYiI7IGluY2x1ZGVJbkluZGV4ID0gMDsgcGF0aCA9IGxpYm1ibWFsbG9j
LmR5bGliOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwpAQCAtMTMxNSw2ICsx
MzE4LDggQEAKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCiAJCQkJRTM4QzQx
MjQxRUI0RTA0QzAwNDI5NTdEIC8qIENQVVRpbWVDb2NvYS5tbSAqLywKKwkJCQkxNDNEREU5NTIw
QzhCQzM3MDA3Rjc2RkEgLyogRW50aXRsZW1lbnRzLmNwcCAqLywKKwkJCQkxNDNEREU5NzIwQzhC
RTk5MDA3Rjc2RkEgLyogRW50aXRsZW1lbnRzLmggKi8sCiAJCQkJN0E2RUJBMzMyMDc0NkMzNDAw
NEY5QzQ0IC8qIE1hY2hTZW5kUmlnaHQuY3BwICovLAogCQkJCUFERjJDRTY1MUUzOUYxMDYwMDY4
ODlEQiAvKiBNZW1vcnlGb290cHJpbnRDb2NvYS5jcHAgKi8sCiAJCQkJQUQ4OUI2QjkxRTY0MTUw
RjAwOTA3MDdGIC8qIE1lbW9yeVByZXNzdXJlSGFuZGxlckNvY29hLm1tICovLApAQCAtMTQ2NSw2
ICsxNDcwLDcgQEAKIAkJCQlBOEE0NzNBRTE1MUE4MjVCMDA0MTIzRkYgLyogZGl5LWZwLmNjIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQThBNDczQjAxNTFBODI1QjAwNDEyM0ZGIC8qIGRvdWJsZS1jb252
ZXJzaW9uLmNjIGluIFNvdXJjZXMgKi8sCiAJCQkJQThBNDczQkExNTFBODI1QjAwNDEyM0ZGIC8q
IGR0b2EuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMTQzRERFOTYyMEM4QkMzNzAwN0Y3NkZBIC8q
IEVudGl0bGVtZW50cy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBOEE0NzNCMzE1MUE4MjVCMDA0
MTIzRkYgLyogZmFzdC1kdG9hLmNjIGluIFNvdXJjZXMgKi8sCiAJCQkJMEY3QzVGQjYxRDg4NUNG
MjAwNDRGNUUyIC8qIEZhc3RCaXRWZWN0b3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQThBNDcz
QzMxNTFBODI1QjAwNDEyM0ZGIC8qIEZhc3RNYWxsb2MuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybU1hYy5jbWFrZSBiL1NvdXJjZS9XVEYvd3Rm
L1BsYXRmb3JtTWFjLmNtYWtlCmluZGV4IDc0YjhkZDkwNmFkOGFlYzliZmNlMDNjZTgyNWJmZWUw
MmM2MGU0OTUuLmEyNmUwNTAzZTVmMzVlOTk0ZjJjMzliMzk5MWYzZDhjZTY0NGIzNTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtTWFjLmNtYWtlCisrKyBiL1NvdXJjZS9XVEYv
d3RmL1BsYXRmb3JtTWFjLmNtYWtlCkBAIC0xMCw2ICsxMCw3IEBAIGxpc3QoQVBQRU5EIFdURl9M
SUJSQVJJRVMKIGxpc3QoQVBQRU5EIFdURl9QVUJMSUNfSEVBREVSUwogICAgIGNmL1R5cGVDYXN0
c0NGLmgKIAorICAgIGNvY29hL0VudGl0bGVtZW50cy5oCiAgICAgY29jb2EvTWFjaFNlbmRSaWdo
dC5oCiAgICAgY29jb2EvU29mdExpbmtpbmcuaAogCkBAIC00Myw2ICs0NCw3IEBAIGxpc3QoQVBQ
RU5EIFdURl9TT1VSQ0VTCiAgICAgdGV4dC9tYWMvVGV4dEJyZWFrSXRlcmF0b3JJbnRlcm5hbElD
VU1hYy5tbQogCiAgICAgY29jb2EvQ1BVVGltZUNvY29hLm1tCisgICAgY29jb2EvRW50aXRsZW1l
bnRzLmNwcAogICAgIGNvY29hL01hY2hTZW5kUmlnaHQuY3BwCiAgICAgY29jb2EvTWVtb3J5Rm9v
dHByaW50Q29jb2EuY3BwCiAgICAgY29jb2EvTWVtb3J5UHJlc3N1cmVIYW5kbGVyQ29jb2EubW0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL2NvY29hL0VudGl0bGVtZW50cy5jcHAgYi9Tb3Vy
Y2UvV1RGL3d0Zi9jb2NvYS9FbnRpdGxlbWVudHMuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVjYWQ5NTFkMDFk
YWZmMDM0YmZiMDNmNjg0YzNjOTU0NTZiYTEwN2QKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V1RGL3d0Zi9jb2NvYS9FbnRpdGxlbWVudHMuY3BwCkBAIC0wLDAgKzEsNTEgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRW50aXRsZW1lbnRzLmgiCisKKyNp
bmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CisjaW5jbHVkZSA8d3RmL3NwaS9jb2NvYS9TZWN1cml0
eVNQSS5oPgorCituYW1lc3BhY2UgV1RGIHsKKworYm9vbCBwcm9jZXNzSGFzRW50aXRsZW1lbnQo
Y29uc3QgY2hhciogZW50aXRsZW1lbnQpCit7CisgICAgYXV0byB0YXNrID0gYWRvcHRDRihTZWNU
YXNrQ3JlYXRlRnJvbVNlbGYoa0NGQWxsb2NhdG9yRGVmYXVsdCkpOworICAgIGlmICghdGFzaykK
KyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgYXV0byBjZkVudGl0bGVtZW50ID0gYWRvcHRD
RihDRlN0cmluZ0NyZWF0ZVdpdGhDU3RyaW5nTm9Db3B5KGtDRkFsbG9jYXRvckRlZmF1bHQsIGVu
dGl0bGVtZW50LCBrQ0ZTdHJpbmdFbmNvZGluZ1VURjgsIGtDRkFsbG9jYXRvck51bGwpKTsKKyAg
ICBhdXRvIHZhbHVlID0gYWRvcHRDRihTZWNUYXNrQ29weVZhbHVlRm9yRW50aXRsZW1lbnQodGFz
ay5nZXQoKSwgY2ZFbnRpdGxlbWVudC5nZXQoKSwgbnVsbHB0cikpOworICAgIGlmICghdmFsdWUp
CisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmIChDRkdldFR5cGVJRCh2YWx1ZS5nZXQo
KSkgIT0gQ0ZCb29sZWFuR2V0VHlwZUlEKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAg
IHJldHVybiBDRkJvb2xlYW5HZXRWYWx1ZShzdGF0aWNfY2FzdDxDRkJvb2xlYW5SZWY+KHZhbHVl
LmdldCgpKSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdURgpkaWZmIC0tZ2l0IGEvU291cmNlL1dU
Ri93dGYvY29jb2EvRW50aXRsZW1lbnRzLmggYi9Tb3VyY2UvV1RGL3d0Zi9jb2NvYS9FbnRpdGxl
bWVudHMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi40NmE5YTI0NjhhYmY4ODYwNjM0ZTM1NDRjYjg5NDE3YmI1NDFh
MmY4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dURi93dGYvY29jb2EvRW50aXRsZW1lbnRz
LmgKQEAgLTAsMCArMSwzNCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZiBQTEFURk9STShDT0NPQSkKKwor
bmFtZXNwYWNlIFdURiB7CisKK1dURl9FWFBPUlQgYm9vbCBwcm9jZXNzSGFzRW50aXRsZW1lbnQo
Y29uc3QgY2hhciogZW50aXRsZW1lbnQpOworCit9IC8vIG5hbWVzcGFjZSBXVEYKKworI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9zcGkvY29jb2EvU2VjdXJpdHlTUEkuaCBiL1Nv
dXJjZS9XVEYvd3RmL3NwaS9jb2NvYS9TZWN1cml0eVNQSS5oCmluZGV4IDk2NDRhNjExNWRlMWYy
OTE1MzZlMGZjOGQ1NGExNDAwMDk5MGM1ZjIuLjk2ZTMwYTdjN2QyOTRmNDU1YzAzYjBkZTM3YmUw
YTRkMTIxMzVlNDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3NwaS9jb2NvYS9TZWN1cml0
eVNQSS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL3NwaS9jb2NvYS9TZWN1cml0eVNQSS5oCkBAIC0z
Nyw2ICszNyw4IEBACiAKICNlbHNlCiAKKyNpbmNsdWRlIDxTZWN1cml0eS9TZWNCYXNlLmg+CisK
IHR5cGVkZWYgdWludDMyX3QgU2VjU2lnbmF0dXJlSGFzaEFsZ29yaXRobTsKIGVudW0gewogICAg
IGtTZWNTaWduYXR1cmVIYXNoQWxnb3JpdGhtVW5rbm93biA9IDAsCkBAIC01OSw2ICs2MSw3IEBA
IFdURl9FWFRFUk5fQ19FTkQKICNlbmRpZgogCiB0eXBlZGVmIHN0cnVjdCBfX1NlY1Rhc2sgKlNl
Y1Rhc2tSZWY7Cit0eXBlZGVmIHN0cnVjdCBfX1NlY1RydXN0ICpTZWNUcnVzdFJlZjsKIAogV1RG
X0VYVEVSTl9DX0JFR0lOCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9T
YW5kYm94VXRpbGl0aWVzLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvU2FuZGJveFV0aWxp
dGllcy5oCmluZGV4IDRmNWZiY2RkN2VhYWU0N2U3OWRhYWNmMWJhODk5MWNiZmYzYzNjNDAuLmQ2
MGY0MjdkNjc5Nzg3M2UzMjIyMmI2MmI1NjUzMDJjOTVlNjM2YWIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL21hYy9TYW5kYm94VXRpbGl0aWVzLmgKKysrIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvbWFjL1NhbmRib3hVdGlsaXRpZXMuaApAQCAtMzgsNyArMzgsNiBAQCBib29sIHBy
b2Nlc3NIYXNDb250YWluZXIoKTsKIC8vIFJldHVybnMgYW4gZW1wdHkgc3RyaW5nIGlmIHRoZSBw
cm9jZXNzIGlzIG5vdCBpbiBhIGNvbnRhaW5lci4KIFN0cmluZyBwYXRoRm9yUHJvY2Vzc0NvbnRh
aW5lcigpOwogCi1ib29sIHByb2Nlc3NIYXNFbnRpdGxlbWVudChOU1N0cmluZyAqZW50aXRsZW1l
bnQpOwogYm9vbCBjb25uZWN0ZWRQcm9jZXNzSGFzRW50aXRsZW1lbnQoeHBjX2Nvbm5lY3Rpb25f
dCwgY29uc3QgY2hhciAqZW50aXRsZW1lbnQpOwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9tYWMvU2FuZGJveFV0aWxpdGllcy5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L21hYy9TYW5kYm94VXRpbGl0aWVzLm1tCmluZGV4IGQzODY2NjdiOTgxM2Q0MWJjODlhNjdhNTI4
YTc2MjI2YTFlNjc3NGUuLmFmYzZiMjRhZTFkN2U4ODllYWMwNzNmNmNkOTZkMDQyMmQ2MjMxYmIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9TYW5kYm94VXRpbGl0aWVzLm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9TYW5kYm94VXRpbGl0aWVzLm1tCkBAIC0y
OSw3ICsyOSw3IEBACiAjaW1wb3J0IDxhcnJheT4KICNpbXBvcnQgPHN5cy9wYXJhbS5oPgogI2lt
cG9ydCA8d3RmL09TT2JqZWN0UHRyLmg+Ci0jaW1wb3J0IDx3dGYvc3BpL2NvY29hL1NlY3VyaXR5
U1BJLmg+CisjaW1wb3J0IDx3dGYvY29jb2EvRW50aXRsZW1lbnRzLmg+CiAjaW1wb3J0IDx3dGYv
c3BpL2Rhcndpbi9TYW5kYm94U1BJLmg+CiAjaW1wb3J0IDx3dGYvc3BpL2Rhcndpbi9YUENTUEku
aD4KICNpbXBvcnQgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgpAQCAtNzcsMjIgKzc3LDYgQEAgU3Ry
aW5nIHBhdGhGb3JQcm9jZXNzQ29udGFpbmVyKCkKICAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRG
OChwYXRoLmRhdGEoKSk7CiB9CiAKLWJvb2wgcHJvY2Vzc0hhc0VudGl0bGVtZW50KE5TU3RyaW5n
ICplbnRpdGxlbWVudCkKLXsKLSAgICBhdXRvIHRhc2sgPSBhZG9wdENGKFNlY1Rhc2tDcmVhdGVG
cm9tU2VsZihDRkFsbG9jYXRvckdldERlZmF1bHQoKSkpOwotICAgIGlmICghdGFzaykKLSAgICAg
ICAgcmV0dXJuIGZhbHNlOwotCi0gICAgYXV0byB2YWx1ZSA9IGFkb3B0Q0YoU2VjVGFza0NvcHlW
YWx1ZUZvckVudGl0bGVtZW50KHRhc2suZ2V0KCksIChfX2JyaWRnZSBDRlN0cmluZ1JlZillbnRp
dGxlbWVudCwgbnVsbHB0cikpOwotICAgIGlmICghdmFsdWUpCi0gICAgICAgIHJldHVybiBmYWxz
ZTsKLQotICAgIGlmIChDRkdldFR5cGVJRCh2YWx1ZS5nZXQoKSkgIT0gQ0ZCb29sZWFuR2V0VHlw
ZUlEKCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIHJldHVybiBDRkJvb2xlYW5HZXRW
YWx1ZShzdGF0aWNfY2FzdDxDRkJvb2xlYW5SZWY+KHZhbHVlLmdldCgpKSk7Ci19Ci0KIGJvb2wg
Y29ubmVjdGVkUHJvY2Vzc0hhc0VudGl0bGVtZW50KHhwY19jb25uZWN0aW9uX3QgY29ubmVjdGlv
biwgY29uc3QgY2hhciAqZW50aXRsZW1lbnQpCiB7CiAgICAgYXV0byB2YWx1ZSA9IGFkb3B0T1NP
YmplY3QoeHBjX2Nvbm5lY3Rpb25fY29weV9lbnRpdGxlbWVudF92YWx1ZShjb25uZWN0aW9uLCBl
bnRpdGxlbWVudCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dl
YlZpZXcubW0KaW5kZXggOTBiODg5MDAwNzdjMjQ1Zjg5ZjRmN2UwMzBiMjU3M2QyYWEzNzg0YS4u
ZTBhMGY5YWQ3NTk2OGQ3OTFmMjYyODlmYjBiOTFjMjRhM2MwMzdhMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC00Niw3ICs0Niw2IEBA
CiAjaW1wb3J0ICJSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbi5oIgogI2ltcG9ydCAiUmVtb3Rl
T2JqZWN0UmVnaXN0cnkuaCIKICNpbXBvcnQgIlJlbW90ZU9iamVjdFJlZ2lzdHJ5TWVzc2FnZXMu
aCIKLSNpbXBvcnQgIlNhbmRib3hVdGlsaXRpZXMuaCIKICNpbXBvcnQgIlVJRGVsZWdhdGUuaCIK
ICNpbXBvcnQgIlVzZXJNZWRpYVByb2Nlc3NNYW5hZ2VyLmgiCiAjaW1wb3J0ICJWZXJzaW9uQ2hl
Y2tzLmgiCkBAIC0xNTEsNiArMTUwLDcgQEAKICNpbXBvcnQgPFdlYkNvcmUvV2ViU1FMaXRlRGF0
YWJhc2VUcmFja2VyQ2xpZW50Lmg+CiAjaW1wb3J0IDxwYWwvc3BpL2NnL0NvcmVHcmFwaGljc1NQ
SS5oPgogI2ltcG9ydCA8cGFsL3NwaS9jb2NvYS9RdWFydHpDb3JlU1BJLmg+CisjaW1wb3J0IDx3
dGYvY29jb2EvRW50aXRsZW1lbnRzLmg+CiAKICNkZWZpbmUgUkVMRUFTRV9MT0dfSUZfQUxMT1dF
RCguLi4pIFJFTEVBU0VfTE9HX0lGKF9wYWdlICYmIF9wYWdlLT5pc0Fsd2F5c09uTG9nZ2luZ0Fs
bG93ZWQoKSwgVmlld1N0YXRlLCBfX1ZBX0FSR1NfXykKIApAQCAtNjE2LDcgKzYxNiw3IEBAIC0g
KHZvaWQpX2luaXRpYWxpemVXaXRoQ29uZmlndXJhdGlvbjooV0tXZWJWaWV3Q29uZmlndXJhdGlv
biAqKWNvbmZpZ3VyYXRpb24KICNlbmRpZgogCiAjaWYgUExBVEZPUk0oSU9TKSAmJiBFTkFCTEUo
U0VSVklDRV9XT1JLRVIpCi0gICAgaWYgKCFXZWJLaXQ6OnByb2Nlc3NIYXNFbnRpdGxlbWVudChA
ImNvbS5hcHBsZS5kZXZlbG9wZXIuV2ViS2l0LlNlcnZpY2VXb3JrZXJzIikpCisgICAgaWYgKCFX
VEY6OnByb2Nlc3NIYXNFbnRpdGxlbWVudCgiY29tLmFwcGxlLmRldmVsb3Blci5XZWJLaXQuU2Vy
dmljZVdvcmtlcnMiKSkKICAgICAgICAgcGFnZUNvbmZpZ3VyYXRpb24tPnByZWZlcmVuY2VWYWx1
ZXMoKS5zZXQoV2ViS2l0OjpXZWJQcmVmZXJlbmNlc0tleTo6c2VydmljZVdvcmtlcnNFbmFibGVk
S2V5KCksIFdlYktpdDo6V2ViUHJlZmVyZW5jZXNTdG9yZTo6VmFsdWUoZmFsc2UpKTsKICNlbmRp
ZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BcHBsaWNhdGlvblN0YXRl
VHJhY2tlci5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FwcGxpY2F0aW9uU3RhdGVUcmFj
a2VyLm1tCmluZGV4IGM2NTIzYTM4YWQ4NjNmOGZiYzUyZTRkMTgyZTBlODdhMGM3Nzk4MzYuLjFj
ZmEwODBiODhlZDk4ZjA3MjhlOGU3MWM1OWZkNjdkNDEzZWE3NjcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FwcGxpY2F0aW9uU3RhdGVUcmFja2VyLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FwcGxpY2F0aW9uU3RhdGVUcmFja2VyLm1tCkBAIC0zMiw2ICsz
Miw3IEBACiAjaW1wb3J0ICJTYW5kYm94VXRpbGl0aWVzLmgiCiAjaW1wb3J0ICJVSUtpdFNQSS5o
IgogI2ltcG9ydCA8d3RmL09iamNSdW50aW1lRXh0cmFzLmg+CisjaW1wb3J0IDx3dGYvY29jb2Ev
RW50aXRsZW1lbnRzLmg+CiAjaW1wb3J0IDx3dGYvc3BpL2NvY29hL1NlY3VyaXR5U1BJLmg+CiAK
IEBpbnRlcmZhY2UgVUlXaW5kb3cgKFdLRGV0YWlscykKQEAgLTU0LDcgKzU1LDcgQEAgc3RhdGlj
IEFwcGxpY2F0aW9uVHlwZSBhcHBsaWNhdGlvblR5cGUoVUlXaW5kb3cgKndpbmRvdykKICAgICBp
ZiAoX1VJQXBwbGljYXRpb25Jc0V4dGVuc2lvbigpKQogICAgICAgICByZXR1cm4gQXBwbGljYXRp
b25UeXBlOjpFeHRlbnNpb247CiAKLSAgICBpZiAocHJvY2Vzc0hhc0VudGl0bGVtZW50KEAiY29t
LmFwcGxlLlVJS2l0LnZlbmRzLXZpZXctc2VydmljZXMiKSAmJiB3aW5kb3cuX2lzSG9zdGVkSW5B
bm90aGVyUHJvY2VzcykKKyAgICBpZiAoV1RGOjpwcm9jZXNzSGFzRW50aXRsZW1lbnQoImNvbS5h
cHBsZS5VSUtpdC52ZW5kcy12aWV3LXNlcnZpY2VzIikgJiYgd2luZG93Ll9pc0hvc3RlZEluQW5v
dGhlclByb2Nlc3MpCiAgICAgICAgIHJldHVybiBBcHBsaWNhdGlvblR5cGU6OlZpZXdTZXJ2aWNl
OwogCiAgICAgcmV0dXJuIEFwcGxpY2F0aW9uVHlwZTo6QXBwbGljYXRpb247CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tBY3Rpb25TaGVldEFzc2lzdGFudC5tbSBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0FjdGlvblNoZWV0QXNzaXN0YW50Lm1tCmlu
ZGV4IGQ0NTU3ZWMwMTNlM2NhOGM1MzA0NTc0ODM2NmYxOTA5NjM1Y2E3OTAuLjNkZWYyMjkxNzE1
YTFkNDc3NWU2YjY3Njk1OTA2OTk0OTNjYzYxYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL2lvcy9XS0FjdGlvblNoZWV0QXNzaXN0YW50Lm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9XS0FjdGlvblNoZWV0QXNzaXN0YW50Lm1tCkBAIC0yOSw3ICsyOSw2
IEBACiAjaWYgUExBVEZPUk0oSU9TKQogCiAjaW1wb3J0ICJBUElVSUNsaWVudC5oIgotI2ltcG9y
dCAiU2FuZGJveFV0aWxpdGllcy5oIgogI2ltcG9ydCAiVENDU1BJLmgiCiAjaW1wb3J0ICJVSUtp
dFNQSS5oIgogI2ltcG9ydCAiV0tBY3Rpb25TaGVldC5oIgpAQCAtNDUsNiArNDQsNyBAQAogI2lt
cG9ydCA8V2ViQ29yZS9XZWJDb3JlTlNVUkxFeHRyYXMuaD4KICNpbXBvcnQgPHd0Zi9Tb2Z0TGlu
a2luZy5oPgogI2ltcG9ydCA8d3RmL1dlYWtPYmpDUHRyLmg+CisjaW1wb3J0IDx3dGYvY29jb2Ev
RW50aXRsZW1lbnRzLmg+CiAjaW1wb3J0IDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogI2lmIEhB
VkUoQVBQX0xJTktTKQpAQCAtNjYsNyArNjYsNyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViS2l0Owog
I2lmIEhBVkUoQVBQX0xJTktTKQogc3RhdGljIGJvb2wgYXBwbGljYXRpb25IYXNBcHBMaW5rRW50
aXRsZW1lbnRzKCkKIHsKLSAgICBzdGF0aWMgYm9vbCBoYXNFbnRpdGxlbWVudCA9IHByb2Nlc3NI
YXNFbnRpdGxlbWVudChAImNvbS5hcHBsZS5wcml2YXRlLmNhbkdldEFwcExpbmtJbmZvIikgJiYg
cHJvY2Vzc0hhc0VudGl0bGVtZW50KEAiY29tLmFwcGxlLnByaXZhdGUuY2FuTW9kaWZ5QXBwTGlu
a1Blcm1pc3Npb25zIik7CisgICAgc3RhdGljIGJvb2wgaGFzRW50aXRsZW1lbnQgPSBXVEY6OnBy
b2Nlc3NIYXNFbnRpdGxlbWVudCgiY29tLmFwcGxlLnByaXZhdGUuY2FuR2V0QXBwTGlua0luZm8i
KSAmJiBXVEY6OnByb2Nlc3NIYXNFbnRpdGxlbWVudCgiY29tLmFwcGxlLnByaXZhdGUuY2FuTW9k
aWZ5QXBwTGlua1Blcm1pc3Npb25zIik7CiAgICAgcmV0dXJuIGhhc0VudGl0bGVtZW50OwogfQog
CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggODli
NTMyYTM4NmQ2ZTYwMmZmMWIzY2EyZmZmOWUwY2MxODBiYWFkNC4uOTBmYzM1MzA3MjgzNTY1NmU4
ODg5Mzg1Njk3ZmU0OTJiMTJjOGVlMyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBi
L1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE4LTA2LTA3ICBUYWRldSBaYWdh
bGxvICA8dHphZ2FsbG9AYXBwbGUuY29tPgorCisgICAgICAgIERvbid0IHRyeSB0byBhbGxvY2F0
ZSBKSVQgbWVtb3J5IGlmIHdlIGRvbid0IGhhdmUgdGhlIEpJVCBlbnRpdGxlbWVudAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgyNjA1CisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS8zODI3MTIyOT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBZGQgdGhlIFNlY3VyaXR5IGZyYW1ld29yayB0byB0aGUgVGVz
dFdURiB0YXJnZXQsIHNpbmNlIGl0J3MgcmVxdWlyZWQgYnkgdGhlIG5ldyBmdW5jdGlvbiB0byBj
aGVjayB0aGUgZW50aXRsZW1lbnRzLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0V2Vi
S2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKIDIwMTgtMDYtMDUgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBSZWdyZXNzaW9uKHIyMzIwODIpOiBX
ZWJzaXRlcyBnZXQgbG9hZGVkIGluc2lkZSBvZiBNZXNzYWdlcyBBcHAgY2hhdCB0cmFuc2NyaXB0
CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvaiBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDEzMTY3YTg5MmE0YmY5NDZiODBhYjU1YTdiNTZh
NzEwZTgwOTE5ZmMuLjU5MDcyMGQ0OTIwZDQ2MWU5Nzk1NTVhOWQzZWYxMGFhMmRhOGE2ZmMgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC00Nyw2ICs0Nyw3IEBACiAJCTBGNTY1MUY3MUZDRTRE
REMwMDMxMEZCQyAvKiBOb0hpc3RvcnlJdGVtU2Nyb2xsVG9GcmFnbWVudC5tbSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNTY1MUY2MUZDRTREREIwMDMx
MEZCQyAvKiBOb0hpc3RvcnlJdGVtU2Nyb2xsVG9GcmFnbWVudC5tbSAqLzsgfTsKIAkJMEY1NjUx
RjkxRkNFNTEzNTAwMzEwRkJDIC8qIHNjcm9sbC10by1hbmNob3IuaHRtbCBpbiBDb3B5IFJlc291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjU2NTFGODFGQ0U1MEU4
MDAzMTBGQkMgLyogc2Nyb2xsLXRvLWFuY2hvci5odG1sICovOyB9OwogCQkxMTVFQjM0MzFFRTBC
QTAzMDAzQzJDMEEgLyogVmlld3BvcnRTaXplRm9yVmlld3BvcnRVbml0cy5tbSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDExNUVCMzQyMUVFMEI3MjAwMDND
MkMwQSAvKiBWaWV3cG9ydFNpemVGb3JWaWV3cG9ydFVuaXRzLm1tICovOyB9OworCQkxNDNEREU5
ODIwQzkwMThCMDA3Rjc2RkEgLyogU2VjdXJpdHkuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTc0RjU1RDAyMDRENDcxQzAwMjk0OEM2
IC8qIFNlY3VyaXR5LmZyYW1ld29yayAqLzsgfTsKIAkJMUEwMkM4NzAxMjVENENGRDAwRTNGNEJE
IC8qIGZpbmQuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAxQTAyQzg0QjEyNUQ0QTVFMDBFM0Y0QkQgLyogZmluZC5odG1sICovOyB9Owog
CQkxQTM1MjRBRTFENjNBNEZCMDAzMTcyOUIgLyogU2NvcGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEzNTI0QUMxRDYzQTRGQjAwMzE3MjlCIC8q
IFNjb3BlLmNwcCAqLzsgfTsKIAkJMUE0RjgxQ0YxQkRGRkQ1MzAwNEU2NzJFIC8qIFJlbW90ZU9i
amVjdFJlZ2lzdHJ5UGx1Z0luLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMUE0RjgxQ0QxQkRGRkQ1MzAwNEU2NzJFIC8qIFJlbW90ZU9iamVjdFJlZ2lz
dHJ5UGx1Z0luLm1tICovOyB9OwpAQCAtMjAyMCw2ICsyMDIxLDcgQEAKIAkJCWJ1aWxkQWN0aW9u
TWFzayA9IDIxNDc0ODM2NDc7CiAJCQlmaWxlcyA9ICgKIAkJCQk5M0Y1NkRBNzFFNUY5MTc0MDAz
RURFODQgLyogbGliaWN1Y29yZS5keWxpYiBpbiBGcmFtZXdvcmtzICovLAorCQkJCTE0M0RERTk4
MjBDOTAxOEIwMDdGNzZGQSAvKiBTZWN1cml0eS5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLywK
IAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>342212</attachid>
            <date>2018-06-07 15:28:44 -0700</date>
            <delta_ts>2018-06-07 16:14:10 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-182605-20180607152843.patch</filename>
            <type>text/plain</type>
            <size>21699</size>
            <attacher name="Tadeu Zagallo">tzagallo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMyNTQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
NjE0ODY4ZmUzNWQwYTQ1ODFkZGUzNTI5MWM4ZDdhNDkzNGM4MDQ0Li5iNzYwNDg1NjhjMDRiMGRl
YTY1YzE0Y2Q0MDA1Nzk1YzBmYTUwMzIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOCBAQAorMjAxOC0wNi0wNyAgVGFkZXUgWmFnYWxsbyAgPHR6YWdhbGxvQGFwcGxlLmNv
bT4KKworICAgICAgICBEb24ndCB0cnkgdG8gYWxsb2NhdGUgSklUIG1lbW9yeSBpZiB3ZSBkb24n
dCBoYXZlIHRoZSBKSVQgZW50aXRsZW1lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE4MjYwNQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzgyNzEy
Mjk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTWFyayBMYW0uCisKKyAgICAgICAgQ2hlY2sgdGhh
dCB0aGUgY3VycmVudCBwcm9jZXNzIGhhcyB0aGUgY29ycmVjdCBlbnRpdGxlbWVudHMgYmVmb3Jl
CisgICAgICAgIHRyeWluZyB0byBhbGxvY2F0ZSBKSVQgbWVtb3J5IHRvIHNpbGVuY2Ugd2Fybmlu
Z3MuCisKKyAgICAgICAgKiBqaXQvRXhlY3V0YWJsZUFsbG9jYXRvci5jcHA6CisgICAgICAgIChK
U0M6OmFsbG93SklUKTogSGVscGVyIHRoYXQgY2hlY2tzIGVudGl0bGVtZW50cyBvbiBpT1MgYW5k
IHJldHVybnMgdHJ1ZSBpbiBvdGhlciBwbGF0Zm9ybXMKKyAgICAgICAgKEpTQzo6Rml4ZWRWTVBv
b2xFeGVjdXRhYmxlQWxsb2NhdG9yOjpGaXhlZFZNUG9vbEV4ZWN1dGFibGVBbGxvY2F0b3IpOiBj
aGVjayBhbGxvd0pJVCBiZWZvcmUgdHJ5aW5nIHRvIGFsbG9jYXRlCisKIDIwMTgtMDYtMDUgIEJy
ZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CiAKICAgICAgICAgQWRqdXN0IGNvbXBp
bGUgYW5kIHJ1bnRpbWUgZmxhZ3MgdG8gbWF0Y2ggc2hpcHBhYmxlIHN0YXRlIG9mIGZlYXR1cmVz
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9n
CmluZGV4IDA1ZGI0MjQ0N2M1OGZhMGJmMzdlN2E4ZTUxNGVhZmY3MzE3NjdhODUuLjVhYjJlYjQ5
M2MxOTQ1NzUyNGYyM2MyYjgzOTg1Y2RlYjVhYzI0YTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIw
MTgtMDYtMDcgIFRhZGV1IFphZ2FsbG8gIDx0emFnYWxsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
RG9uJ3QgdHJ5IHRvIGFsbG9jYXRlIEpJVCBtZW1vcnkgaWYgd2UgZG9uJ3QgaGF2ZSB0aGUgSklU
IGVudGl0bGVtZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xODI2MDUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM4MjcxMjI5PgorCisgICAgICAg
IFJldmlld2VkIGJ5IE1hcmsgTGFtLgorCisgICAgICAgIE1vdmUgcHJvY2Vzc0hhc0VudGl0bGVt
ZW50IGZyb20gU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL1NhbmRib3hVdGlsaXRpZXMuaAorICAg
ICAgICBpbnRvIFdURiBzbyBKYXZhU2NyaXB0Q29yZSBjYW4gYWxzbyB1c2UgaXQuCisKKyAgICAg
ICAgKiBXVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiB3dGYvUGxhdGZv
cm1NYWMuY21ha2U6CisgICAgICAgICogd3RmL2NvY29hL0VudGl0bGVtZW50cy5jcHA6CisgICAg
ICAgIChXVEY6OnByb2Nlc3NIYXNFbnRpdGxlbWVudCk6CisgICAgICAgICogd3RmL2NvY29hL0Vu
dGl0bGVtZW50cy5oOgorICAgICAgICAqIHd0Zi9zcGkvY29jb2EvU2VjdXJpdHlTUEkuaDoKKwog
MjAxOC0wNi0wNSAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0Nv
Y29hXSBSZXRpcmUgRGlzcGF0Y2hQdHIsIGFuZCBhZGQgbW9yZSBtb3ZlIHNlbWFudGljcyBhbmQg
c2ltcGxlciAjaWZzIHRvIG90aGVyIHNtYXJ0IHBvaW50ZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGRlNTIwNjAx
ODU5NGIyMDBkY2JjZWFkYmQ3OWI0NmZmMGQ4OWZmNmUuLjkzN2RiZTNmYzM0Y2FjNGIxYTcwNzgy
MWVlOTUzMDQ1OGQwNzQ1NjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTgtMDYtMDcg
IFRhZGV1IFphZ2FsbG8gIDx0emFnYWxsb0BhcHBsZS5jb20+CisKKyAgICAgICAgRG9uJ3QgdHJ5
IHRvIGFsbG9jYXRlIEpJVCBtZW1vcnkgaWYgd2UgZG9uJ3QgaGF2ZSB0aGUgSklUIGVudGl0bGVt
ZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODI2
MDUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM4MjcxMjI5PgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE1hcmsgTGFtLgorCisgICAgICAgIFJlbW92ZSBwcm9jZXNzSGFzRW50aXRsZW1lbnQsIHdo
aWNoIHdhcyBtb3ZlZCBpbnRvIFdURiBhbmQgdXBkYXRlIGFsbCBjYWxsIHNpdGVzLgorCisgICAg
ICAgICogU2hhcmVkL21hYy9TYW5kYm94VXRpbGl0aWVzLmg6CisgICAgICAgICogU2hhcmVkL21h
Yy9TYW5kYm94VXRpbGl0aWVzLm1tOgorICAgICAgICAoV2ViS2l0Ojpwcm9jZXNzSGFzRW50aXRs
ZW1lbnQpOiBEZWxldGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3
Lm1tOgorICAgICAgICAoLVtXS1dlYlZpZXcgX2luaXRpYWxpemVXaXRoQ29uZmlndXJhdGlvbjpd
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQXBwbGljYXRpb25TdGF0ZVRyYWNrZXIubW06CisgICAg
ICAgIChXZWJLaXQ6OmFwcGxpY2F0aW9uVHlwZSk6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9X
S0FjdGlvblNoZWV0QXNzaXN0YW50Lm1tOgorICAgICAgICAoYXBwbGljYXRpb25IYXNBcHBMaW5r
RW50aXRsZW1lbnRzKToKKwogMjAxOC0wNi0wNiAgSmVyZW15IEpvbmVzICA8amVyZW15akBhcHBs
ZS5jb20+CiAKICAgICAgICAgYXR0ZW51YXRpb25GYWN0b3Igc2hvdWxkIGJlIGluIHJhbmdlIFsw
LDFdCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0V4ZWN1dGFibGVBbGxv
Y2F0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9y
LmNwcAppbmRleCAzZTdlN2U2MWZjMmNkZjZkNTJhODdjZjBmOTZlNDJmNjY3NWIyZTBmLi40NjA4
YWU2MmUzMmY1YTZiZDdjYWExZGQ3ZTc3Y2VlNGFhMjM4NDdhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L0V4ZWN1dGFibGVBbGxvY2F0b3IuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvRXhlY3V0YWJsZUFsbG9jYXRvci5jcHAKQEAgLTM4LDYgKzM4LDEw
IEBACiAjaW5jbHVkZSA8c3lzL21tYW4uaD4KICNlbmRpZgogCisjaWYgUExBVEZPUk0oSU9TKQor
I2luY2x1ZGUgPHd0Zi9jb2NvYS9FbnRpdGxlbWVudHMuaD4KKyNlbmRpZgorCiAjaW5jbHVkZSAi
TGlua0J1ZmZlci5oIgogI2luY2x1ZGUgIk1hY3JvQXNzZW1ibGVyLmgiCiAKQEAgLTExMCwxMiAr
MTE0LDI0IEBAIEpTX0VYUE9SVF9QUklWQVRFIEpJVFdyaXRlU2VwYXJhdGVIZWFwc0Z1bmN0aW9u
IGppdFdyaXRlU2VwYXJhdGVIZWFwc0Z1bmN0aW9uOwogc3RhdGljIHVpbnRwdHJfdCBzdGFydE9m
Rml4ZWRXcml0YWJsZU1lbW9yeVBvb2w7CiAjZW5kaWYKIAorc3RhdGljIGJvb2wgYWxsb3dKSVQo
KQoreworI2lmIFBMQVRGT1JNKElPUykgJiYgKENQVShBUk02NCkgfHwgQ1BVKEFSTSkpCisgICAg
cmV0dXJuIHByb2Nlc3NIYXNFbnRpdGxlbWVudCgiZHluYW1pYy1jb2Rlc2lnbmluZyIpOworI2Vs
c2UKKyAgICByZXR1cm4gdHJ1ZTsKKyNlbmRpZgorfQorCiBjbGFzcyBGaXhlZFZNUG9vbEV4ZWN1
dGFibGVBbGxvY2F0b3IgOiBwdWJsaWMgTWV0YUFsbG9jYXRvciB7CiAgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgRml4ZWRWTVBvb2xFeGVjdXRhYmxlQWxsb2NhdG9y
KCkKICAgICAgICAgOiBNZXRhQWxsb2NhdG9yKGppdEFsbG9jYXRpb25HcmFudWxlKSAvLyByb3Vu
ZCB1cCBhbGwgYWxsb2NhdGlvbnMgdG8gMzIgYnl0ZXMKICAgICB7CisgICAgICAgIGlmICghYWxs
b3dKSVQoKSkKKyAgICAgICAgICAgIHJldHVybjsKKwogICAgICAgICBzaXplX3QgcmVzZXJ2YXRp
b25TaXplOwogICAgICAgICBpZiAoT3B0aW9uczo6aml0TWVtb3J5UmVzZXJ2YXRpb25TaXplKCkp
CiAgICAgICAgICAgICByZXNlcnZhdGlvblNpemUgPSBPcHRpb25zOjpqaXRNZW1vcnlSZXNlcnZh
dGlvblNpemUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2ogYi9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4
IDg2MmM3Y2NiYzJmMDhlMGM2ZWU4ZWUyMDcyODE1NmVkZGVmN2QzZmYuLjY0N2E5MTA1Yjc3Y2M0
MGZkMTEyM2YwYzk2YTE2Y2I5MDUzNzYzZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvV1RGLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagpAQCAtNDQsNiArNDQsNyBAQAogCQkwRkVDM0M1RTFGMzY4QTk3MDBGNTlC
NkMgLyogUmVhZFdyaXRlTG9jay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwRkVDM0M1QzFGMzY4QTk3MDBGNTlCNkMgLyogUmVhZFdyaXRlTG9jay5j
cHAgKi87IH07CiAJCTBGRkYxOURDMUJCMzM0RUIwMDg4NkQ5MSAvKiBQYXJhbGxlbEhlbHBlclBv
b2wuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZG
RjE5REExQkIzMzRFQjAwODg2RDkxIC8qIFBhcmFsbGVsSGVscGVyUG9vbC5jcHAgKi87IH07CiAJ
CTE0MDIyRjQxMThGNUMzRkMwMDdGRjBFQiAvKiBsaWJibWFsbG9jLmEgaW4gRnJhbWV3b3JrcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDAyMkY0MDE4RjVDM0ZDMDA3RkYw
RUIgLyogbGliYm1hbGxvYy5hICovOyB9OworCQkxNDNEREU5NjIwQzhCQzM3MDA3Rjc2RkEgLyog
RW50aXRsZW1lbnRzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDE0M0RERTk1MjBDOEJDMzcwMDdGNzZGQSAvKiBFbnRpdGxlbWVudHMuY3BwICovOyB9
OwogCQkxNDNGNjExRjE1NjVGMEY5MDBEQjUxNEEgLyogUkFNU2l6ZS5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDNGNjExRDE1NjVGMEY5MDBEQjUx
NEEgLyogUkFNU2l6ZS5jcHAgKi87IH07CiAJCTE0NDdBRUM2MThGQ0U1NzcwMEIzRDdGRiAvKiBG
b3VuZGF0aW9uLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDE0NDdBRUM1MThGQ0U1NzcwMEIzRDdGRiAvKiBGb3VuZGF0aW9uLmZyYW1l
d29yayAqLzsgfTsKIAkJMTQ0N0FFQzcxOEZDRTU4MDAwQjNEN0ZGIC8qIGxpYldURi5hIGluIEZy
YW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUQyNDdCNjIxNDY4
OUI4NjAwRTc4Qjc2IC8qIGxpYldURi5hICovOyB9OwpAQCAtMjY4LDYgKzI2OSw4IEBACiAJCTBG
RkYxOURCMUJCMzM0RUIwMDg4NkQ5MSAvKiBQYXJhbGxlbEhlbHBlclBvb2wuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGFyYWxsZWxIZWxwZXJQb29sLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTEzMjc0MzkyNEZDNTRFNDY5RjVBOEU2RSAvKiBTdGRVbm9yZGVy
ZWRTZXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3RkVW5vcmRlcmVkU2V0
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTE0MDIyRjQwMThGNUMzRkMwMDdGRjBF
QiAvKiBsaWJibWFsbG9jLmEgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBhcmNoaXZlLmFyOyBwYXRoID0gbGliYm1hbGxvYy5hOyBzb3VyY2VUcmVlID0g
QlVJTFRfUFJPRFVDVFNfRElSOyB9OworCQkxNDNEREU5NTIwQzhCQzM3MDA3Rjc2RkEgLyogRW50
aXRsZW1lbnRzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEVudGl0
bGVtZW50cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE0M0RERTk3MjBDOEJF
OTkwMDdGNzZGQSAvKiBFbnRpdGxlbWVudHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gRW50aXRsZW1lbnRzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTE0M0Y2
MTFEMTU2NUYwRjkwMERCNTE0QSAvKiBSQU1TaXplLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFJBTVNpemUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkxNDNGNjExRTE1NjVGMEY5MDBEQjUxNEEgLyogUkFNU2l6ZS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBSQU1TaXplLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTE0NDdBRUJFMThGQ0U1NjkwMEIzRDdGRiAvKiBsaWJtYm1hbGxvYy5keWxpYiAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBleHBsaWNpdEZpbGVUeXBlID0gImNvbXBpbGVkLm1hY2gtby5k
eWxpYiI7IGluY2x1ZGVJbkluZGV4ID0gMDsgcGF0aCA9IGxpYm1ibWFsbG9jLmR5bGliOyBzb3Vy
Y2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwpAQCAtMTMxNSw2ICsxMzE4LDggQEAKIAkJ
CWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCiAJCQkJRTM4QzQxMjQxRUI0RTA0QzAw
NDI5NTdEIC8qIENQVVRpbWVDb2NvYS5tbSAqLywKKwkJCQkxNDNEREU5NTIwQzhCQzM3MDA3Rjc2
RkEgLyogRW50aXRsZW1lbnRzLmNwcCAqLywKKwkJCQkxNDNEREU5NzIwQzhCRTk5MDA3Rjc2RkEg
LyogRW50aXRsZW1lbnRzLmggKi8sCiAJCQkJN0E2RUJBMzMyMDc0NkMzNDAwNEY5QzQ0IC8qIE1h
Y2hTZW5kUmlnaHQuY3BwICovLAogCQkJCUFERjJDRTY1MUUzOUYxMDYwMDY4ODlEQiAvKiBNZW1v
cnlGb290cHJpbnRDb2NvYS5jcHAgKi8sCiAJCQkJQUQ4OUI2QjkxRTY0MTUwRjAwOTA3MDdGIC8q
IE1lbW9yeVByZXNzdXJlSGFuZGxlckNvY29hLm1tICovLApAQCAtMTQ2NSw2ICsxNDcwLDcgQEAK
IAkJCQlBOEE0NzNBRTE1MUE4MjVCMDA0MTIzRkYgLyogZGl5LWZwLmNjIGluIFNvdXJjZXMgKi8s
CiAJCQkJQThBNDczQjAxNTFBODI1QjAwNDEyM0ZGIC8qIGRvdWJsZS1jb252ZXJzaW9uLmNjIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQThBNDczQkExNTFBODI1QjAwNDEyM0ZGIC8qIGR0b2EuY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJMTQzRERFOTYyMEM4QkMzNzAwN0Y3NkZBIC8qIEVudGl0bGVtZW50
cy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBOEE0NzNCMzE1MUE4MjVCMDA0MTIzRkYgLyogZmFz
dC1kdG9hLmNjIGluIFNvdXJjZXMgKi8sCiAJCQkJMEY3QzVGQjYxRDg4NUNGMjAwNDRGNUUyIC8q
IEZhc3RCaXRWZWN0b3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQThBNDczQzMxNTFBODI1QjAw
NDEyM0ZGIC8qIEZhc3RNYWxsb2MuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL3d0Zi9QbGF0Zm9ybU1hYy5jbWFrZSBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtTWFj
LmNtYWtlCmluZGV4IDc0YjhkZDkwNmFkOGFlYzliZmNlMDNjZTgyNWJmZWUwMmM2MGU0OTUuLmEy
NmUwNTAzZTVmMzVlOTk0ZjJjMzliMzk5MWYzZDhjZTY0NGIzNTYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XVEYvd3RmL1BsYXRmb3JtTWFjLmNtYWtlCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3Jt
TWFjLmNtYWtlCkBAIC0xMCw2ICsxMCw3IEBAIGxpc3QoQVBQRU5EIFdURl9MSUJSQVJJRVMKIGxp
c3QoQVBQRU5EIFdURl9QVUJMSUNfSEVBREVSUwogICAgIGNmL1R5cGVDYXN0c0NGLmgKIAorICAg
IGNvY29hL0VudGl0bGVtZW50cy5oCiAgICAgY29jb2EvTWFjaFNlbmRSaWdodC5oCiAgICAgY29j
b2EvU29mdExpbmtpbmcuaAogCkBAIC00Myw2ICs0NCw3IEBAIGxpc3QoQVBQRU5EIFdURl9TT1VS
Q0VTCiAgICAgdGV4dC9tYWMvVGV4dEJyZWFrSXRlcmF0b3JJbnRlcm5hbElDVU1hYy5tbQogCiAg
ICAgY29jb2EvQ1BVVGltZUNvY29hLm1tCisgICAgY29jb2EvRW50aXRsZW1lbnRzLmNwcAogICAg
IGNvY29hL01hY2hTZW5kUmlnaHQuY3BwCiAgICAgY29jb2EvTWVtb3J5Rm9vdHByaW50Q29jb2Eu
Y3BwCiAgICAgY29jb2EvTWVtb3J5UHJlc3N1cmVIYW5kbGVyQ29jb2EubW0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XVEYvd3RmL2NvY29hL0VudGl0bGVtZW50cy5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9j
b2NvYS9FbnRpdGxlbWVudHMuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVjYWQ5NTFkMDFkYWZmMDM0YmZiMDNm
Njg0YzNjOTU0NTZiYTEwN2QKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9jb2Nv
YS9FbnRpdGxlbWVudHMuY3BwCkBAIC0wLDAgKzEsNTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRW50aXRsZW1lbnRzLmgiCisKKyNpbmNsdWRlIDx3dGYv
UmV0YWluUHRyLmg+CisjaW5jbHVkZSA8d3RmL3NwaS9jb2NvYS9TZWN1cml0eVNQSS5oPgorCitu
YW1lc3BhY2UgV1RGIHsKKworYm9vbCBwcm9jZXNzSGFzRW50aXRsZW1lbnQoY29uc3QgY2hhciog
ZW50aXRsZW1lbnQpCit7CisgICAgYXV0byB0YXNrID0gYWRvcHRDRihTZWNUYXNrQ3JlYXRlRnJv
bVNlbGYoa0NGQWxsb2NhdG9yRGVmYXVsdCkpOworICAgIGlmICghdGFzaykKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworCisgICAgYXV0byBjZkVudGl0bGVtZW50ID0gYWRvcHRDRihDRlN0cmluZ0Ny
ZWF0ZVdpdGhDU3RyaW5nTm9Db3B5KGtDRkFsbG9jYXRvckRlZmF1bHQsIGVudGl0bGVtZW50LCBr
Q0ZTdHJpbmdFbmNvZGluZ1VURjgsIGtDRkFsbG9jYXRvck51bGwpKTsKKyAgICBhdXRvIHZhbHVl
ID0gYWRvcHRDRihTZWNUYXNrQ29weVZhbHVlRm9yRW50aXRsZW1lbnQodGFzay5nZXQoKSwgY2ZF
bnRpdGxlbWVudC5nZXQoKSwgbnVsbHB0cikpOworICAgIGlmICghdmFsdWUpCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKworICAgIGlmIChDRkdldFR5cGVJRCh2YWx1ZS5nZXQoKSkgIT0gQ0ZCb29s
ZWFuR2V0VHlwZUlEKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHJldHVybiBDRkJv
b2xlYW5HZXRWYWx1ZShzdGF0aWNfY2FzdDxDRkJvb2xlYW5SZWY+KHZhbHVlLmdldCgpKSk7Cit9
CisKK30gLy8gbmFtZXNwYWNlIFdURgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvY29jb2Ev
RW50aXRsZW1lbnRzLmggYi9Tb3VyY2UvV1RGL3d0Zi9jb2NvYS9FbnRpdGxlbWVudHMuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi40NmE5YTI0NjhhYmY4ODYwNjM0ZTM1NDRjYjg5NDE3YmI1NDFhMmY4Ci0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dURi93dGYvY29jb2EvRW50aXRsZW1lbnRzLmgKQEAgLTAsMCAr
MSwzNCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpZiBQTEFURk9STShDT0NPQSkKKworbmFtZXNwYWNlIFdU
RiB7CisKK1dURl9FWFBPUlQgYm9vbCBwcm9jZXNzSGFzRW50aXRsZW1lbnQoY29uc3QgY2hhciog
ZW50aXRsZW1lbnQpOworCit9IC8vIG5hbWVzcGFjZSBXVEYKKworI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV1RGL3d0Zi9zcGkvY29jb2EvU2VjdXJpdHlTUEkuaCBiL1NvdXJjZS9XVEYvd3Rm
L3NwaS9jb2NvYS9TZWN1cml0eVNQSS5oCmluZGV4IDk2NDRhNjExNWRlMWYyOTE1MzZlMGZjOGQ1
NGExNDAwMDk5MGM1ZjIuLjk2ZTMwYTdjN2QyOTRmNDU1YzAzYjBkZTM3YmUwYTRkMTIxMzVlNDIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3NwaS9jb2NvYS9TZWN1cml0eVNQSS5oCisrKyBi
L1NvdXJjZS9XVEYvd3RmL3NwaS9jb2NvYS9TZWN1cml0eVNQSS5oCkBAIC0zNyw2ICszNyw4IEBA
CiAKICNlbHNlCiAKKyNpbmNsdWRlIDxTZWN1cml0eS9TZWNCYXNlLmg+CisKIHR5cGVkZWYgdWlu
dDMyX3QgU2VjU2lnbmF0dXJlSGFzaEFsZ29yaXRobTsKIGVudW0gewogICAgIGtTZWNTaWduYXR1
cmVIYXNoQWxnb3JpdGhtVW5rbm93biA9IDAsCkBAIC01OSw2ICs2MSw3IEBAIFdURl9FWFRFUk5f
Q19FTkQKICNlbmRpZgogCiB0eXBlZGVmIHN0cnVjdCBfX1NlY1Rhc2sgKlNlY1Rhc2tSZWY7Cit0
eXBlZGVmIHN0cnVjdCBfX1NlY1RydXN0ICpTZWNUcnVzdFJlZjsKIAogV1RGX0VYVEVSTl9DX0JF
R0lOCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9TYW5kYm94VXRpbGl0
aWVzLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvU2FuZGJveFV0aWxpdGllcy5oCmluZGV4
IDRmNWZiY2RkN2VhYWU0N2U3OWRhYWNmMWJhODk5MWNiZmYzYzNjNDAuLmQ2MGY0MjdkNjc5Nzg3
M2UzMjIyMmI2MmI1NjUzMDJjOTVlNjM2YWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL21hYy9TYW5kYm94VXRpbGl0aWVzLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvbWFj
L1NhbmRib3hVdGlsaXRpZXMuaApAQCAtMzgsNyArMzgsNiBAQCBib29sIHByb2Nlc3NIYXNDb250
YWluZXIoKTsKIC8vIFJldHVybnMgYW4gZW1wdHkgc3RyaW5nIGlmIHRoZSBwcm9jZXNzIGlzIG5v
dCBpbiBhIGNvbnRhaW5lci4KIFN0cmluZyBwYXRoRm9yUHJvY2Vzc0NvbnRhaW5lcigpOwogCi1i
b29sIHByb2Nlc3NIYXNFbnRpdGxlbWVudChOU1N0cmluZyAqZW50aXRsZW1lbnQpOwogYm9vbCBj
b25uZWN0ZWRQcm9jZXNzSGFzRW50aXRsZW1lbnQoeHBjX2Nvbm5lY3Rpb25fdCwgY29uc3QgY2hh
ciAqZW50aXRsZW1lbnQpOwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9t
YWMvU2FuZGJveFV0aWxpdGllcy5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9TYW5kYm94
VXRpbGl0aWVzLm1tCmluZGV4IGQzODY2NjdiOTgxM2Q0MWJjODlhNjdhNTI4YTc2MjI2YTFlNjc3
NGUuLmFmYzZiMjRhZTFkN2U4ODllYWMwNzNmNmNkOTZkMDQyMmQ2MjMxYmIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9TYW5kYm94VXRpbGl0aWVzLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL21hYy9TYW5kYm94VXRpbGl0aWVzLm1tCkBAIC0yOSw3ICsyOSw3IEBA
CiAjaW1wb3J0IDxhcnJheT4KICNpbXBvcnQgPHN5cy9wYXJhbS5oPgogI2ltcG9ydCA8d3RmL09T
T2JqZWN0UHRyLmg+Ci0jaW1wb3J0IDx3dGYvc3BpL2NvY29hL1NlY3VyaXR5U1BJLmg+CisjaW1w
b3J0IDx3dGYvY29jb2EvRW50aXRsZW1lbnRzLmg+CiAjaW1wb3J0IDx3dGYvc3BpL2Rhcndpbi9T
YW5kYm94U1BJLmg+CiAjaW1wb3J0IDx3dGYvc3BpL2Rhcndpbi9YUENTUEkuaD4KICNpbXBvcnQg
PHd0Zi90ZXh0L1dURlN0cmluZy5oPgpAQCAtNzcsMjIgKzc3LDYgQEAgU3RyaW5nIHBhdGhGb3JQ
cm9jZXNzQ29udGFpbmVyKCkKICAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRGOChwYXRoLmRhdGEo
KSk7CiB9CiAKLWJvb2wgcHJvY2Vzc0hhc0VudGl0bGVtZW50KE5TU3RyaW5nICplbnRpdGxlbWVu
dCkKLXsKLSAgICBhdXRvIHRhc2sgPSBhZG9wdENGKFNlY1Rhc2tDcmVhdGVGcm9tU2VsZihDRkFs
bG9jYXRvckdldERlZmF1bHQoKSkpOwotICAgIGlmICghdGFzaykKLSAgICAgICAgcmV0dXJuIGZh
bHNlOwotCi0gICAgYXV0byB2YWx1ZSA9IGFkb3B0Q0YoU2VjVGFza0NvcHlWYWx1ZUZvckVudGl0
bGVtZW50KHRhc2suZ2V0KCksIChfX2JyaWRnZSBDRlN0cmluZ1JlZillbnRpdGxlbWVudCwgbnVs
bHB0cikpOwotICAgIGlmICghdmFsdWUpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIGlm
IChDRkdldFR5cGVJRCh2YWx1ZS5nZXQoKSkgIT0gQ0ZCb29sZWFuR2V0VHlwZUlEKCkpCi0gICAg
ICAgIHJldHVybiBmYWxzZTsKLQotICAgIHJldHVybiBDRkJvb2xlYW5HZXRWYWx1ZShzdGF0aWNf
Y2FzdDxDRkJvb2xlYW5SZWY+KHZhbHVlLmdldCgpKSk7Ci19Ci0KIGJvb2wgY29ubmVjdGVkUHJv
Y2Vzc0hhc0VudGl0bGVtZW50KHhwY19jb25uZWN0aW9uX3QgY29ubmVjdGlvbiwgY29uc3QgY2hh
ciAqZW50aXRsZW1lbnQpCiB7CiAgICAgYXV0byB2YWx1ZSA9IGFkb3B0T1NPYmplY3QoeHBjX2Nv
bm5lY3Rpb25fY29weV9lbnRpdGxlbWVudF92YWx1ZShjb25uZWN0aW9uLCBlbnRpdGxlbWVudCkp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
dy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5k
ZXggOTBiODg5MDAwNzdjMjQ1Zjg5ZjRmN2UwMzBiMjU3M2QyYWEzNzg0YS4uZTBhMGY5YWQ3NTk2
OGQ3OTFmMjYyODlmYjBiOTFjMjRhM2MwMzdhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC00Niw3ICs0Niw2IEBACiAjaW1wb3J0ICJS
ZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbi5oIgogI2ltcG9ydCAiUmVtb3RlT2JqZWN0UmVnaXN0
cnkuaCIKICNpbXBvcnQgIlJlbW90ZU9iamVjdFJlZ2lzdHJ5TWVzc2FnZXMuaCIKLSNpbXBvcnQg
IlNhbmRib3hVdGlsaXRpZXMuaCIKICNpbXBvcnQgIlVJRGVsZWdhdGUuaCIKICNpbXBvcnQgIlVz
ZXJNZWRpYVByb2Nlc3NNYW5hZ2VyLmgiCiAjaW1wb3J0ICJWZXJzaW9uQ2hlY2tzLmgiCkBAIC0x
NTEsNiArMTUwLDcgQEAKICNpbXBvcnQgPFdlYkNvcmUvV2ViU1FMaXRlRGF0YWJhc2VUcmFja2Vy
Q2xpZW50Lmg+CiAjaW1wb3J0IDxwYWwvc3BpL2NnL0NvcmVHcmFwaGljc1NQSS5oPgogI2ltcG9y
dCA8cGFsL3NwaS9jb2NvYS9RdWFydHpDb3JlU1BJLmg+CisjaW1wb3J0IDx3dGYvY29jb2EvRW50
aXRsZW1lbnRzLmg+CiAKICNkZWZpbmUgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCguLi4pIFJFTEVB
U0VfTE9HX0lGKF9wYWdlICYmIF9wYWdlLT5pc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQoKSwgVmll
d1N0YXRlLCBfX1ZBX0FSR1NfXykKIApAQCAtNjE2LDcgKzYxNiw3IEBAIC0gKHZvaWQpX2luaXRp
YWxpemVXaXRoQ29uZmlndXJhdGlvbjooV0tXZWJWaWV3Q29uZmlndXJhdGlvbiAqKWNvbmZpZ3Vy
YXRpb24KICNlbmRpZgogCiAjaWYgUExBVEZPUk0oSU9TKSAmJiBFTkFCTEUoU0VSVklDRV9XT1JL
RVIpCi0gICAgaWYgKCFXZWJLaXQ6OnByb2Nlc3NIYXNFbnRpdGxlbWVudChAImNvbS5hcHBsZS5k
ZXZlbG9wZXIuV2ViS2l0LlNlcnZpY2VXb3JrZXJzIikpCisgICAgaWYgKCFXVEY6OnByb2Nlc3NI
YXNFbnRpdGxlbWVudCgiY29tLmFwcGxlLmRldmVsb3Blci5XZWJLaXQuU2VydmljZVdvcmtlcnMi
KSkKICAgICAgICAgcGFnZUNvbmZpZ3VyYXRpb24tPnByZWZlcmVuY2VWYWx1ZXMoKS5zZXQoV2Vi
S2l0OjpXZWJQcmVmZXJlbmNlc0tleTo6c2VydmljZVdvcmtlcnNFbmFibGVkS2V5KCksIFdlYktp
dDo6V2ViUHJlZmVyZW5jZXNTdG9yZTo6VmFsdWUoZmFsc2UpKTsKICNlbmRpZgogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BcHBsaWNhdGlvblN0YXRlVHJhY2tlci5tbSBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FwcGxpY2F0aW9uU3RhdGVUcmFja2VyLm1tCmluZGV4
IGM2NTIzYTM4YWQ4NjNmOGZiYzUyZTRkMTgyZTBlODdhMGM3Nzk4MzYuLjFjZmEwODBiODhlZDk4
ZjA3MjhlOGU3MWM1OWZkNjdkNDEzZWE3NjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FwcGxpY2F0aW9uU3RhdGVUcmFja2VyLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FwcGxpY2F0aW9uU3RhdGVUcmFja2VyLm1tCkBAIC0zMiw2ICszMiw3IEBACiAjaW1w
b3J0ICJTYW5kYm94VXRpbGl0aWVzLmgiCiAjaW1wb3J0ICJVSUtpdFNQSS5oIgogI2ltcG9ydCA8
d3RmL09iamNSdW50aW1lRXh0cmFzLmg+CisjaW1wb3J0IDx3dGYvY29jb2EvRW50aXRsZW1lbnRz
Lmg+CiAjaW1wb3J0IDx3dGYvc3BpL2NvY29hL1NlY3VyaXR5U1BJLmg+CiAKIEBpbnRlcmZhY2Ug
VUlXaW5kb3cgKFdLRGV0YWlscykKQEAgLTU0LDcgKzU1LDcgQEAgc3RhdGljIEFwcGxpY2F0aW9u
VHlwZSBhcHBsaWNhdGlvblR5cGUoVUlXaW5kb3cgKndpbmRvdykKICAgICBpZiAoX1VJQXBwbGlj
YXRpb25Jc0V4dGVuc2lvbigpKQogICAgICAgICByZXR1cm4gQXBwbGljYXRpb25UeXBlOjpFeHRl
bnNpb247CiAKLSAgICBpZiAocHJvY2Vzc0hhc0VudGl0bGVtZW50KEAiY29tLmFwcGxlLlVJS2l0
LnZlbmRzLXZpZXctc2VydmljZXMiKSAmJiB3aW5kb3cuX2lzSG9zdGVkSW5Bbm90aGVyUHJvY2Vz
cykKKyAgICBpZiAoV1RGOjpwcm9jZXNzSGFzRW50aXRsZW1lbnQoImNvbS5hcHBsZS5VSUtpdC52
ZW5kcy12aWV3LXNlcnZpY2VzIikgJiYgd2luZG93Ll9pc0hvc3RlZEluQW5vdGhlclByb2Nlc3Mp
CiAgICAgICAgIHJldHVybiBBcHBsaWNhdGlvblR5cGU6OlZpZXdTZXJ2aWNlOwogCiAgICAgcmV0
dXJuIEFwcGxpY2F0aW9uVHlwZTo6QXBwbGljYXRpb247CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9pb3MvV0tBY3Rpb25TaGVldEFzc2lzdGFudC5tbSBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9XS0FjdGlvblNoZWV0QXNzaXN0YW50Lm1tCmluZGV4IGQ0NTU3ZWMw
MTNlM2NhOGM1MzA0NTc0ODM2NmYxOTA5NjM1Y2E3OTAuLjNkZWYyMjkxNzE1YTFkNDc3NWU2YjY3
Njk1OTA2OTk0OTNjYzYxYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lv
cy9XS0FjdGlvblNoZWV0QXNzaXN0YW50Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L2lvcy9XS0FjdGlvblNoZWV0QXNzaXN0YW50Lm1tCkBAIC0yOSw3ICsyOSw2IEBACiAjaWYgUExB
VEZPUk0oSU9TKQogCiAjaW1wb3J0ICJBUElVSUNsaWVudC5oIgotI2ltcG9ydCAiU2FuZGJveFV0
aWxpdGllcy5oIgogI2ltcG9ydCAiVENDU1BJLmgiCiAjaW1wb3J0ICJVSUtpdFNQSS5oIgogI2lt
cG9ydCAiV0tBY3Rpb25TaGVldC5oIgpAQCAtNDUsNiArNDQsNyBAQAogI2ltcG9ydCA8V2ViQ29y
ZS9XZWJDb3JlTlNVUkxFeHRyYXMuaD4KICNpbXBvcnQgPHd0Zi9Tb2Z0TGlua2luZy5oPgogI2lt
cG9ydCA8d3RmL1dlYWtPYmpDUHRyLmg+CisjaW1wb3J0IDx3dGYvY29jb2EvRW50aXRsZW1lbnRz
Lmg+CiAjaW1wb3J0IDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogI2lmIEhBVkUoQVBQX0xJTktT
KQpAQCAtNjYsNyArNjYsNyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogI2lmIEhBVkUoQVBQ
X0xJTktTKQogc3RhdGljIGJvb2wgYXBwbGljYXRpb25IYXNBcHBMaW5rRW50aXRsZW1lbnRzKCkK
IHsKLSAgICBzdGF0aWMgYm9vbCBoYXNFbnRpdGxlbWVudCA9IHByb2Nlc3NIYXNFbnRpdGxlbWVu
dChAImNvbS5hcHBsZS5wcml2YXRlLmNhbkdldEFwcExpbmtJbmZvIikgJiYgcHJvY2Vzc0hhc0Vu
dGl0bGVtZW50KEAiY29tLmFwcGxlLnByaXZhdGUuY2FuTW9kaWZ5QXBwTGlua1Blcm1pc3Npb25z
Iik7CisgICAgc3RhdGljIGJvb2wgaGFzRW50aXRsZW1lbnQgPSBXVEY6OnByb2Nlc3NIYXNFbnRp
dGxlbWVudCgiY29tLmFwcGxlLnByaXZhdGUuY2FuR2V0QXBwTGlua0luZm8iKSAmJiBXVEY6OnBy
b2Nlc3NIYXNFbnRpdGxlbWVudCgiY29tLmFwcGxlLnByaXZhdGUuY2FuTW9kaWZ5QXBwTGlua1Bl
cm1pc3Npb25zIik7CiAgICAgcmV0dXJuIGhhc0VudGl0bGVtZW50OwogfQogCmRpZmYgLS1naXQg
YS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggODliNTMyYTM4NmQ2ZTYw
MmZmMWIzY2EyZmZmOWUwY2MxODBiYWFkNC4uNGVlODVhOWM1YWQwNTdiMWI4OWVkZGU3NzM1ZTAy
MjZkZTIzMzk5MCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE4LTA2LTA3ICBUYWRldSBaYWdhbGxvICA8dHphZ2Fs
bG9AYXBwbGUuY29tPgorCisgICAgICAgIERvbid0IHRyeSB0byBhbGxvY2F0ZSBKSVQgbWVtb3J5
IGlmIHdlIGRvbid0IGhhdmUgdGhlIEpJVCBlbnRpdGxlbWVudAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgyNjA1CisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS8zODI3MTIyOT4KKworICAgICAgICBSZXZpZXdlZCBieSBNYXJrIExhbS4KKworICAgICAg
ICBBZGQgdGhlIFNlY3VyaXR5IGZyYW1ld29yayB0byB0aGUgVGVzdFdURiB0YXJnZXQsIHNpbmNl
IGl0J3MgcmVxdWlyZWQgYnkgdGhlIG5ldyBmdW5jdGlvbiB0byBjaGVjayB0aGUgZW50aXRsZW1l
bnRzLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6CisKIDIwMTgtMDYtMDUgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxl
LmNvbT4KIAogICAgICAgICBSZWdyZXNzaW9uKHIyMzIwODIpOiBXZWJzaXRlcyBnZXQgbG9hZGVk
IGluc2lkZSBvZiBNZXNzYWdlcyBBcHAgY2hhdCB0cmFuc2NyaXB0CmRpZmYgLS1naXQgYS9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBi
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCmluZGV4IDEzMTY3YTg5MmE0YmY5NDZiODBhYjU1YTdiNTZhNzEwZTgwOTE5ZmMuLjU5MDcy
MGQ0OTIwZDQ2MWU5Nzk1NTVhOWQzZWYxMGFhMmRhOGE2ZmMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBi
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCkBAIC00Nyw2ICs0Nyw3IEBACiAJCTBGNTY1MUY3MUZDRTREREMwMDMxMEZCQyAvKiBOb0hp
c3RvcnlJdGVtU2Nyb2xsVG9GcmFnbWVudC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDBGNTY1MUY2MUZDRTREREIwMDMxMEZCQyAvKiBOb0hpc3RvcnlJ
dGVtU2Nyb2xsVG9GcmFnbWVudC5tbSAqLzsgfTsKIAkJMEY1NjUxRjkxRkNFNTEzNTAwMzEwRkJD
IC8qIHNjcm9sbC10by1hbmNob3IuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjU2NTFGODFGQ0U1MEU4MDAzMTBGQkMgLyogc2Nyb2xs
LXRvLWFuY2hvci5odG1sICovOyB9OwogCQkxMTVFQjM0MzFFRTBCQTAzMDAzQzJDMEEgLyogVmll
d3BvcnRTaXplRm9yVmlld3BvcnRVbml0cy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDExNUVCMzQyMUVFMEI3MjAwMDNDMkMwQSAvKiBWaWV3cG9ydFNp
emVGb3JWaWV3cG9ydFVuaXRzLm1tICovOyB9OworCQkxNDNEREU5ODIwQzkwMThCMDA3Rjc2RkEg
LyogU2VjdXJpdHkuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNTc0RjU1RDAyMDRENDcxQzAwMjk0OEM2IC8qIFNlY3VyaXR5LmZyYW1l
d29yayAqLzsgfTsKIAkJMUEwMkM4NzAxMjVENENGRDAwRTNGNEJEIC8qIGZpbmQuaHRtbCBpbiBD
b3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTAyQzg0
QjEyNUQ0QTVFMDBFM0Y0QkQgLyogZmluZC5odG1sICovOyB9OwogCQkxQTM1MjRBRTFENjNBNEZC
MDAzMTcyOUIgLyogU2NvcGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMUEzNTI0QUMxRDYzQTRGQjAwMzE3MjlCIC8qIFNjb3BlLmNwcCAqLzsgfTsK
IAkJMUE0RjgxQ0YxQkRGRkQ1MzAwNEU2NzJFIC8qIFJlbW90ZU9iamVjdFJlZ2lzdHJ5UGx1Z0lu
Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE0Rjgx
Q0QxQkRGRkQ1MzAwNEU2NzJFIC8qIFJlbW90ZU9iamVjdFJlZ2lzdHJ5UGx1Z0luLm1tICovOyB9
OwpAQCAtMjAyMCw2ICsyMDIxLDcgQEAKIAkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7
CiAJCQlmaWxlcyA9ICgKIAkJCQk5M0Y1NkRBNzFFNUY5MTc0MDAzRURFODQgLyogbGliaWN1Y29y
ZS5keWxpYiBpbiBGcmFtZXdvcmtzICovLAorCQkJCTE0M0RERTk4MjBDOTAxOEIwMDdGNzZGQSAv
KiBTZWN1cml0eS5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5
Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>