<?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>119448</bug_id>
          
          <creation_ts>2013-08-02 09:34:55 -0700</creation_ts>
          <short_desc>[Gtk] Suppress irrelevant or known leaks for Valgrind</short_desc>
          <delta_ts>2013-08-21 09:10:10 -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>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>118785</dependson>
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Brian Holt">brian.holt</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dpranke</cc>
    
    <cc>glenn</cc>
    
    <cc>mrobinson</cc>
    
    <cc>pnormand</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>914178</commentid>
    <comment_count>0</comment_count>
    <who name="Brian Holt">brian.holt</who>
    <bug_when>2013-08-02 09:34:55 -0700</bug_when>
    <thetext>Valgrind often works too well and reports memory leaks and violations that might not be relevant or might already be known to the application that is being analysed.

To make this easier Valgrind supports a the notion of suppressions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>914184</commentid>
    <comment_count>1</comment_count>
      <attachid>208029</attachid>
    <who name="Brian Holt">brian.holt</who>
    <bug_when>2013-08-02 09:58:53 -0700</bug_when>
    <thetext>Created attachment 208029
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>914491</commentid>
    <comment_count>2</comment_count>
      <attachid>208029</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2013-08-04 16:36:28 -0700</bug_when>
    <thetext>Comment on attachment 208029
Patch

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

Thanks for the patch, Brian. Informal review here:

First of all, the patch looks good in general, although there are some problems such as the fact that the patch does not seem to be consistent with the fact that this bug depends on bug 118785 (you&apos;re adding some code here that is already proposed as part of the latest patch for that other bug, instead of proposing just the incremental diff compared to that one), or that there are some issues related to coding style that would need fixing before landing.

See my comments below...

&gt; Tools/Scripts/webkitpy/port/gtk.py:31
&gt; +import uuid

This line is already included as part of the latest patch for bug 118785. Please remove it from here.

&gt; Tools/Scripts/webkitpy/port/gtk.py:94
&gt; +        if self.get_option(&quot;leaks&quot;):
&gt; +            environment[&apos;G_SLICE&apos;] = &apos;always-malloc&apos;
&gt; +            xmlfile = &quot;&quot;.join((&apos;\&quot;&apos;, self.results_directory(), &quot;/drt-%p-&quot;,
&gt; +                               uuid.uuid1().hex, &quot;-leaks.xml&quot;, &apos;\&quot;&apos;))
&gt; +            suppressionsfile = self.path_from_webkit_base(
&gt; +                &apos;Tools&apos;, &apos;valgrind&apos;, &apos;memcheck&apos;, &apos;suppressions.txt&apos;)
&gt; +            environment[&apos;VALGRIND_OPTS&apos;] = &quot;--tool=memcheck &quot; \
&gt; +            &quot;--num-callers=40 --demangle=no --trace-children=no &quot; \
&gt; +            &quot;--smc-check=all-non-file --leak-check=yes &quot; \
&gt; +            &quot;--leak-resolution=high --show-possibly-lost=no &quot; \
&gt; +            &quot;--show-reachable=no --leak-check=full &quot; \
&gt; +            &quot; --undef-value-errors=no &quot; \
&gt; +             &quot;--gen-suppressions=all --xml=yes --xml-file=%s &quot; \

As in the previous case commented above, these lines are already included as part of the latest patch for bug 118785. Please remove it from here and leave only the part that is actually added (the --suppressions=%s part)

&gt; Tools/Scripts/webkitpy/port/gtk.py:99
&gt; +            # FIXME: instead we should be using &quot;jhbuild-wrapper --gtk run&quot;
&gt; +            # to ensure we get the correct library path.
&gt; +            #environment[&apos;LD_LIBRARY_PATH&apos;] = self.path_from_webkit_base(
&gt; +            # &apos;WebKitBuild&apos;, &apos;Dependencies&apos;, &apos;Root&apos;, &apos;lib64&apos;)

These lines are already part of the other patch too. Please remove them

&gt; Tools/Scripts/webkitpy/port/gtk.py:101
&gt; +

Extra line.

&gt; Tools/valgrind/memcheck/suppressions.txt:1
&gt; +# There are four kinds of suppressions in this file.

Please fix this sentence: You mention there are four kinds of suppressions but I could only find three.

&gt; Tools/valgrind/memcheck/suppressions.txt:2
&gt; +# 1. third party stuff we have no control over

Bad sentence: Start with capitalized word (&quot;Third&quot;) and finish with a period.

&gt; Tools/valgrind/memcheck/suppressions.txt:5
&gt; +# 2. intentional unit test errors, or stuff that is somehow a false positive
&gt; +# in our own code, or stuff that is so trivial it&apos;s not worth fixing

Likewise.

&gt; Tools/valgrind/memcheck/suppressions.txt:8
&gt; +# These should all be in webkit&apos;s bug tracking system (but a few aren&apos;t yet).

webkit -&gt; WebKit

&gt; Tools/valgrind/memcheck/suppressions.txt:13
&gt; +# 1. third party stuff we have no control over

Bad sentence: Start with capitalized word (&quot;Third&quot;) and finish with a period.

&gt; Tools/valgrind/memcheck/suppressions.txt:15
&gt; +   #gtk developers don&apos;t like cleaning up one-time leaks.  See http://mail.gnome.org/archives/gtk-devel-list/2004-April/msg00230.html

Missing space at the beginning, missing period at the end and bad capitalization: &quot;#gtk developers&quot; -&gt; &quot;# GTK developers&quot;

Also, you have two spaces between the period and &quot;See&quot;. Please replace those spaces with a line break instead

&gt; Tools/valgrind/memcheck/suppressions.txt:29
&gt; +   FcConfigAppFontAddFile_leak

This underscore here is not needed (and inconsistent with what you are doing in other places (e.g. the previous two suppressions). Also, I would probably call this &quot;Fontconfig leak 1&quot; for consistency with the rest of the file (see my following comments below)

&gt; Tools/valgrind/memcheck/suppressions.txt:36
&gt; +   # See also http://www.gnome.org/~johan/gtk.suppression
&gt; +   # (which has a smattering of similar pango suppressions)

Missing period at the end of the line

&gt; Tools/valgrind/memcheck/suppressions.txt:37
&gt; +   pango_font_leak_todo

Underscores not needed, and name not consistent with others. What about &quot;Fontconfig leak 2&quot;?

&gt; Tools/valgrind/memcheck/suppressions.txt:45
&gt; +   pango_font_leak_todo_2

&quot;Fontconfig leak 3&quot;?

&gt; Tools/valgrind/memcheck/suppressions.txt:55
&gt; +   pango_font_leak_todo_3

&quot;Fontconfig leak 4&quot;?

Same applies to many other names in this file. Please try to get a rule for naming suppressions and stick to it, for the sake of consistency (and remember you do not need to use underscores here)

&gt; Tools/valgrind/memcheck/suppressions.txt:63
&gt; +   pango_font_leak_todo_4

&quot;Fontcontig leak 5&quot;? (last nit of this kind that I mention, please fix the others)

&gt; Tools/valgrind/memcheck/suppressions.txt:88
&gt; +   # Similar to fontconfig_bug_8428 below. Reported in
&gt; +   # https://bugs.freedesktop.org/show_bug.cgi?id=8215

Missing period at the end.

&gt; Tools/valgrind/memcheck/suppressions.txt:98
&gt; +   # Fontconfig leak, seen in shard 16 of 20 of ui_tests
&gt; +   # See https://bugs.freedesktop.org/show_bug.cgi?id=8428
&gt; +   # and http://www.gnome.org/~johan/gtk.suppression

Likewise

&gt; Tools/valgrind/memcheck/suppressions.txt:116
&gt; +   fontconfig_bug   (Third Party)

Please notice you have extra unneeded spaces in this line while fixing its name

&gt; Tools/valgrind/memcheck/suppressions.txt:176
&gt; +   dlopen leak on error. See http://sourceware.org/bugzilla/show_bug.cgi?id=12878.

Be consistent: Please either you put the &quot;See http://...&quot; string in the previous line as a comment preceeded by &quot;#&quot;, or you just avoid using comments at all and you always bundle the &quot;Seeh http://...&quot; string along with the name of the rules. I personally think the first option is better.

&gt; Tools/valgrind/memcheck/suppressions.txt:203
&gt; +   # array of weak references freed but not processed?

Bad capitalization at the beginning. Missing period at the end of the line.

&gt; Tools/valgrind/memcheck/suppressions.txt:211
&gt; +   http://sources.redhat.com/bugzilla/show_bug.cgi?id=5171

You never used an URL before as the name of the suppression. As I mentioned before, please be consistent.

&gt; Tools/valgrind/memcheck/suppressions.txt:283
&gt; +    Gtk leaks an X11 window bug_96402 (Third party)

Extra space before &quot;Gtk&quot;. Also, it is GTK or GTK+, but not Gtk.

&gt; Tools/valgrind/memcheck/suppressions.txt:299
&gt; +   Gtk leaks a cairo context (large leak)

Gtk -&gt; GTK

&gt; Tools/valgrind/memcheck/suppressions.txt:309
&gt; +   leaks in bash

leaks -&gt; Leaks

&gt; Tools/valgrind/memcheck/suppressions.txt:343
&gt; +# XRandRInfo object seems to be leaking inside XRRFindDisplay.  This happens the
&gt; +# first time it is called, no matter who the caller is.  We have observed this
&gt; +# problem with both XRRSelectInput and XRRQueryExtension.

Extra blank spaces that are not needed after the two first periods.

&gt; Tools/valgrind/memcheck/suppressions.txt:351
&gt; +   Flash Player Leak

Flash Player Leak -&gt; Flash player leak

&gt; Tools/valgrind/memcheck/suppressions.txt:426
&gt; +   cairo pixman image allocate

Part of this sentence is a function name, so I would put something like &quot;Cairo _pixman_image_allocate leak&quot;

&gt; Tools/valgrind/memcheck/suppressions.txt:514
&gt; +   AtkProperty is cached but not released (see https://bugs.webkit.org/show_bug.cgi?id=118567#c2)

Again, please be consistent with naming and URLs

&gt; Tools/valgrind/memcheck/suppressions.txt:526
&gt; +   AtkRelationSet is never freed because the target AtkObject is cached https://bugs.webkit.org/show_bug.cgi?id=118567

Ditto.

&gt; Tools/valgrind/memcheck/suppressions.txt:545
&gt; +# 2. intentional unit test errors, or stuff that is somehow a false positive
&gt; +# in our own code, or stuff that is so trivial it&apos;s not worth fixing

Bad sentence: Start with capitalized word (&quot;Third&quot;) and finish with a period.

&gt; Tools/valgrind/memcheck/suppressions.txt:646
&gt; +   Leak webkitAccessibleNew https://bugs.webkit.org/show_bug.cgi?id=118382

Same comment about consistency on names and URLs

&gt; Tools/valgrind/memcheck/suppressions.txt:655
&gt; +   Leak atk title https://bugs.webkit.org/show_bug.cgi?id=118385

Likewise

&gt; Tools/valgrind/memcheck/suppressions.txt:665
&gt; +   Leak PluginObject in exceptional circumstances https://bugs.webkit.org/show_bug.cgi?id=118528

Likewise

&gt; Tools/valgrind/memcheck/suppressions.txt:675
&gt; +   TextCodecICU::registerCodecs is leaking https://bugs.webkit.org/show_bug.cgi?id=118505

Likewise</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>914880</commentid>
    <comment_count>3</comment_count>
      <attachid>208195</attachid>
    <who name="Brian Holt">brian.holt</who>
    <bug_when>2013-08-06 08:58:48 -0700</bug_when>
    <thetext>Created attachment 208195
Suppress known leaks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>914881</commentid>
    <comment_count>4</comment_count>
    <who name="Brian Holt">brian.holt</who>
    <bug_when>2013-08-06 09:02:13 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 208029 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=208029&amp;action=review
&gt; 
&gt; Thanks for the patch, Brian. Informal review here:
&gt; 
&gt; First of all, the patch looks good in general, although there are some problems such as the fact that the patch does not seem to be consistent with the fact that this bug depends on bug 118785 (you&apos;re adding some code here that is already proposed as part of the latest patch for that other bug, instead of proposing just the incremental diff compared to that one), or that there are some issues related to coding style that would need fixing before landing.

Thanks for the review.  In light of the comments especially about style I&apos;ve made all comments for leaks start with Uppercase and end with a period. I&apos;ve also chosen the offending function as the leak name with and optional &quot;(Third party)&quot; or &quot;(Intentional)&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>914882</commentid>
    <comment_count>5</comment_count>
      <attachid>208195</attachid>
    <who name="Brian Holt">brian.holt</who>
    <bug_when>2013-08-06 09:15:08 -0700</bug_when>
    <thetext>Comment on attachment 208195
Suppress known leaks

Cancelling review: DRT now times out Valgrind only when using suppressions.  Will submit a new patch that addresses this as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>914885</commentid>
    <comment_count>6</comment_count>
      <attachid>208197</attachid>
    <who name="Brian Holt">brian.holt</who>
    <bug_when>2013-08-06 09:26:43 -0700</bug_when>
    <thetext>Created attachment 208197
Suppress known leaks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>914945</commentid>
    <comment_count>7</comment_count>
      <attachid>208197</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2013-08-06 14:13:10 -0700</bug_when>
    <thetext>Comment on attachment 208197
Suppress known leaks

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

I&apos;ll let some gtk reviewer review the actual suppressions for this ... the python code looks a bit odd (not sure why you&apos;re using default_timeout_ms instead of driver_stop_timeout in either case).

&gt; Tools/Scripts/webkitpy/port/gtk.py:77
&gt; +        return super(GtkPort, self).default_timeout_ms()

Should this be super(...).driver_stop_timeout() ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>915076</commentid>
    <comment_count>8</comment_count>
      <attachid>208197</attachid>
    <who name="Brian Holt">brian.holt</who>
    <bug_when>2013-08-07 02:25:38 -0700</bug_when>
    <thetext>Comment on attachment 208197
Suppress known leaks

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

&gt;&gt; Tools/Scripts/webkitpy/port/gtk.py:77
&gt;&gt; +        return super(GtkPort, self).default_timeout_ms()
&gt; 
&gt; Should this be super(...).driver_stop_timeout() ?

You&apos;re right - it should be.

&gt; Tools/Scripts/webkitpy/port/gtk.py:103
&gt; +            suppressionsfile = self.path_from_webkit_base(&apos;Tools&apos;, &apos;Scripts&apos;, &apos;valgrind&apos;, &apos;suppressions.txt&apos;)

Is the path for the new suppressions file ok?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>915077</commentid>
    <comment_count>9</comment_count>
      <attachid>208245</attachid>
    <who name="Brian Holt">brian.holt</who>
    <bug_when>2013-08-07 02:38:29 -0700</bug_when>
    <thetext>Created attachment 208245
Suppress known leaks v2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>915248</commentid>
    <comment_count>10</comment_count>
      <attachid>208245</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2013-08-07 13:00:46 -0700</bug_when>
    <thetext>Comment on attachment 208245
Suppress known leaks v2

Tools/Scripts/valgrind seems fine to me. Python change also looks good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>919430</commentid>
    <comment_count>11</comment_count>
    <who name="Brian Holt">brian.holt</who>
    <bug_when>2013-08-21 08:50:15 -0700</bug_when>
    <thetext>Any chance of a review by a Gtk reviewer?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>919441</commentid>
    <comment_count>12</comment_count>
    <who name="Brian Holt">brian.holt</who>
    <bug_when>2013-08-21 09:04:03 -0700</bug_when>
    <thetext>Thanks Martin! Would you mind setting cq+?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>919447</commentid>
    <comment_count>13</comment_count>
      <attachid>208245</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-08-21 09:10:07 -0700</bug_when>
    <thetext>Comment on attachment 208245
Suppress known leaks v2

Clearing flags on attachment: 208245

Committed r154387: &lt;http://trac.webkit.org/changeset/154387&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>919448</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-08-21 09:10:10 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>208029</attachid>
            <date>2013-08-02 09:58:53 -0700</date>
            <delta_ts>2013-08-06 08:58:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-119448-20130802175919.patch</filename>
            <type>text/plain</type>
            <size>20335</size>
            <attacher name="Brian Holt">brian.holt</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUzNDY4CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZjk4MWEzMDc5MzljN2FlYmM5YmUyZmQ1NTllZDY0NDY1
YjVjYjQ1NC4uOWUxMmIwOGNjZDU5YWQ1YmNkYjdiZTcwZDE4ZTk2NGFhMGYzZmU4NSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4
IEBACisyMDEzLTA4LTAyICBCcmlhbiBIb2x0ICA8YnJpYW4uaG9sdEBzYW1zdW5nLmNvbT4KKwor
ICAgICAgICBbR3RrXSBTdXBwcmVzcyBpcnJlbGV2YW50IG9yIGtub3duIGxlYWtzIGZvciBWYWxn
cmluZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE5
NDQ4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRk
IGEgc3VwcHJlc3Npb25zIGZpbGUgdG8gc3VwcHJlc3Mga25vd24gbGVha3MgZm9yIFZhbGdyaW5k
LgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L2d0ay5weToKKyAgICAgICAgKEd0
a1BvcnQuc2V0dXBfZW52aXJvbl9mb3Jfc2VydmVyKToKKworICAgICAgICAqIHZhbGdyaW5kL21l
bWNoZWNrL3N1cHByZXNzaW9ucy50eHQ6IEFkZGVkLgorICAgICAgICBGaWxlIGNvbnRhaW5pbmcg
c3VwcHJlc3Npb25zIGZvciBrbm93biBsZWFrcy4KKwogMjAxMy0wNy0yOSAgQ29tbWl0IFF1ZXVl
ICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGlu
ZyBvdXQgcjE1Mjg2MC4KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9n
dGsucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvZ3RrLnB5CmluZGV4IGIzZjFmMjNl
MWU0NDQ4MTNmMWEwYTJhZTBjZDJhYTM1NGQ2OWUyNzcuLmE2NTJmMDU0ZTAxMDc0YjQ5ZTk2Njhj
YTJiOGI2ZGJkNWJjOTRiMjYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9y
dC9ndGsucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2d0ay5weQpAQCAtMjgs
NiArMjgsNyBAQAogCiBpbXBvcnQgb3MKIGltcG9ydCBzdWJwcm9jZXNzCitpbXBvcnQgdXVpZAog
CiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5tZW1vaXplZCBpbXBvcnQgbWVtb2l6ZWQKIGZyb20gd2Vi
a2l0cHkubGF5b3V0X3Rlc3RzLm1vZGVscy50ZXN0X2NvbmZpZ3VyYXRpb24gaW1wb3J0IFRlc3RD
b25maWd1cmF0aW9uCkBAIC03OCw3ICs3OSwyNiBAQCBjbGFzcyBHdGtQb3J0KFBvcnQpOgogICAg
ICAgICBlbnZpcm9ubWVudFsnVEVTVF9SVU5ORVJfVEVTVF9QTFVHSU5fUEFUSCddID0gc2VsZi5f
YnVpbGRfcGF0aCgnVGVzdE5ldHNjYXBlUGx1Z2luJywgJy5saWJzJykKICAgICAgICAgZW52aXJv
bm1lbnRbJ1dFQktJVF9JTlNQRUNUT1JfUEFUSCddID0gc2VsZi5fYnVpbGRfcGF0aCgnUHJvZ3Jh
bXMnLCAncmVzb3VyY2VzJywgJ2luc3BlY3RvcicpCiAgICAgICAgIGVudmlyb25tZW50WydBVURJ
T19SRVNPVVJDRVNfUEFUSCddID0gc2VsZi5wYXRoX2Zyb21fd2Via2l0X2Jhc2UoJ1NvdXJjZScs
ICdXZWJDb3JlJywgJ3BsYXRmb3JtJywgJ2F1ZGlvJywgJ3Jlc291cmNlcycpCisgICAgICAgIGlm
IHNlbGYuZ2V0X29wdGlvbigibGVha3MiKToKKyAgICAgICAgICAgIGVudmlyb25tZW50WydHX1NM
SUNFJ10gPSAnYWx3YXlzLW1hbGxvYycKKyAgICAgICAgICAgIHhtbGZpbGUgPSAiIi5qb2luKCgn
XCInLCBzZWxmLnJlc3VsdHNfZGlyZWN0b3J5KCksICIvZHJ0LSVwLSIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdXVpZC51dWlkMSgpLmhleCwgIi1sZWFrcy54bWwiLCAnXCInKSkK
KyAgICAgICAgICAgIHN1cHByZXNzaW9uc2ZpbGUgPSBzZWxmLnBhdGhfZnJvbV93ZWJraXRfYmFz
ZSgKKyAgICAgICAgICAgICAgICAnVG9vbHMnLCAndmFsZ3JpbmQnLCAnbWVtY2hlY2snLCAnc3Vw
cHJlc3Npb25zLnR4dCcpCisgICAgICAgICAgICBlbnZpcm9ubWVudFsnVkFMR1JJTkRfT1BUUydd
ID0gIi0tdG9vbD1tZW1jaGVjayAiIFwKKyAgICAgICAgICAgICItLW51bS1jYWxsZXJzPTQwIC0t
ZGVtYW5nbGU9bm8gLS10cmFjZS1jaGlsZHJlbj1ubyAiIFwKKyAgICAgICAgICAgICItLXNtYy1j
aGVjaz1hbGwtbm9uLWZpbGUgLS1sZWFrLWNoZWNrPXllcyAiIFwKKyAgICAgICAgICAgICItLWxl
YWstcmVzb2x1dGlvbj1oaWdoIC0tc2hvdy1wb3NzaWJseS1sb3N0PW5vICIgXAorICAgICAgICAg
ICAgIi0tc2hvdy1yZWFjaGFibGU9bm8gLS1sZWFrLWNoZWNrPWZ1bGwgIiBcCisgICAgICAgICAg
ICAiIC0tdW5kZWYtdmFsdWUtZXJyb3JzPW5vICIgXAorICAgICAgICAgICAgICItLWdlbi1zdXBw
cmVzc2lvbnM9YWxsIC0teG1sPXllcyAtLXhtbC1maWxlPSVzICIgXAorICAgICAgICAgICAgICIt
LXN1cHByZXNzaW9ucz0lcyIgJSAoeG1sZmlsZSwgc3VwcHJlc3Npb25zZmlsZSkKKyAgICAgICAg
ICAgICMgRklYTUU6IGluc3RlYWQgd2Ugc2hvdWxkIGJlIHVzaW5nICJqaGJ1aWxkLXdyYXBwZXIg
LS1ndGsgcnVuIgorICAgICAgICAgICAgIyB0byBlbnN1cmUgd2UgZ2V0IHRoZSBjb3JyZWN0IGxp
YnJhcnkgcGF0aC4KKyAgICAgICAgICAgICNlbnZpcm9ubWVudFsnTERfTElCUkFSWV9QQVRIJ10g
PSBzZWxmLnBhdGhfZnJvbV93ZWJraXRfYmFzZSgKKyAgICAgICAgICAgICMgJ1dlYktpdEJ1aWxk
JywgJ0RlcGVuZGVuY2llcycsICdSb290JywgJ2xpYjY0JykKICAgICAgICAgc2VsZi5fY29weV92
YWx1ZV9mcm9tX2Vudmlyb25faWZfc2V0KGVudmlyb25tZW50LCAnV0VCS0lUX09VVFBVVERJUicp
CisKICAgICAgICAgcmV0dXJuIGVudmlyb25tZW50CiAKICAgICBkZWYgX2dlbmVyYXRlX2FsbF90
ZXN0X2NvbmZpZ3VyYXRpb25zKHNlbGYpOgpkaWZmIC0tZ2l0IGEvVG9vbHMvdmFsZ3JpbmQvbWVt
Y2hlY2svc3VwcHJlc3Npb25zLnR4dCBiL1Rvb2xzL3ZhbGdyaW5kL21lbWNoZWNrL3N1cHByZXNz
aW9ucy50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZDYyOTk3ZDYzNzlhYzIyMDMxZmVjOWU2Y2M4OWE1MDBhNTNm
YjhlMgotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL3ZhbGdyaW5kL21lbWNoZWNrL3N1cHByZXNz
aW9ucy50eHQKQEAgLTAsMCArMSw3MDUgQEAKKyMgVGhlcmUgYXJlIGZvdXIga2luZHMgb2Ygc3Vw
cHJlc3Npb25zIGluIHRoaXMgZmlsZS4KKyMgMS4gdGhpcmQgcGFydHkgc3R1ZmYgd2UgaGF2ZSBu
byBjb250cm9sIG92ZXIKKyMKKyMgMi4gaW50ZW50aW9uYWwgdW5pdCB0ZXN0IGVycm9ycywgb3Ig
c3R1ZmYgdGhhdCBpcyBzb21laG93IGEgZmFsc2UgcG9zaXRpdmUKKyMgaW4gb3VyIG93biBjb2Rl
LCBvciBzdHVmZiB0aGF0IGlzIHNvIHRyaXZpYWwgaXQncyBub3Qgd29ydGggZml4aW5nCisjCisj
IDMuIFN1cHByZXNzaW9ucyBmb3IgcmVhbCB3ZWJraXQgYnVncyB0aGF0IGFyZSBub3QgeWV0IGZp
eGVkLgorIyBUaGVzZSBzaG91bGQgYWxsIGJlIGluIHdlYmtpdCdzIGJ1ZyB0cmFja2luZyBzeXN0
ZW0gKGJ1dCBhIGZldyBhcmVuJ3QgeWV0KS4KKyMgUGVyaW9kaWNhbGx5IHdlIHNob3VsZCBzd2Vl
cCB0aGlzIGZpbGUgYW5kIHRoZSBidWcgdHJhY2tlciBjbGVhbiBieQorIyBydW5uaW5nIG92ZXJu
aWdodCBhbmQgcmVtb3Zpbmcgb3V0ZGF0ZWQgYnVncy9zdXBwcmVzc2lvbnMuCisjLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KKworIyAxLiB0aGlyZCBwYXJ0eSBzdHVmZiB3ZSBoYXZlIG5vIGNvbnRyb2wgb3Zlcgor
eworICAgI2d0ayBkZXZlbG9wZXJzIGRvbid0IGxpa2UgY2xlYW5pbmcgdXAgb25lLXRpbWUgbGVh
a3MuICBTZWUgaHR0cDovL21haWwuZ25vbWUub3JnL2FyY2hpdmVzL2d0ay1kZXZlbC1saXN0LzIw
MDQtQXByaWwvbXNnMDAyMzAuaHRtbAorICAgZ3RrX2luaXRfY2hlY2sgbGVhayAoVGhpcmQgUGFy
dHkpCisgICBNZW1jaGVjazpMZWFrCisgICAuLi4KKyAgIGZ1bjpndGtfaW5pdF9jaGVjaworfQor
eworICAgRm9udGNvbmZpZyBsZWFrCisgICBNZW1jaGVjazpMZWFrCisgICAuLi4KKyAgIGZ1bjpY
TUxfUGFyc2VCdWZmZXIKKyAgIGZ1bjpGY0NvbmZpZ1BhcnNlQW5kTG9hZAorfQoreworICAgRmND
b25maWdBcHBGb250QWRkRmlsZV9sZWFrCisgICBNZW1jaGVjazpMZWFrCisgICAuLi4KKyAgIGZ1
bjpGY0NvbmZpZ0FwcEZvbnRBZGRGaWxlCit9Cit7CisgICAjIFNlZSBhbHNvIGh0dHA6Ly93d3cu
Z25vbWUub3JnL35qb2hhbi9ndGsuc3VwcHJlc3Npb24KKyAgICMgKHdoaWNoIGhhcyBhIHNtYXR0
ZXJpbmcgb2Ygc2ltaWxhciBwYW5nbyBzdXBwcmVzc2lvbnMpCisgICBwYW5nb19mb250X2xlYWtf
dG9kbworICAgTWVtY2hlY2s6TGVhaworICAgLi4uCisgICBmdW46RmNGb250UmVuZGVyUHJlcGFy
ZQorICAgb2JqOioKKyAgIGZ1bjpwYW5nb19mb250X21hcF9sb2FkX2ZvbnRzZXQKK30KK3sKKyAg
IHBhbmdvX2ZvbnRfbGVha190b2RvXzIKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjptYWxsb2MK
KyAgIGZ1bjpnX21hbGxvYworICAgZnVuOmdfc3RyZHVwCisgICBmdW46cGFuZ29fc2NyaXB0X2dl
dF9zYW1wbGVfbGFuZ3VhZ2UKKyAgIC4uLgorICAgZnVuOnBhbmdvX2ZvbnRfZ2V0X21ldHJpY3MK
K30KK3sKKyAgIHBhbmdvX2ZvbnRfbGVha190b2RvXzMKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4u
LgorICAgZnVuOkZjRm9udFJlbmRlclByZXBhcmUKKyAgIC4uLgorICAgZnVuOnBhbmdvX2l0ZW1p
emVfd2l0aF9iYXNlX2RpcgorfQoreworICAgcGFuZ29fZm9udF9sZWFrX3RvZG9fNAorICAgTWVt
Y2hlY2s6TGVhaworICAgLi4uCisgICBmdW46RmNGb250UmVuZGVyUHJlcGFyZQorICAgLi4uCisg
ICBmdW46cGFuZ29fb3RfYnVmZmVyX291dHB1dAorfQoreworICAgcGFuZ29fZm9udF9sZWFrX3Rv
ZG9fNQorICAgTWVtY2hlY2s6TGVhaworICAgLi4uCisgICBmdW46RmNGb250UmVuZGVyUHJlcGFy
ZQorICAgLi4uCisgICBmdW46cGFuZ29fY29udGV4dF9nZXRfbWV0cmljcworfQoreworICAgcGFu
Z29fZm9udF9sZWFrX3RvZG9fNgorICAgTWVtY2hlY2s6TGVhaworICAgLi4uCisgICBmdW46RmNE
ZWZhdWx0U3Vic3RpdHV0ZQorICAgLi4uCisgICBmdW46cGFuZ29faXRlbWl6ZV93aXRoX2Jhc2Vf
ZGlyCit9Cit7CisgICAjIFNpbWlsYXIgdG8gZm9udGNvbmZpZ19idWdfODQyOCBiZWxvdy4gUmVw
b3J0ZWQgaW4KKyAgICMgaHR0cHM6Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9ODIxNQorICAgZm9udGNvbmZpZ19idWdfODIxNQorICAgTWVtY2hlY2s6TGVhaworICAgZnVu
Om1hbGxvYworICAgZnVuOkZjUGF0dGVybk9iamVjdEluc2VydEVsdAorICAgZnVuOkZjUGF0dGVy
bk9iamVjdEFkZFdpdGhCaW5kaW5nCit9Cit7CisgICAjIEZvbnRjb25maWcgbGVhaywgc2VlbiBp
biBzaGFyZCAxNiBvZiAyMCBvZiB1aV90ZXN0cworICAgIyBTZWUgaHR0cHM6Ly9idWdzLmZyZWVk
ZXNrdG9wLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODQyOAorICAgIyBhbmQgaHR0cDovL3d3dy5nbm9t
ZS5vcmcvfmpvaGFuL2d0ay5zdXBwcmVzc2lvbgorICAgZm9udGNvbmZpZ19idWdfODQyOAorICAg
TWVtY2hlY2s6TGVhaworICAgLi4uCisgICBmdW46cmVhbGxvYworICAgZnVuOkZjUGF0dGVybk9i
amVjdEluc2VydEVsdAorICAgZnVuOkZjUGF0dGVybk9iamVjdEFkZFdpdGhCaW5kaW5nCit9Cit7
CisgICAjIEFub3RoZXIgcGVybXV0YXRpb24gb2YgcHJldmlvdXMgbGVhay4KKyAgIGZvbnRjb25m
aWdfYnVnXzg0MjhfMgorICAgTWVtY2hlY2s6TGVhaworICAgLi4uCisgICBmdW46cmVhbGxvYwor
ICAgZnVuOkZjUGF0dGVybk9iamVjdEluc2VydEVsdAorICAgZnVuOkZjUGF0dGVybk9iamVjdEFk
ZAorfQoreworICAgZm9udGNvbmZpZ19idWcgICAoVGhpcmQgUGFydHkpCisgICBNZW1jaGVjazpM
ZWFrCisgICAuLi4KKyAgIGZ1bjptYWxsb2MKKyAgIGZ1bjpGY0NvbmZpZ1ZhbHVlcworICAgZnVu
OkZjQ29uZmlnVmFsdWVzCisgICAuLi4KKyAgIGZ1bjpGY0NvbmZpZ1ZhbHVlcworICAgZnVuOkZj
Q29uZmlnVmFsdWVzCit9Cit7CisgICBidWdfNDYxNzdfYSAoVGhpcmQgUGFydHkpCisgICBNZW1j
aGVjazpMZWFrCisgICAuLi4KKyAgIGZ1bjpGY0NoYXJTZXRPcGVyYXRlCisgICBmdW46RmNGb250
U2V0U29ydAorICAgZnVuOkZjRm9udFNvcnQKKyAgIC4uLgorICAgZnVuOnBhbmdvX2xheW91dF9n
ZXRfcGl4ZWxfc2l6ZQorfQoreworICAgYnVnXzQ2MTc3X2IgKFRoaXJkIFBhcnR5KQorICAgTWVt
Y2hlY2s6TGVhaworICAgLi4uCisgICBmdW46RmNDaGFyU2V0RmluZExlYWZDcmVhdGUKKyAgIGZ1
bjpGY0NoYXJTZXRBZGRMZWFmCisgICBmdW46RmNDaGFyU2V0T3BlcmF0ZQorICAgZnVuOkZjRm9u
dFNldFNvcnQKKyAgIGZ1bjpGY0ZvbnRTb3J0CisgICAuLi4KKyAgIGZ1bjpwYW5nb19sYXlvdXRf
Z2V0X2l0ZXIKK30KK3sKKyAgIGJ1Z180NjE3N19jIChUaGlyZCBQYXJ0eSkKKyAgIE1lbWNoZWNr
OkxlYWsKKyAgIC4uLgorICAgZnVuOkZjQ2hhclNldEZpbmRMZWFmQ3JlYXRlCisgICBmdW46RmND
aGFyU2V0QWRkTGVhZgorICAgZnVuOkZjQ2hhclNldE9wZXJhdGUKKyAgIGZ1bjpGY0ZvbnRTZXRT
b3J0CisgICBmdW46RmNGb250U29ydAorICAgLi4uCisgICBmdW46cGFuZ29fbGF5b3V0X2xpbmVf
Z2V0X2V4dGVudHMKK30KK3sKKyAgIGJ1Z180NjE3N19kIChUaGlyZCBQYXJ0eSkKKyAgIE1lbWNo
ZWNrOkxlYWsKKyAgIGZ1bjptYWxsb2MKKyAgIGZ1bjpGY0ZvbnRTZXRDcmVhdGUKKyAgIGZ1bjpG
Y0ZvbnRTZXRTb3J0CisgICBmdW46RmNGb250U29ydAorfQoreworICAgYnVnXzQ2MTc3X2UgKFRo
aXJkIFBhcnR5KQorICAgTWVtY2hlY2s6TGVhaworICAgLi4uCisgICBmdW46RmNDaGFyU2V0Rmlu
ZExlYWZDcmVhdGUKKyAgIGZ1bjpGY0NoYXJTZXRBZGRDaGFyCit9Cit7CisgICBkbG9wZW4gbGVh
ayBvbiBlcnJvci4gU2VlIGh0dHA6Ly9zb3VyY2V3YXJlLm9yZy9idWd6aWxsYS9zaG93X2J1Zy5j
Z2k/aWQ9MTI4NzguCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46Y2FsbG9jCisgICBmdW46X2Rs
ZXJyb3JfcnVuCisgICBmdW46ZGxvcGVuQEBHTElCQ18yLjEKK30KK3sKKyAgIF9kbF9zdGFydCBK
dW1wCisgICBNZW1jaGVjazpKdW1wCisgICBvYmo6KgorICAgb2JqOioKKyAgIGZ1bjpkbF9tYWlu
CisgICBmdW46X2RsX3N5c2RlcF9zdGFydAorICAgZnVuOl9kbF9zdGFydAorICAgb2JqOi9saWIv
eDg2XzY0LWxpbnV4LWdudS9sZC0yLjE1LnNvCisgICBvYmo6KgorICAgb2JqOioKKyAgIG9iajoq
Cit9CisKK3sKKyAgIGdsaWJjIGxlYWsuICBTZWUgYWxzbyBodHRwOi8vc291cmNlcy5yZWRoYXQu
Y29tL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0yNDUxCisgICBNZW1jaGVjazpMZWFrCisgICBm
dW46bWFsbG9jCisgICBmdW46X2RsX21hcF9vYmplY3RfZnJvbV9mZAorfQoreworICAgIyBhcnJh
eSBvZiB3ZWFrIHJlZmVyZW5jZXMgZnJlZWQgYnV0IG5vdCBwcm9jZXNzZWQ/CisgICBidWdfMTY1
NzYKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4uLgorICAgZnVuOmdfb2JqZWN0X3dlYWtfcmVmCisg
ICBmdW46Z19vYmplY3RfYWRkX3dlYWtfcG9pbnRlcgorfQoreworICAgaHR0cDovL3NvdXJjZXMu
cmVkaGF0LmNvbS9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9NTE3MQorICAgTWVtY2hlY2s6TGVh
aworICAgZnVuOmNhbGxvYworICAgZnVuOmFsbG9jYXRlX2R0dgorICAgZnVuOl9kbF9hbGxvY2F0
ZV90bHMKKyAgIGZ1bjpwdGhyZWFkX2NyZWF0ZUBAR0xJQkNfMi4xCit9CisKK3sKKyAgIGdfYnVp
bGRfZmlsZW5hbWUgZm9yIGZvbnRzIChUaGlyZCBwYXJ0eSkKKyAgIE1lbWNoZWNrOkxlYWsKKyAg
IGZ1bjpyZWFsbG9jCisgICBmdW46Z19yZWFsbG9jCisgICBmdW46Z19zdHJpbmdfbWF5YmVfZXhw
YW5kCisgICBmdW46Z19zdHJpbmdfaW5zZXJ0X2xlbgorICAgZnVuOmdfYnVpbGRfcGF0aF92YQor
ICAgZnVuOmdfYnVpbGRfZmlsZW5hbWUKKyAgIGZ1bjpfWkwxNWluaXRpYWxpemVGb250c1BLYwor
fQorCisKK3sKKyAgICMgTG9va3MgbGlrZSBhIGxlYWsgaW4gZ3RrJ3MgY29kZSB3aGVuIGxvYWRp
bmcgdGhlIGltIGNvbnRleHQgbW9kdWxlLgorICAgYnVnXzQxMjMxIChUaGlyZCBQYXJ0eSkKKyAg
IE1lbWNoZWNrOkxlYWsKKyAgIC4uLgorICAgZnVuOm1hbGxvYworICAgZnVuOmdfbWFsbG9jCisg
ICBmdW46Z19zdHJkdXAKKyAgIGZ1bjpndGtfaW1fbXVsdGljb250ZXh0X2dldF9zbGF2ZQorICAg
ZnVuOmd0a19pbV9tdWx0aWNvbnRleHRfc2V0X2NsaWVudF93aW5kb3cKKyAgIGZ1bjpndGtfaW1f
Y29udGV4dF9zZXRfY2xpZW50X3dpbmRvdworfQoreworICAgIyBTZWUgaHR0cDovL3NvdXJjZXdh
cmUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0xNDAxNS4KKyAgIGJ1Z181MTc3MCAoVGhp
cmQgUGFydHkpCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46Y2FsbG9jCisgICBmdW46X2RsZXJy
b3JfcnVuCisgICBmdW46ZGxzeW0KK30KKworeworICAgZ19xdWFya19mcm9tX3N0YXRpY19zdHJp
bmcgKFRoaXJkIHBhcnR5KQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOm1hbGxvYworICAgZnVu
OmdfbWFsbG9jCisgICBmdW46Z19xdWFya19mcm9tX3N0YXRpY19zdHJpbmcKKyAgIGZ1bjpnb2Jq
ZWN0X2luaXRfY3RvcgorICAgZnVuOmNhbGxfaW5pdC5wYXJ0LjAKKyAgIGZ1bjpfZGxfaW5pdAor
ICAgb2JqOi9saWIveDg2XzY0LWxpbnV4LWdudS9sZC0yLjE1LnNvCisgICBvYmo6KgorICAgb2Jq
OioKKyAgIG9iajoqCit9CisKK3sKKyAgIGd0a19jc3MgKFRoaXJkIHBhcnR5KQorICAgTWVtY2hl
Y2s6TGVhaworICAgZnVuOnJlYWxsb2MKKyAgIGZ1bjpnX3JlYWxsb2MKKyAgIGZ1bjpnX3N0cmlu
Z19tYXliZV9leHBhbmQKKyAgIGZ1bjpnX3N0cmluZ19pbnNlcnRfYworICAgZnVuOl9ndGtfY3Nz
X3BhcnNlcl9yZWFkX2NoYXIKKyAgIGZ1bjpfZ3RrX2Nzc19wYXJzZXJfdHJ5X2lkZW50CisgICBm
dW46YmluZGluZ3NfdmFsdWVfcGFyc2Vfb25lCisgICBmdW46X2d0a19jc3NfYXJyYXlfdmFsdWVf
cGFyc2UKKyAgIGZ1bjpndGtfY3NzX3Byb3ZpZGVyX2xvYWRfaW50ZXJuYWwKKyAgIGZ1bjpndGtf
Y3NzX3Byb3ZpZGVyX2xvYWRfZnJvbV9kYXRhCit9Cit7CisgICAgR3RrIGxlYWtzIGFuIFgxMSB3
aW5kb3cgYnVnXzk2NDAyIChUaGlyZCBwYXJ0eSkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpt
YWxsb2MKKyAgIGZ1bjpnX21hbGxvYworICAgZnVuOmdfc2xpY2VfYWxsb2MKKyAgIGZ1bjpnX3Ns
aWNlX2FsbG9jMAorICAgZnVuOmdfdHlwZV9jcmVhdGVfaW5zdGFuY2UKKyAgIGZ1bjpnX29iamVj
dF9jb25zdHJ1Y3RvcgorICAgZnVuOmdfb2JqZWN0X25ld3YKKyAgIGZ1bjpnX29iamVjdF9uZXcK
KyAgIGZ1bjpfZ2RrX3dpbmRvd19pbXBsX25ldworICAgZnVuOmdka193aW5kb3dfZW5zdXJlX25h
dGl2ZQorICAgZnVuOmdka194MTFfZHJhd2FibGVfZ2V0X3hpZAorfQorCit7CisgICBHdGsgbGVh
a3MgYSBjYWlybyBjb250ZXh0IChsYXJnZSBsZWFrKQorICAgTWVtY2hlY2s6TGVhaworICAgZnVu
Om1hbGxvYworICAgZnVuOl9jYWlyb19kZWZhdWx0X2NvbnRleHRfY3JlYXRlCisgICBmdW46c2V0
X2dyaXBfc2hhcGUKKyAgIGZ1bjpyZXNpemVfZ3JpcF9jcmVhdGVfd2luZG93CisgICBmdW46Z3Rr
X3dpbmRvd19yZWFsaXplCit9CisKK3sKKyAgIGxlYWtzIGluIGJhc2gKKyAgIE1lbWNoZWNrOkxl
YWsKKyAgIC4uLgorICAgb2JqOi9iaW4vYmFzaAorfQoreworICAgRW5jaGFudCBzcGVsbGluZyAo
VGhpcmQgcGFydHkpCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoKKyAgIC4uLgorICAg
b2JqOiovbGliZW5jaGFudC5zby4xLjYuMAorICAgZnVuOmVuY2hhbnRfYnJva2VyX2RpY3RfZXhp
c3RzCit9CisKK3sKKyAgIEVuY2hhbnQgc3BlbGxpbmcgKFRoaXJkIHBhcnR5KQorICAgTWVtY2hl
Y2s6TGVhaworICAgZnVuOiphbGxvYworICAgLi4uCisgICBvYmo6Ki9saWJlbmNoYW50LnNvLjEu
Ni4wCisgICBmdW46ZW5jaGFudF9icm9rZXJfZGljdF9leGlzdHMKK30KKworeworICAgQ2Fpcm8g
bGVha3MgYSBwYXR0ZXJuX3QqIGluIGNhaXJvX3NldF9zb3VyY2Vfc3VyZmFjZQorICAgTWVtY2hl
Y2s6TGVhaworICAgZnVuOm1hbGxvYworICAgZnVuOmNhaXJvX3BhdHRlcm5fY3JlYXRlX2Zvcl9z
dXJmYWNlCisgICBmdW46X2NhaXJvX2RlZmF1bHRfY29udGV4dF9zZXRfc291cmNlX3N1cmZhY2UK
KyAgIGZ1bjpjYWlyb19zZXRfc291cmNlX3N1cmZhY2UKK30KKworIyBYUmFuZFJJbmZvIG9iamVj
dCBzZWVtcyB0byBiZSBsZWFraW5nIGluc2lkZSBYUlJGaW5kRGlzcGxheS4gIFRoaXMgaGFwcGVu
cyB0aGUKKyMgZmlyc3QgdGltZSBpdCBpcyBjYWxsZWQsIG5vIG1hdHRlciB3aG8gdGhlIGNhbGxl
ciBpcy4gIFdlIGhhdmUgb2JzZXJ2ZWQgdGhpcworIyBwcm9ibGVtIHdpdGggYm90aCBYUlJTZWxl
Y3RJbnB1dCBhbmQgWFJSUXVlcnlFeHRlbnNpb24uCit7CisgICBYUlJGaW5kRGlzcGxheSBsZWFr
CisgICBNZW1jaGVjazpMZWFrCisgICBmdW46bWFsbG9jCisgICBmdW46WFJSRmluZERpc3BsYXkK
K30KK3sKKyAgIEZsYXNoIFBsYXllciBMZWFrCisgICBNZW1jaGVjazpMZWFrCisgICAuLi4KKyAg
IG9iajovdXNyL2xpYi9mbGFzaHBsdWdpbi1pbnN0YWxsZXIvbGliZmxhc2hwbGF5ZXIuc28KK30K
KworeworICAgT2NjYXNpb25hbCBsZWFrIGluc2lkZSBnZGtfaW5pdCgpCisgICBNZW1jaGVjazpM
ZWFrCisgICBmdW46bWFsbG9jCisgICAuLi4KKyAgIGZ1bjpfbmxfZmluZF9kb21haW4KKyAgIGZ1
bjpfX2RjaWdldHRleHQKKyAgIGZ1bjpnZGtfc2NyZWVuX2NsYXNzX2ludGVybl9pbml0CisgICBm
dW46Z190eXBlX2NsYXNzX3JlZgorICAgZnVuOmdfdHlwZV9jbGFzc19yZWYKKyAgIGZ1bjpnX29i
amVjdF9uZXd2CisgICBmdW46Z19vYmplY3RfbmV3CisgICBmdW46X2dka194MTFfc2NyZWVuX25l
dworICAgZnVuOmdka19kaXNwbGF5X29wZW4KKyAgIGZ1bjpnZGtfZGlzcGxheV9vcGVuX2RlZmF1
bHRfbGliZ3RrX29ubHkKKyAgIGZ1bjpnZGtfaW5pdF9jaGVjaworICAgZnVuOmdka19pbml0Cit9
CisKK3sKKyAgIExlYWsgaW4gWEtleXN5bVRvU3RyaW5nCisgICBNZW1jaGVjazpMZWFrCisgICBm
dW46bWFsbG9jCisgICBmdW46WEtleXN5bVRvU3RyaW5nCisgICBmdW46X2dhaWxfdXRpbF9rZXlf
c25vb3BlcgorICAgZnVuOmd0a19tYWluX2RvX2V2ZW50Cit9CisKK3sKKyAgIGdsaWIvZ3RocmVh
ZCBtYWxsb2MgbGVhayBpbiBjb21wb25lbnQgYnVpbGQKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1
bjoqYWxsb2MKKyAgIC4uLgorICAgZnVuOmdfdGhyZWFkX3Byb3h5Cit9Cit7CisgICBKYXZhIGNy
ZWF0ZSBKTkkgbGVhayAoVGhpcmQgcGFydHkpCisgICBNZW1jaGVjazpMZWFrCisgICAuLi4KKyAg
IGZ1bjpKTklfQ3JlYXRlSmF2YVZNCisgICBmdW46SmF2YU1haW4KK30KKworeworICAgSmF2YSBz
dGFydCB0aHJlYWQgbGVhayAoVGhpcmQgcGFydHkpCisgICBNZW1jaGVjazpMZWFrCisgICAuLi4K
KyAgIGZ1bjpfWk44Vk1UaHJlYWQzcnVuRXYKKyAgIGZ1bjpfWkwxMGphdmFfc3RhcnRQNlRocmVh
ZAorICAgLi4uCisKK30KKworeworICAgSmF2YSBsZWFrIChvYmopIChUaGlyZCBwYXJ0eSkKKyAg
IE1lbWNoZWNrOkxlYWsKKyAgIC4uLgorICAgb2JqOi91c3IvbGliL2p2bS9qYXZhLTYtb3Blbmpk
ay1hbWQ2NC9qcmUvYmluL2phdmEKKyAgIC4uLgorfQoreworICAgT2NjYXNpb25hbCBPcGVuR0wg
bGVha3MgKFRoaXJkIHBhcnR5KQorICAgTWVtY2hlY2s6TGVhaworICAgLi4uCisgICBvYmo6Ki9s
aWJHTC5zby4qCisgICAuLi4KK30KKworeworICAgY2Fpcm8gcGl4bWFuIGltYWdlIGFsbG9jYXRl
CisgICBNZW1jaGVjazpMZWFrCisgICBmdW46bWFsbG9jCisgICBmdW46X3BpeG1hbl9pbWFnZV9h
bGxvY2F0ZQorICAgZnVuOnBpeG1hbl9pbWFnZV9jcmVhdGVfYml0cworICAgZnVuOl9jYWlyb194
bGliX3NobV9zdXJmYWNlX2NyZWF0ZS5pc3JhLjExCit9CisKK3sKKyAgIE5TUyBwYXJzZSBsZWFr
CisgICBNZW1jaGVjazpMZWFrCisgICBmdW46bWFsbG9jCisgICBmdW46bnNzX3BhcnNlX3NlcnZp
Y2VfbGlzdAorICAgZnVuOl9fbnNzX2RhdGFiYXNlX2xvb2t1cAorICAgb2JqOioKK30KKworewor
ICAgR1N0cmVhbWVyIGluaXQgbGVhaworICAgTWVtY2hlY2s6TGVhaworICAgZnVuOm1hbGxvYwor
ICAgZnVuOmdfbWFsbG9jCisgICBmdW46Z19pbnRlcm5fc3RyaW5nCisgICBmdW46X3ByaXZfZ3N0
X3JlZ2lzdHJ5X2NodW5rc19sb2FkX3BsdWdpbgorICAgZnVuOmV4Y2hhbmdlX3BhY2tldHMKKyAg
IGZ1bjpwbHVnaW5fbG9hZGVyX2xvYWQKKyAgIGZ1bjpnc3RfcmVnaXN0cnlfc2Nhbl9wbHVnaW5f
ZmlsZQorICAgZnVuOmdzdF9yZWdpc3RyeV9zY2FuX3BhdGhfbGV2ZWwKKyAgIGZ1bjpnc3RfcmVn
aXN0cnlfc2Nhbl9wYXRoX2ludGVybmFsCisgICBmdW46Z3N0X3VwZGF0ZV9yZWdpc3RyeQorICAg
ZnVuOmluaXRfcG9zdAorICAgZnVuOmdfb3B0aW9uX2NvbnRleHRfcGFyc2UKKyAgIGZ1bjpnc3Rf
aW5pdF9jaGVjaworCit9CisKK3sKKyAgIGdfdGhyZWFkIGxlYWtzIGZvciBhc3luYyB0YXNrcwor
ICAgTWVtY2hlY2s6TGVhaworICAgZnVuOm1hbGxvYworICAgZnVuOmdfbWFsbG9jCisgICBmdW46
Z19zbGljZV9hbGxvYworICAgZnVuOmdfc2xpY2VfYWxsb2MwCisgICBmdW46Z19zeXN0ZW1fdGhy
ZWFkX25ldworICAgZnVuOmdfdGhyZWFkX25ld19pbnRlcm5hbAorICAgZnVuOmdfdGhyZWFkX3Bv
b2xfc3RhcnRfdGhyZWFkCisgICBmdW46Z190aHJlYWRfcG9vbF9wdXNoCisgICBmdW46Z190YXNr
X3N0YXJ0X3Rhc2tfdGhyZWFkCisgICBmdW46Z190YXNrX3J1bl9pbl90aHJlYWQKK30KKworewor
ICAgTGFyZ2UgbGVhayBpbiBjYWlyb19pbWFnZV9zdXJmYWNlX2NyZWF0ZQorICAgTWVtY2hlY2s6
TGVhaworICAgZnVuOm1hbGxvYworICAgZnVuOl9jYWlyb19pbWFnZV9zdXJmYWNlX2NyZWF0ZV9m
b3JfcGl4bWFuX2ltYWdlCisgICBmdW46X2NhaXJvX2ltYWdlX3N1cmZhY2VfY3JlYXRlX3dpdGhf
cGl4bWFuX2Zvcm1hdAorICAgZnVuOl9aTjdXZWJDb3JlMjFjb3B5Q2Fpcm9JbWFnZVN1cmZhY2VF
UDE0X2NhaXJvX3N1cmZhY2UKK30KKworeworICAgTWVtb3J5IGlzIG5vdCBmcmVlZCBmcm9tIHRo
ZSBET00gT2JqZWN0IENhY2hlIChwcm9iYWJseSBpbnRlbnRpb25hbCkKKyAgIE1lbWNoZWNrOkxl
YWsKKyAgIGZ1bjptYWxsb2MKKyAgIGZ1bjpnX21hbGxvYworICAgZnVuOmdfc2xpY2VfYWxsb2MK
KyAgIGZ1bjpfWk42V2ViS2l0MTRET01PYmplY3RDYWNoZTNwdXRFUHZTMV8KKyAgIGZ1bjpfWkwz
M3dlYmtpdF9kb21fZG9tX3dpbmRvd19jb25zdHJ1Y3Rvcm1qUDIyX0dPYmplY3RDb25zdHJ1Y3RQ
YXJhbQorICAgZnVuOmdfb2JqZWN0X25ld3YKKyAgIGZ1bjpnX29iamVjdF9uZXdfdmFsaXN0Cisg
ICBmdW46Z19vYmplY3RfbmV3CisgICBmdW46X1pONldlYktpdDEzd3JhcERPTVdpbmRvd0VQTjdX
ZWJDb3JlOURPTVdpbmRvd0UKKyAgIGZ1bjpfWk42V2ViS2l0M2tpdEVQTjdXZWJDb3JlOURPTVdp
bmRvd0UKKyAgIGZ1bjp3ZWJraXRfZG9tX2RvY3VtZW50X2dldF9kZWZhdWx0X3ZpZXcKKyAgIGZ1
bjpfWjIzZHVtcEZyYW1lU2Nyb2xsUG9zaXRpb25QMTVfV2ViS2l0V2ViRnJhbWUKKyAgIGZ1bjpf
WjRkdW1wdgorICAgZnVuOl9aTDI3dG9wTG9hZGluZ0ZyYW1lTG9hZEZpbmlzaGVkdgorICAgZnVu
Ol9aTDI2d2ViRnJhbWVMb2FkU3RhdHVzTm90aWZpZWRQMTVfV2ViS2l0V2ViRnJhbWVQdgorICAg
ZnVuOmdfY2xvc3VyZV9pbnZva2UKKyAgIGZ1bjpzaWduYWxfZW1pdF91bmxvY2tlZF9SCisgICBm
dW46Z19zaWduYWxfZW1pdF92YWxpc3QKKyAgIGZ1bjpnX3NpZ25hbF9lbWl0CisgICBmdW46Z19v
YmplY3RfZGlzcGF0Y2hfcHJvcGVydGllc19jaGFuZ2VkCisgICBmdW46Z19vYmplY3Rfbm90aWZ5
CisgICBmdW46X1pONldlYktpdEwxMm5vdGlmeVN0YXR1c0VQMTVfV2ViS2l0V2ViRnJhbWUxNldl
YktpdExvYWRTdGF0dXMKK30KKworeworICAgQXRrUHJvcGVydHkgaXMgY2FjaGVkIGJ1dCBub3Qg
cmVsZWFzZWQgKHNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE4
NTY3I2MyKQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOm1hbGxvYworICAgZnVuOl9aTjNXVEYx
MGZhc3RNYWxsb2NFbQorICAgZnVuOl9aTjNXVEYxM0NTdHJpbmdCdWZmZXIxOWNyZWF0ZVVuaW5p
dGlhbGl6ZWRFbQorICAgZnVuOl9aTjNXVEY3Q1N0cmluZzRpbml0RVBLY20KKyAgIGZ1bjpfWk4z
V1RGN0NTdHJpbmdDMUVQS2NtCisgICBmdW46X1pOSzNXVEY2U3RyaW5nNHV0ZjhFTlMwXzE0Q29u
dmVyc2lvbk1vZGVFCisgICBmdW46Y2FjaGVBbmRSZXR1cm5BdGtQcm9wZXJ0eQorfQorCit7Cisg
ICBBdGtSZWxhdGlvblNldCBpcyBuZXZlciBmcmVlZCBiZWNhdXNlIHRoZSB0YXJnZXQgQXRrT2Jq
ZWN0IGlzIGNhY2hlZCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE4
NTY3CisgICBNZW1jaGVjazpMZWFrCisgICBmdW46bWFsbG9jCisgICAuLi4KKyAgIGZ1bjpnX29i
amVjdF93ZWFrX3JlZgorICAgZnVuOmF0a19yZWxhdGlvbl9zZXRfcHJvcGVydHkKKyAgIGZ1bjpn
X29iamVjdF9uZXd2CisgICBmdW46Z19vYmplY3RfbmV3X3ZhbGlzdAorICAgZnVuOmdfb2JqZWN0
X25ldworICAgZnVuOmF0a19yZWxhdGlvbl9uZXcKKyAgIGZ1bjphdGtfcmVsYXRpb25fc2V0X2Fk
ZF9yZWxhdGlvbl9ieV90eXBlCisgICBmdW46X1pMMzFzZXRBdGtSZWxhdGlvblNldEZyb21Db3Jl
T2JqZWN0UE43V2ViQ29yZTE5QWNjZXNzaWJpbGl0eU9iamVjdEVQMTVfQXRrUmVsYXRpb25TZXQK
KyAgIGZ1bjpfWkwzMHdlYmtpdEFjY2Vzc2libGVSZWZSZWxhdGlvblNldFAxMF9BdGtPYmplY3QK
KyAgIGZ1bjpfWk4yMkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQxNHRpdGxlVUlFbGVtZW50RXYKK30K
KworCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgMi4gaW50ZW50aW9uYWwgdW5pdCB0ZXN0IGVycm9ycywg
b3Igc3R1ZmYgdGhhdCBpcyBzb21laG93IGEgZmFsc2UgcG9zaXRpdmUKKyMgaW4gb3VyIG93biBj
b2RlLCBvciBzdHVmZiB0aGF0IGlzIHNvIHRyaXZpYWwgaXQncyBub3Qgd29ydGggZml4aW5nCisK
KyMgU2VlIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9tZW1jaGVja19hbmFseXplLnB5IGJl
Zm9yZSBtb2RpZnlpbmcgc2FuaXR5IHRlc3RzLgoreworICAgTWVtY2hlY2sgc2FuaXR5IHRlc3Qg
MDEgKG1lbW9yeSBsZWFrKS4KKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm5hKgorICAgZnVu
Ol9aTjRiYXNlMzFUb29sc1Nhbml0eVRlc3RfTWVtb3J5TGVha19UZXN0OFRlc3RCb2R5RXYKK30K
KworeworICAgTWVtY2hlY2sgc2FuaXR5IHRlc3QgMTIgKGFycmF5IGRlbGV0ZWQgd2l0aG91dCBb
XSkuCisgICBNZW1jaGVjazpGcmVlCisgICAuLi4KKyAgIGZ1bjpfWk40YmFzZTQ2VG9vbHNTYW5p
dHlUZXN0X0FycmF5RGVsZXRlZFdpdGhvdXRCcmFjZXNfVGVzdDhUZXN0Qm9keUV2Cit9Cit7Cisg
ICBNZW1jaGVjayBzYW5pdHkgdGVzdCAxMyAoc2luZ2xlIGVsZW1lbnQgZGVsZXRlZCB3aXRoIFtd
KS4KKyAgIE1lbWNoZWNrOkZyZWUKKyAgIC4uLgorICAgZnVuOl9aTjRiYXNlNTFUb29sc1Nhbml0
eVRlc3RfU2luZ2xlRWxlbWVudERlbGV0ZWRXaXRoQnJhY2VzX1Rlc3Q4VGVzdEJvZHlFdgorfQor
Cit7CisgICAjIEFjY29yZGluZyB0byBkZ2xhemtvdiwgdGhlc2UgYXJlIG9uZS10aW1lIGxlYWtz
IGFuZCBpbnRlbnRpb25hbC4KKyAgICMgVGhleSBtYXkgZ28gYXdheSBpZiB0aGUgY2hhbmdlIHRv
IG1vdmUgdGhlc2Ugb2ZmIHRoZSBoZWFwIGxhbmRzLgorICAgYnVnXzE3OTk2IChJbnRlbnRpb25h
bCkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4uLgorICAgZnVuOl9aTjdXZWJDb3JlOFNWR05hbWVz
NGluaXRFdgorfQorCit7CisgICAjIFRoaXMgaXMgYW4gb24gZGVtYW5kIGluaXRpYWxpemF0aW9u
IHdoaWNoIGlzIGRvbmUgYW5kIHRoZW4gaW50ZW50aW9uYWxseQorICAgIyBrZXB0IGFyb3VuZCAo
bm90IGZyZWVkKSB3aGlsZSB0aGUgcHJvY2VzcyBpcyBydW5uaW5nLgorICAgaW50ZW50aW9uYWxf
V2ViQ29yZV9YTUxOYW1lc19pbml0X2xlYWsKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4uLgorICAg
ZnVuOl9aTjdXZWJDb3JlOFhNTE5hbWVzNGluaXRFdgorfQoreworICAgIyBUaGlzIGlzIFdlYktp
dCB3aWRlIHRoZWFkaW5nIGluaXRpYWxpemF0aW9uIHdoaWNoIGlzIGludGVudGlvbmFsbHkga2Vw
dAorICAgIyBhcm91bmQgKG5vdCBmcmVlZCkgd2hpbGUgdGhlIHByb2Nlc3MgaXMgcnVubmluZy4K
KyAgIGludGVudGlvbmFsX1dURl9UaHJlYWRJZGVudGlmaWVyRGF0YV9pbml0aWFsaXplX2xlYWsK
KyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4uLgorICAgZnVuOl9aTjNXVEYyMFRocmVhZElkZW50aWZp
ZXJEYXRhMTBpbml0aWFsaXplRWoKK30KK3sKKyAgICMgVGhpcyBpcyBXZWJLaXQgd2lkZSB0aGVh
ZGluZyBpbml0aWFsaXphdGlvbiB3aGljaCBpcyBpbnRlbnRpb25hbGx5IGtlcHQKKyAgICMgYXJv
dW5kIChub3QgZnJlZWQpIHdoaWxlIHRoZSBwcm9jZXNzIGlzIHJ1bm5pbmcuCisgICBpbnRlbnRp
b25hbF9XVEZfd3RmVGhyZWFkRGF0YV9sZWFrCisgICBNZW1jaGVjazpMZWFrCisgICAuLi4KKyAg
IGZ1bjpfWk4zV1RGMTN3dGZUaHJlYWREYXRhRXYKK30KKworeworICAgV1RGOjpCaXRWZWN0b3Ig
bGVhaworICAgTWVtY2hlY2s6TGVhaworICAgZnVuOm1hbGxvYworICAgZnVuOl9aTjNXVEYxMGZh
c3RNYWxsb2NFbQorICAgZnVuOl9aTjNXVEY5Qml0VmVjdG9yMTNPdXRPZkxpbmVCaXRzNmNyZWF0
ZUVtCisgICBmdW46X1pOM1dURjlCaXRWZWN0b3IxNXJlc2l6ZU91dE9mTGluZUVtCisgICBmdW46
X1pOM1dURjlCaXRWZWN0b3IxMGVuc3VyZVNpemVFbQorICAgZnVuOl9aTjNXVEY5Qml0VmVjdG9y
QzFFbQorfQorCit7CisgICBXVEY6OlRocmVhZFNwZWNpZmljOjpzZXQoKSBsZWFrcworICAgTWVt
Y2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICBmdW46X1pOM1dURjE0VGhyZWFkU3BlY2lmaWNJ
YkUzc2V0RVBiCisgICBmdW46X1pOM1dURjE0VGhyZWFkU3BlY2lmaWNJYkVjdlBiRXYKKyAgIGZ1
bjpfWk4zV1RGMTRUaHJlYWRTcGVjaWZpY0liRWRlRXYKKyAgIGZ1bjpfWk4zV1RGMTZyZWdpc3Rl
ckdDVGhyZWFkRXYKKyAgIGZ1bjpfWk4zSlNDOEdDVGhyZWFkMTJnY1RocmVhZE1haW5FdgorICAg
ZnVuOl9aTjNKU0M4R0NUaHJlYWQxN2djVGhyZWFkU3RhcnRGdW5jRVB2CisgICBmdW46X1pOM1dU
RkwxNnRocmVhZEVudHJ5UG9pbnRFUHYKK30KKworeworICAgRE9NT2JqZWN0Q2FjaGUgbWVtb3J5
IGlzIG5vdCBmcmVlZAorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOm1hbGxvYworICAgZnVuOmdf
bWFsbG9jCisgICBmdW46Z19zbGljZV9hbGxvYworICAgZnVuOl9aTjZXZWJLaXQxNERPTU9iamVj
dENhY2hlM3B1dEVQdlMxXworICAgZnVuOl9aTDMzd2Via2l0X2RvbV9kb21fd2luZG93X2NvbnN0
cnVjdG9ybWpQMjJfR09iamVjdENvbnN0cnVjdFBhcmFtCisgICBmdW46Z19vYmplY3RfbmV3dgor
ICAgZnVuOmdfb2JqZWN0X25ld192YWxpc3QKKyAgIGZ1bjpnX29iamVjdF9uZXcKKyAgIGZ1bjpf
Wk42V2ViS2l0MTN3cmFwRE9NV2luZG93RVBON1dlYkNvcmU5RE9NV2luZG93RQorICAgZnVuOndl
YmtpdF9kb21fZG9jdW1lbnRfZ2V0X2RlZmF1bHRfdmlldworIH0KKworIy0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
CisjIDMuIFN1cHByZXNzaW9ucyBmb3IgcmVhbCB3ZWJraXQgYnVncyB0aGF0IGFyZSBub3QgeWV0
IGZpeGVkLgorIyBUaGVzZSBzaG91bGQgYWxsIGJlIGluIHdlYmtpdCdzIGJ1ZyB0cmFja2luZyBz
eXN0ZW0gKGJ1dCBhIGZldyBhcmVuJ3QgeWV0KS4KKworeworICAgTGVhayB3ZWJraXRBY2Nlc3Np
YmxlTmV3IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTgzODIKKyAg
IE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjoqYWxsb2MKKyAgIC4uLgorICAgZnVuOndlYmtpdEFjY2Vz
c2libGVOZXcKKyAgIGZ1bjpfWk43V2ViQ29yZTEzQVhPYmplY3RDYWNoZTEzYXR0YWNoV3JhcHBl
ckVQTlNfMTlBY2Nlc3NpYmlsaXR5T2JqZWN0RQorfQorCit7CisgICBMZWFrIGF0ayB0aXRsZSBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE4Mzg1CisgICBNZW1jaGVj
azpMZWFrCisgICBmdW46bWFsbG9jCisgICBmdW46Z19tYWxsb2MKKyAgIGZ1bjpnX3N0cmR1cAor
ICAgZnVuOl9aTDI3d2Via2l0QWNjZXNzaWJsZVRleHRHZXRUZXh0UDhfQXRrVGV4dGlpCisgICBm
dW46X1pMMjN3ZWJraXRBY2Nlc3NpYmxlR2V0TmFtZVAxMF9BdGtPYmplY3QKK30KKworeworICAg
TGVhayBQbHVnaW5PYmplY3QgaW4gZXhjZXB0aW9uYWwgY2lyY3Vtc3RhbmNlcyBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE4NTI4CisgICBNZW1jaGVjazpMZWFrCisg
ICBmdW46bWFsbG9jCisgICBmdW46X1pMMTRwbHVnaW5BbGxvY2F0ZVA0X05QUFA3TlBDbGFzcwor
ICAgZnVuOl9OUE5fQ3JlYXRlT2JqZWN0CisgICBmdW46TlBQX05ldworICAgZnVuOl9aTjdXZWJD
b3JlMTBQbHVnaW5WaWV3NXN0YXJ0RXYKK30KKworeworICAgVGV4dENvZGVjSUNVOjpyZWdpc3Rl
ckNvZGVjcyBpcyBsZWFraW5nIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMTg1MDUKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjptYWxsb2MKKyAgIGZ1bjpfWk4zV1RG
MTBmYXN0TWFsbG9jRW0KKyAgIGZ1bjpfWk4zV1RGMTBmYXN0U3RyRHVwRVBLYworICAgZnVuOl9a
TjdXZWJDb3JlMTJUZXh0Q29kZWNJQ1UxNHJlZ2lzdGVyQ29kZWNzRVBGdlBLY1BGTjNXVEYxMFBh
c3NPd25QdHJJTlNfOVRleHRDb2RlY0VFRVJLTlNfMTJUZXh0RW5jb2RpbmdFUEt2RVNCX0UKK30K
KworeworICAgRHVtcFJlbmRlclRyZWUgV2ViS2l0V2ViVmlldyBpcyBsZWFrZWQKKyAgIE1lbWNo
ZWNrOkxlYWsKKyAgIGZ1bjptYWxsb2MKKyAgIGZ1bjpnX21hbGxvYworICAgZnVuOmdfc2xpY2Vf
YWxsb2MKKyAgIGZ1bjpnX3NsaXN0X3ByZXBlbmQKKyAgIGZ1bjpfWkwxM3dlYlZpZXdDcmVhdGVQ
MTRfV2ViS2l0V2ViVmlld1AxNV9XZWJLaXRXZWJGcmFtZQorICAgZnVuOndlYmtpdF9tYXJzaGFs
X09CSkVDVF9fT0JKRUNUCisgICBmdW46Z19jbG9zdXJlX2ludm9rZQorICAgZnVuOnNpZ25hbF9l
bWl0X3VubG9ja2VkX1IKKyAgIGZ1bjpnX3NpZ25hbF9lbWl0X3ZhbGlzdAorICAgZnVuOmdfc2ln
bmFsX2VtaXRfYnlfbmFtZQorICAgZnVuOl9aTjZXZWJLaXQxMkNocm9tZUNsaWVudDEyY3JlYXRl
V2luZG93RVBON1dlYkNvcmU1RnJhbWVFUktOUzFfMTZGcmFtZUxvYWRSZXF1ZXN0RVJLTlMxXzE0
V2luZG93RmVhdHVyZXNFUktOUzFfMTZOYXZpZ2F0aW9uQWN0aW9uRQorICAgZnVuOl9aTks3V2Vi
Q29yZTZDaHJvbWUxMmNyZWF0ZVdpbmRvd0VQTlNfNUZyYW1lRVJLTlNfMTZGcmFtZUxvYWRSZXF1
ZXN0RVJLTlNfMTRXaW5kb3dGZWF0dXJlc0VSS05TXzE2TmF2aWdhdGlvbkFjdGlvbkUKKyAgIGZ1
bjpfWk43V2ViQ29yZTEyY3JlYXRlV2luZG93RVBOU181RnJhbWVFUzFfUktOU18xNkZyYW1lTG9h
ZFJlcXVlc3RFUktOU18xNFdpbmRvd0ZlYXR1cmVzRVJiCisgICBmdW46X1pON1dlYkNvcmU5RE9N
V2luZG93MTJjcmVhdGVXaW5kb3dFUktOM1dURjZTdHJpbmdFUktOUzFfMTJBdG9taWNTdHJpbmdF
UktOU18xNFdpbmRvd0ZlYXR1cmVzRVBTMF9QTlNfNUZyYW1lRVNEX1BGdlNCX1B2RVNFXworICAg
ZnVuOl9aTjdXZWJDb3JlOURPTVdpbmRvdzRvcGVuRVJLTjNXVEY2U3RyaW5nRVJLTlMxXzEyQXRv
bWljU3RyaW5nRVM0X1BTMF9TOF8KKyAgIGZ1bjpfWk43V2ViQ29yZTExSlNET01XaW5kb3c0b3Bl
bkVQTjNKU0M5RXhlY1N0YXRlRQorICAgZnVuOl9aTjdXZWJDb3JlMzJqc0RPTVdpbmRvd1Byb3Rv
dHlwZUZ1bmN0aW9uT3BlbkVQTjNKU0M5RXhlY1N0YXRlRQorIH0KKworCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>208195</attachid>
            <date>2013-08-06 08:58:48 -0700</date>
            <delta_ts>2013-08-06 09:26:34 -0700</delta_ts>
            <desc>Suppress known leaks</desc>
            <filename>bug-119448-20130806165916.patch</filename>
            <type>text/plain</type>
            <size>17077</size>
            <attacher name="Brian Holt">brian.holt</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUzNzUxCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYWVmNGExOTQ4MTdjNGYyYjlkNDU2OTA4NDE2MWI4MWMx
Y2Q0NjUzNS4uY2JiOWM2YWRmYWUyZWNmYjVmOTY5MDdjNGUwMzQ0ZTc0YzNhNTZlNCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2
IEBACisyMDEzLTA4LTA2ICBCcmlhbiBIb2x0ICA8YnJpYW4uaG9sdEBzYW1zdW5nLmNvbT4KKwor
ICAgICAgICBbR1RLXSBTdXBwcmVzcyBpcnJlbGV2YW50IG9yIGtub3duIGxlYWtzIGZvciBWYWxn
cmluZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE5
NDQ4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRk
IGEgc3VwcHJlc3Npb25zIGZpbGUgdG8gc3VwcHJlc3Mga25vd24gbGVha3MgZm9yIFZhbGdyaW5k
LgorCisgICAgICAgICogU2NyaXB0cy92YWxncmluZC9zdXBwcmVzc2lvbnMudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvZ3RrLnB5OgorICAgICAgICAoR3RrUG9y
dC5zZXR1cF9lbnZpcm9uX2Zvcl9zZXJ2ZXIpOgorCiAyMDEzLTA4LTA1ICBCcmlhbiBIb2x0ICA8
YnJpYW4uaG9sdEBzYW1zdW5nLmNvbT4KIAogICAgICAgICBbR1RLXSBJbXBsZW1lbnQgbGVhayBj
aGVja2luZyB3aXRoIHZhbGdyaW5kCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3ZhbGdyaW5k
L3N1cHByZXNzaW9ucy50eHQgYi9Ub29scy9TY3JpcHRzL3ZhbGdyaW5kL3N1cHByZXNzaW9ucy50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMmVkYWJkMTMyZWQzOTg0YjczN2ZhNDQzYmQwNzNmNzE5MDdmMDBjYwot
LS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1NjcmlwdHMvdmFsZ3JpbmQvc3VwcHJlc3Npb25zLnR4
dApAQCAtMCwwICsxLDYyNyBAQAorIyBUaGVyZSBhcmUgdGhyZWUga2luZHMgb2Ygc3VwcHJlc3Np
b25zIGluIHRoaXMgZmlsZS4KKyMgMS4gVGhpcmQgcGFydHkgbGVha3Mgd2UgaGF2ZSBubyBjb250
cm9sIG92ZXIuCisjCisjIDIuIEludGVudGlvbmFsIHVuaXQgdGVzdCBlcnJvcnMsIGZhbHNlIHBv
c2l0aXZlcworIyBpbiBvdXIgb3duIGNvZGUsIG9yIGxlYWtzIHRoYXQgYXJlIHNvIHRyaXZpYWwg
dGhleSBhcmUgbm90IHdvcnRoIGZpeGluZy4KKyMKKyMgMy4gU3VwcHJlc3Npb25zIGZvciByZWFs
IFdlYktpdCBidWdzIHRoYXQgYXJlIG5vdCB5ZXQgZml4ZWQuCisjIFRoZXNlIHNob3VsZCBhbGwg
YmUgaW4gd2Via2l0J3MgYnVnIHRyYWNraW5nIHN5c3RlbQorIyBQZXJpb2RpY2FsbHkgd2Ugc2hv
dWxkIHN3ZWVwIHRoaXMgZmlsZSBhbmQgdGhlIGJ1ZyB0cmFja2VyIGNsZWFuIGJ5CisjIHJ1bm5p
bmcgb3Zlcm5pZ2h0IGFuZCByZW1vdmluZyBvdXRkYXRlZCBidWdzL3N1cHByZXNzaW9ucy4KKyMt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQorCisjIDEuIFRoaXJkIHBhcnR5IGxlYWtzIHdlIGhhdmUgbm8gY29udHJv
bCBvdmVyLgoreworICAgIyBHVEsgZGV2ZWxvcGVycyBkb24ndCBsaWtlIGNsZWFuaW5nIHVwIG9u
ZS10aW1lIGxlYWtzLgorICAgIyBTZWUgaHR0cDovL21haWwuZ25vbWUub3JnL2FyY2hpdmVzL2d0
ay1kZXZlbC1saXN0LzIwMDQtQXByaWwvbXNnMDAyMzAuaHRtbC4KKyAgIGd0a19pbml0X2NoZWNr
IChUaGlyZCBQYXJ0eSkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4uLgorICAgZnVuOmd0a19pbml0
X2NoZWNrCit9CisKK3sKKyAgIEZjQ29uZmlnUGFyc2VBbmRMb2FkIChUaGlyZCBQYXJ0eSkKKyAg
IE1lbWNoZWNrOkxlYWsKKyAgIC4uLgorICAgZnVuOlhNTF9QYXJzZUJ1ZmZlcgorICAgZnVuOkZj
Q29uZmlnUGFyc2VBbmRMb2FkCit9CisKK3sKKyAgIEZjQ29uZmlnQXBwRm9udEFkZEZpbGUgKFRo
aXJkIFBhcnR5KQorICAgTWVtY2hlY2s6TGVhaworICAgLi4uCisgICBmdW46RmNDb25maWdBcHBG
b250QWRkRmlsZQorfQorCit7CisgICAjIFNlZSBhbHNvIGh0dHA6Ly93d3cuZ25vbWUub3JnL35q
b2hhbi9ndGsuc3VwcHJlc3Npb24KKyAgICMgKHdoaWNoIGhhcyBhIHNtYXR0ZXJpbmcgb2Ygc2lt
aWxhciBwYW5nbyBzdXBwcmVzc2lvbnMpLgorICAgRmNGb250UmVuZGVyUHJlcGFyZSAxIChUaGly
ZCBQYXJ0eSkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4uLgorICAgZnVuOkZjRm9udFJlbmRlclBy
ZXBhcmUKKyAgIG9iajoqCisgICBmdW46cGFuZ29fZm9udF9tYXBfbG9hZF9mb250c2V0Cit9CisK
K3sKKyAgIEZjRm9udFJlbmRlclByZXBhcmUgMiAoVGhpcmQgUGFydHkpCisgICBNZW1jaGVjazpM
ZWFrCisgICAuLi4KKyAgIGZ1bjpGY0ZvbnRSZW5kZXJQcmVwYXJlCisgICAuLi4KKyAgIGZ1bjpw
YW5nb19pdGVtaXplX3dpdGhfYmFzZV9kaXIKK30KKworeworICAgRmNGb250UmVuZGVyUHJlcGFy
ZSAzIChUaGlyZCBQYXJ0eSkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4uLgorICAgZnVuOkZjRm9u
dFJlbmRlclByZXBhcmUKKyAgIC4uLgorICAgZnVuOnBhbmdvX290X2J1ZmZlcl9vdXRwdXQKK30K
KworeworICAgRmNGb250UmVuZGVyUHJlcGFyZSA0IChUaGlyZCBQYXJ0eSkKKyAgIE1lbWNoZWNr
OkxlYWsKKyAgIC4uLgorICAgZnVuOkZjRm9udFJlbmRlclByZXBhcmUKKyAgIC4uLgorICAgZnVu
OnBhbmdvX2NvbnRleHRfZ2V0X21ldHJpY3MKK30KKworeworICAgRmNEZWZhdWx0U3Vic3RpdHV0
ZSAoVGhpcmQgUGFydHkpCisgICBNZW1jaGVjazpMZWFrCisgICAuLi4KKyAgIGZ1bjpGY0RlZmF1
bHRTdWJzdGl0dXRlCisgICAuLi4KKyAgIGZ1bjpwYW5nb19pdGVtaXplX3dpdGhfYmFzZV9kaXIK
K30KKworeworICAgIyBSZXBvcnRlZCBpbiBodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3No
b3dfYnVnLmNnaT9pZD04MjE1LgorICAgRmNQYXR0ZXJuT2JqZWN0SW5zZXJ0RWx0IDEgKFRoaXJk
IFBhcnR5KQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOm1hbGxvYworICAgZnVuOkZjUGF0dGVy
bk9iamVjdEluc2VydEVsdAorICAgZnVuOkZjUGF0dGVybk9iamVjdEFkZFdpdGhCaW5kaW5nCit9
CisKK3sKKyAgICMgU2VlIGh0dHBzOi8vYnVncy5mcmVlZGVza3RvcC5vcmcvc2hvd19idWcuY2dp
P2lkPTg0MjguCisgICAjIGFuZCBodHRwOi8vd3d3Lmdub21lLm9yZy9+am9oYW4vZ3RrLnN1cHBy
ZXNzaW9uLgorICAgRmNQYXR0ZXJuT2JqZWN0SW5zZXJ0RWx0IDIgKFRoaXJkIFBhcnR5KQorICAg
TWVtY2hlY2s6TGVhaworICAgLi4uCisgICBmdW46cmVhbGxvYworICAgZnVuOkZjUGF0dGVybk9i
amVjdEluc2VydEVsdAorfQorCit7CisgICBGY0NvbmZpZ1ZhbHVlcyAoVGhpcmQgUGFydHkpCisg
ICBNZW1jaGVjazpMZWFrCisgICAuLi4KKyAgIGZ1bjptYWxsb2MKKyAgIGZ1bjpGY0NvbmZpZ1Zh
bHVlcworICAgZnVuOkZjQ29uZmlnVmFsdWVzCisgICAuLi4KKyAgIGZ1bjpGY0NvbmZpZ1ZhbHVl
cworICAgZnVuOkZjQ29uZmlnVmFsdWVzCit9CisKK3sKKyAgIEZjQ2hhclNldFNvcnQgKFRoaXJk
IFBhcnR5KQorICAgTWVtY2hlY2s6TGVhaworICAgLi4uCisgICBmdW46RmNGb250U2V0U29ydAor
ICAgZnVuOkZjRm9udFNvcnQKK30KKworeworICAgRmNDaGFyU2V0QWRkQ2hhciAoVGhpcmQgUGFy
dHkpCisgICBNZW1jaGVjazpMZWFrCisgICAuLi4KKyAgIGZ1bjpGY0NoYXJTZXRGaW5kTGVhZkNy
ZWF0ZQorICAgZnVuOkZjQ2hhclNldEFkZENoYXIKK30KKworeworICAgcGFuZ29fc2NyaXB0X2dl
dF9zYW1wbGVfbGFuZ3VhZ2UgKFRoaXJkIFBhcnR5KQorICAgTWVtY2hlY2s6TGVhaworICAgZnVu
Om1hbGxvYworICAgZnVuOmdfbWFsbG9jCisgICBmdW46Z19zdHJkdXAKKyAgIGZ1bjpwYW5nb19z
Y3JpcHRfZ2V0X3NhbXBsZV9sYW5ndWFnZQorICAgLi4uCisgICBmdW46cGFuZ29fZm9udF9nZXRf
bWV0cmljcworfQorCit7CisgICAjIFNlZSBodHRwOi8vc291cmNld2FyZS5vcmcvYnVnemlsbGEv
c2hvd19idWcuY2dpP2lkPTEyODc4LgorICAgZGxvcGVuIChUaGlyZCBQYXJ0eSkKKyAgIE1lbWNo
ZWNrOkxlYWsKKyAgIGZ1bjpjYWxsb2MKKyAgIGZ1bjpfZGxlcnJvcl9ydW4KKyAgIGZ1bjpkbG9w
ZW5AQEdMSUJDXzIuMQorfQorCit7CisgICAjIFNlZSBhbHNvIGh0dHA6Ly9zb3VyY2VzLnJlZGhh
dC5jb20vYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTI0NTEuCisgICBfZGxfbWFwX29iamVjdF9m
cm9tX2ZkIChUaGlyZCBQYXJ0eSkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjptYWxsb2MKKyAg
IGZ1bjpfZGxfbWFwX29iamVjdF9mcm9tX2ZkCit9CisKK3sKKyAgICMgU2VlIGh0dHA6Ly9zb3Vy
Y2VzLnJlZGhhdC5jb20vYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTUxNzEKKyAgIHB0aHJlYWRf
Y3JlYXRlIChUaGlyZCBQYXJ0eSkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpjYWxsb2MKKyAg
IGZ1bjphbGxvY2F0ZV9kdHYKKyAgIGZ1bjpfZGxfYWxsb2NhdGVfdGxzCisgICBmdW46cHRocmVh
ZF9jcmVhdGVAQEdMSUJDXzIuMQorfQorCit7CisgICAjIFNlZSBodHRwOi8vc291cmNld2FyZS5v
cmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTE0MDE1LgorICAgZGxzeW0gKFRoaXJkIFBhcnR5
KQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOmNhbGxvYworICAgZnVuOl9kbGVycm9yX3J1bgor
ICAgZnVuOmRsc3ltCit9CisKK3sKKyAgIGdfb2JqZWN0X2FkZF93ZWFrX3BvaW50ZXIgKFRoaXJk
IFBhcnR5KQorICAgTWVtY2hlY2s6TGVhaworICAgLi4uCisgICBmdW46Z19vYmplY3Rfd2Vha19y
ZWYKKyAgIGZ1bjpnX29iamVjdF9hZGRfd2Vha19wb2ludGVyCit9CisKK3sKKyAgIGdfYnVpbGRf
ZmlsZW5hbWUgKFRoaXJkIFBhcnR5KQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOnJlYWxsb2MK
KyAgIGZ1bjpnX3JlYWxsb2MKKyAgIGZ1bjpnX3N0cmluZ19tYXliZV9leHBhbmQKKyAgIGZ1bjpn
X3N0cmluZ19pbnNlcnRfbGVuCisgICBmdW46Z19idWlsZF9wYXRoX3ZhCisgICBmdW46Z19idWls
ZF9maWxlbmFtZQorICAgZnVuOl9aTDE1aW5pdGlhbGl6ZUZvbnRzUEtjCit9CisKK3sKKyAgIGd0
a19pbV9jb250ZXh0X3NldF9jbGllbnRfd2luZG93IChUaGlyZCBQYXJ0eSkKKyAgIE1lbWNoZWNr
OkxlYWsKKyAgIC4uLgorICAgZnVuOm1hbGxvYworICAgZnVuOmdfbWFsbG9jCisgICBmdW46Z19z
dHJkdXAKKyAgIGZ1bjpndGtfaW1fbXVsdGljb250ZXh0X2dldF9zbGF2ZQorICAgZnVuOmd0a19p
bV9tdWx0aWNvbnRleHRfc2V0X2NsaWVudF93aW5kb3cKKyAgIGZ1bjpndGtfaW1fY29udGV4dF9z
ZXRfY2xpZW50X3dpbmRvdworfQorCit7CisgICBndGtfY3NzX3Byb3ZpZGVyX2xvYWRfZnJvbV9k
YXRhIChUaGlyZCBQYXJ0eSkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpyZWFsbG9jCisgICBm
dW46Z19yZWFsbG9jCisgICBmdW46Z19zdHJpbmdfbWF5YmVfZXhwYW5kCisgICBmdW46Z19zdHJp
bmdfaW5zZXJ0X2MKKyAgIGZ1bjpfZ3RrX2Nzc19wYXJzZXJfcmVhZF9jaGFyCisgICBmdW46X2d0
a19jc3NfcGFyc2VyX3RyeV9pZGVudAorICAgZnVuOmJpbmRpbmdzX3ZhbHVlX3BhcnNlX29uZQor
ICAgZnVuOl9ndGtfY3NzX2FycmF5X3ZhbHVlX3BhcnNlCisgICBmdW46Z3RrX2Nzc19wcm92aWRl
cl9sb2FkX2ludGVybmFsCisgICBmdW46Z3RrX2Nzc19wcm92aWRlcl9sb2FkX2Zyb21fZGF0YQor
fQorCit7CisgICAjIEdUSyBsZWFrcyBhbiBYMTEgd2luZG93LgorICAgZ2RrX3gxMV9kcmF3YWJs
ZV9nZXRfeGlkIChUaGlyZCBQYXJ0eSkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjptYWxsb2MK
KyAgIGZ1bjpnX21hbGxvYworICAgZnVuOmdfc2xpY2VfYWxsb2MKKyAgIGZ1bjpnX3NsaWNlX2Fs
bG9jMAorICAgZnVuOmdfdHlwZV9jcmVhdGVfaW5zdGFuY2UKKyAgIGZ1bjpnX29iamVjdF9jb25z
dHJ1Y3RvcgorICAgZnVuOmdfb2JqZWN0X25ld3YKKyAgIGZ1bjpnX29iamVjdF9uZXcKKyAgIGZ1
bjpfZ2RrX3dpbmRvd19pbXBsX25ldworICAgZnVuOmdka193aW5kb3dfZW5zdXJlX25hdGl2ZQor
ICAgZnVuOmdka194MTFfZHJhd2FibGVfZ2V0X3hpZAorfQorCit7CisgICAjIEdUSyBsZWFrcyBh
IGNhaXJvIGNvbnRleHQgKGxhcmdlIGxlYWspCisgICBndGtfd2luZG93X3JlYWxpemUgKFRoaXJk
IFBhcnR5KQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOm1hbGxvYworICAgZnVuOl9jYWlyb19k
ZWZhdWx0X2NvbnRleHRfY3JlYXRlCisgICBmdW46c2V0X2dyaXBfc2hhcGUKKyAgIGZ1bjpyZXNp
emVfZ3JpcF9jcmVhdGVfd2luZG93CisgICBmdW46Z3RrX3dpbmRvd19yZWFsaXplCit9CisKK3sK
KyAgIGdfcXVhcmtfZnJvbV9zdGF0aWNfc3RyaW5nIChUaGlyZCBwYXJ0eSkKKyAgIE1lbWNoZWNr
OkxlYWsKKyAgIGZ1bjptYWxsb2MKKyAgIGZ1bjpnX21hbGxvYworICAgZnVuOmdfcXVhcmtfZnJv
bV9zdGF0aWNfc3RyaW5nCisgICBmdW46Z29iamVjdF9pbml0X2N0b3IKKyAgIGZ1bjpjYWxsX2lu
aXQucGFydC4wCisgICBmdW46X2RsX2luaXQKKyAgIG9iajovbGliL3g4Nl82NC1saW51eC1nbnUv
bGQtMi4xNS5zbworICAgb2JqOioKKyAgIG9iajoqCisgICBvYmo6KgorfQorCit7CisgICAvYmlu
L2Jhc2ggKFRoaXJkIFBhcnR5KQorICAgTWVtY2hlY2s6TGVhaworICAgLi4uCisgICBvYmo6L2Jp
bi9iYXNoCit9CisKK3sKKyAgIGxpYmVuY2hhbnQuc28gbmV3IChUaGlyZCBwYXJ0eSkKKyAgIE1l
bWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgLi4uCisgICBvYmo6Ki9saWJlbmNoYW50LnNv
LjEuNi4wCisgICBmdW46ZW5jaGFudF9icm9rZXJfZGljdF9leGlzdHMKK30KKworeworICAgbGli
ZW5jaGFudC5zbyBtYWxsb2MgKFRoaXJkIHBhcnR5KQorICAgTWVtY2hlY2s6TGVhaworICAgZnVu
OiphbGxvYworICAgLi4uCisgICBvYmo6Ki9saWJlbmNoYW50LnNvLjEuNi4wCisgICBmdW46ZW5j
aGFudF9icm9rZXJfZGljdF9leGlzdHMKK30KKworeworICAgIyBDYWlybyBsZWFrcyBhIHBhdHRl
cm5fdCogaW4gY2Fpcm9fc2V0X3NvdXJjZV9zdXJmYWNlCisgICBjYWlyb19zZXRfc291cmNlX3N1
cmZhY2UgKFRoaXJkIFBhcnR5KQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOm1hbGxvYworICAg
ZnVuOmNhaXJvX3BhdHRlcm5fY3JlYXRlX2Zvcl9zdXJmYWNlCisgICBmdW46X2NhaXJvX2RlZmF1
bHRfY29udGV4dF9zZXRfc291cmNlX3N1cmZhY2UKKyAgIGZ1bjpjYWlyb19zZXRfc291cmNlX3N1
cmZhY2UKK30KKworeworICAgWFJSRmluZERpc3BsYXkgKFRoaXJkIFBhcnR5KQorICAgTWVtY2hl
Y2s6TGVhaworICAgZnVuOm1hbGxvYworICAgZnVuOlhSUkZpbmREaXNwbGF5Cit9Cit7CisgICBs
aWJmbGFzaHBsYXllci5zbyAoVGhpcmQgUGFydHkpCisgICBNZW1jaGVjazpMZWFrCisgICAuLi4K
KyAgIG9iajovdXNyL2xpYi9mbGFzaHBsdWdpbi1pbnN0YWxsZXIvbGliZmxhc2hwbGF5ZXIuc28K
K30KKworeworICAgZ2RrX2luaXQgKFRoaXJkIFBhcnR5KQorICAgTWVtY2hlY2s6TGVhaworICAg
ZnVuOm1hbGxvYworICAgLi4uCisgICBmdW46X25sX2ZpbmRfZG9tYWluCisgICBmdW46X19kY2ln
ZXR0ZXh0CisgICBmdW46Z2RrX3NjcmVlbl9jbGFzc19pbnRlcm5faW5pdAorICAgZnVuOmdfdHlw
ZV9jbGFzc19yZWYKKyAgIGZ1bjpnX3R5cGVfY2xhc3NfcmVmCisgICBmdW46Z19vYmplY3RfbmV3
dgorICAgZnVuOmdfb2JqZWN0X25ldworICAgZnVuOl9nZGtfeDExX3NjcmVlbl9uZXcKKyAgIGZ1
bjpnZGtfZGlzcGxheV9vcGVuCisgICBmdW46Z2RrX2Rpc3BsYXlfb3Blbl9kZWZhdWx0X2xpYmd0
a19vbmx5CisgICBmdW46Z2RrX2luaXRfY2hlY2sKKyAgIGZ1bjpnZGtfaW5pdAorfQorCit7Cisg
ICBYS2V5c3ltVG9TdHJpbmcgKFRoaXJkIFBhcnR5KQorICAgTWVtY2hlY2s6TGVhaworICAgZnVu
Om1hbGxvYworICAgZnVuOlhLZXlzeW1Ub1N0cmluZworfQorCit7CisgICBnX3RocmVhZF9wcm94
eSAoVGhpcmQgUGFydHkpCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46KmFsbG9jCisgICAuLi4K
KyAgIGZ1bjpnX3RocmVhZF9wcm94eQorfQorCit7CisgICBKTklfQ3JlYXRlSmF2YVZNIChUaGly
ZCBwYXJ0eSkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4uLgorICAgZnVuOkpOSV9DcmVhdGVKYXZh
Vk0KKyAgIGZ1bjpKYXZhTWFpbgorfQorCit7CisgICBfWkwxMGphdmFfc3RhcnRQNlRocmVhZCAo
VGhpcmQgcGFydHkpCisgICBNZW1jaGVjazpMZWFrCisgICAuLi4KKyAgIGZ1bjpfWk44Vk1UaHJl
YWQzcnVuRXYKKyAgIGZ1bjpfWkwxMGphdmFfc3RhcnRQNlRocmVhZAorICAgLi4uCisKK30KKwor
eworICAgL2Jpbi9qYXZhIChPcGVuSkRLKSAoVGhpcmQgcGFydHkpCisgICBNZW1jaGVjazpMZWFr
CisgICAuLi4KKyAgIG9iajovdXNyL2xpYi9qdm0vamF2YS02LW9wZW5qZGstYW1kNjQvanJlL2Jp
bi9qYXZhCisgICAuLi4KK30KKworeworICAgbGliR0wuc28gKFRoaXJkIHBhcnR5KQorICAgTWVt
Y2hlY2s6TGVhaworICAgLi4uCisgICBvYmo6Ki9saWJHTC5zby4qCisgICAuLi4KK30KKworewor
ICAgX2NhaXJvX3hsaWJfc2htX3N1cmZhY2VfY3JlYXRlLmlzcmEuMTEgKFRoaXJkIFBhcnR5KQor
ICAgTWVtY2hlY2s6TGVhaworICAgZnVuOm1hbGxvYworICAgZnVuOl9waXhtYW5faW1hZ2VfYWxs
b2NhdGUKKyAgIGZ1bjpwaXhtYW5faW1hZ2VfY3JlYXRlX2JpdHMKKyAgIGZ1bjpfY2Fpcm9feGxp
Yl9zaG1fc3VyZmFjZV9jcmVhdGUuaXNyYS4xMQorfQorCit7CisgICBfX25zc19kYXRhYmFzZV9s
b29rdXAgKFRoaXJkIFBhcnR5KQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOm1hbGxvYworICAg
ZnVuOm5zc19wYXJzZV9zZXJ2aWNlX2xpc3QKKyAgIGZ1bjpfX25zc19kYXRhYmFzZV9sb29rdXAK
KyAgIG9iajoqCit9CisKK3sKKyAgIGdzdF9pbml0X2NoZWNrIChUaGlyZCBQYXJ0eSkKKyAgIE1l
bWNoZWNrOkxlYWsKKyAgIGZ1bjptYWxsb2MKKyAgIGZ1bjpnX21hbGxvYworICAgZnVuOmdfaW50
ZXJuX3N0cmluZworICAgZnVuOl9wcml2X2dzdF9yZWdpc3RyeV9jaHVua3NfbG9hZF9wbHVnaW4K
KyAgIGZ1bjpleGNoYW5nZV9wYWNrZXRzCisgICBmdW46cGx1Z2luX2xvYWRlcl9sb2FkCisgICBm
dW46Z3N0X3JlZ2lzdHJ5X3NjYW5fcGx1Z2luX2ZpbGUKKyAgIGZ1bjpnc3RfcmVnaXN0cnlfc2Nh
bl9wYXRoX2xldmVsCisgICBmdW46Z3N0X3JlZ2lzdHJ5X3NjYW5fcGF0aF9pbnRlcm5hbAorICAg
ZnVuOmdzdF91cGRhdGVfcmVnaXN0cnkKKyAgIGZ1bjppbml0X3Bvc3QKKyAgIGZ1bjpnX29wdGlv
bl9jb250ZXh0X3BhcnNlCisgICBmdW46Z3N0X2luaXRfY2hlY2sKKworfQorCit7CisgICBnX3Rh
c2tfcnVuX2luX3RocmVhZCAoVGhpcmQgUGFydHkpCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46
bWFsbG9jCisgICBmdW46Z19tYWxsb2MKKyAgIGZ1bjpnX3NsaWNlX2FsbG9jCisgICBmdW46Z19z
bGljZV9hbGxvYzAKKyAgIGZ1bjpnX3N5c3RlbV90aHJlYWRfbmV3CisgICBmdW46Z190aHJlYWRf
bmV3X2ludGVybmFsCisgICBmdW46Z190aHJlYWRfcG9vbF9zdGFydF90aHJlYWQKKyAgIGZ1bjpn
X3RocmVhZF9wb29sX3B1c2gKKyAgIGZ1bjpnX3Rhc2tfc3RhcnRfdGFza190aHJlYWQKKyAgIGZ1
bjpnX3Rhc2tfcnVuX2luX3RocmVhZAorfQorCit7CisgICAjIExhcmdlIGxlYWsgaW4gY2Fpcm9f
aW1hZ2Vfc3VyZmFjZV9jcmVhdGUKKyAgIF9jYWlyb19pbWFnZV9zdXJmYWNlX2NyZWF0ZV93aXRo
X3BpeG1hbl9mb3JtYXQgKFRoaXJkIFBhcnR5KQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOm1h
bGxvYworICAgZnVuOl9jYWlyb19pbWFnZV9zdXJmYWNlX2NyZWF0ZV9mb3JfcGl4bWFuX2ltYWdl
CisgICBmdW46X2NhaXJvX2ltYWdlX3N1cmZhY2VfY3JlYXRlX3dpdGhfcGl4bWFuX2Zvcm1hdAor
ICAgZnVuOl9aTjdXZWJDb3JlMjFjb3B5Q2Fpcm9JbWFnZVN1cmZhY2VFUDE0X2NhaXJvX3N1cmZh
Y2UKK30KKworCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgMi4gSW50ZW50aW9uYWwgdW5pdCB0ZXN0IGVy
cm9ycywgZmFsc2UgcG9zaXRpdmVzCisjIGluIG91ciBvd24gY29kZSwgb3IgbGVha3MgdGhhdCBh
cmUgc28gdHJpdmlhbCB0aGV5IGFyZSBub3Qgd29ydGggZml4aW5nLgorCit7CisgICAjIEFjY29y
ZGluZyB0byBkZ2xhemtvdiwgdGhlc2UgYXJlIG9uZS10aW1lIGxlYWtzIGFuZCBpbnRlbnRpb25h
bC4KKyAgICMgVGhleSBtYXkgZ28gYXdheSBpZiB0aGUgY2hhbmdlIHRvIG1vdmUgdGhlc2Ugb2Zm
IHRoZSBoZWFwIGxhbmRzLgorICAgV2ViQ29yZTo6U1ZHTmFtZXM6OmluaXQgKEludGVudGlvbmFs
KQorICAgTWVtY2hlY2s6TGVhaworICAgLi4uCisgICBmdW46X1pON1dlYkNvcmU4U1ZHTmFtZXM0
aW5pdEV2Cit9CisKK3sKKyAgICMgVGhpcyBpcyBhbiBvbiBkZW1hbmQgaW5pdGlhbGl6YXRpb24g
d2hpY2ggaXMgZG9uZSBhbmQgdGhlbiBpbnRlbnRpb25hbGx5CisgICAjIGtlcHQgYXJvdW5kIChu
b3QgZnJlZWQpIHdoaWxlIHRoZSBwcm9jZXNzIGlzIHJ1bm5pbmcuCisgICBXZWJDb3JlOjpYTUxO
YW1lczo6aW5pdCAoSW50ZW50aW9uYWwpCisgICBNZW1jaGVjazpMZWFrCisgICAuLi4KKyAgIGZ1
bjpfWk43V2ViQ29yZThYTUxOYW1lczRpbml0RXYKK30KKworeworICAgIyBUaGlzIGlzIFdlYktp
dCB3aWRlIHRoZWFkaW5nIGluaXRpYWxpemF0aW9uIHdoaWNoIGlzIGludGVudGlvbmFsbHkga2Vw
dAorICAgIyBhcm91bmQgKG5vdCBmcmVlZCkgd2hpbGUgdGhlIHByb2Nlc3MgaXMgcnVubmluZy4K
KyAgIFdURjo6VGhyZWFkSWRlbnRpZmllckRhdGE6OmluaXRpYWxpemUoKSAoSW50ZW50aW9uYWwp
CisgICBNZW1jaGVjazpMZWFrCisgICAuLi4KKyAgIGZ1bjpfWk4zV1RGMjBUaHJlYWRJZGVudGlm
aWVyRGF0YTEwaW5pdGlhbGl6ZUVqCit9CisKK3sKKyAgICMgVGhpcyBpcyBXZWJLaXQgd2lkZSB0
aGVhZGluZyBpbml0aWFsaXphdGlvbiB3aGljaCBpcyBpbnRlbnRpb25hbGx5IGtlcHQKKyAgICMg
YXJvdW5kIChub3QgZnJlZWQpIHdoaWxlIHRoZSBwcm9jZXNzIGlzIHJ1bm5pbmcuCisgICBXVEY6
OlRocmVhZERhdGEgKEludGVudGlvbmFsKQorICAgTWVtY2hlY2s6TGVhaworICAgLi4uCisgICBm
dW46X1pOM1dURjEzd3RmVGhyZWFkRGF0YUV2Cit9CisKK3sKKyAgIFdURjo6Qml0VmVjdG9yIChJ
bnRlbnRpb25hbCkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjptYWxsb2MKKyAgIGZ1bjpfWk4z
V1RGMTBmYXN0TWFsbG9jRW0KKyAgIGZ1bjpfWk4zV1RGOUJpdFZlY3RvcjEzT3V0T2ZMaW5lQml0
czZjcmVhdGVFbQorICAgZnVuOl9aTjNXVEY5Qml0VmVjdG9yMTVyZXNpemVPdXRPZkxpbmVFbQor
ICAgZnVuOl9aTjNXVEY5Qml0VmVjdG9yMTBlbnN1cmVTaXplRW0KKyAgIGZ1bjpfWk4zV1RGOUJp
dFZlY3RvckMxRW0KK30KKworeworICAgIyBXVEY6OlRocmVhZFNwZWNpZmljIGxlYWtzIGEgZmV3
IGJ5dGVzIGF0IGEgdGltZS4KKyAgIFdURjo6VGhyZWFkU3BlY2lmaWM6OnNldCgpIChJbnRlbnRp
b25hbCkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgZnVuOl9aTjNXVEYxNFRo
cmVhZFNwZWNpZmljSWJFM3NldEVQYgorICAgZnVuOl9aTjNXVEYxNFRocmVhZFNwZWNpZmljSWJF
Y3ZQYkV2CisgICBmdW46X1pOM1dURjE0VGhyZWFkU3BlY2lmaWNJYkVkZUV2CisgICBmdW46X1pO
M1dURjE2cmVnaXN0ZXJHQ1RocmVhZEV2CisgICBmdW46X1pOM0pTQzhHQ1RocmVhZDEyZ2NUaHJl
YWRNYWluRXYKKyAgIGZ1bjpfWk4zSlNDOEdDVGhyZWFkMTdnY1RocmVhZFN0YXJ0RnVuY0VQdgor
ICAgZnVuOl9aTjNXVEZMMTZ0aHJlYWRFbnRyeVBvaW50RVB2Cit9CisKK3sKKyAgICMgRE9NT2Jq
ZWN0Q2FjaGUgbWVtb3J5IGlzIG5vdCBmcmVlZC4KKyAgIHdlYmtpdF9kb21fZG9jdW1lbnRfZ2V0
X2RlZmF1bHRfdmlldyAoSW50ZW50aW9uYWwpCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46bWFs
bG9jCisgICBmdW46Z19tYWxsb2MKKyAgIGZ1bjpnX3NsaWNlX2FsbG9jCisgICBmdW46X1pONldl
YktpdDE0RE9NT2JqZWN0Q2FjaGUzcHV0RVB2UzFfCisgICBmdW46X1pMMzN3ZWJraXRfZG9tX2Rv
bV93aW5kb3dfY29uc3RydWN0b3JtalAyMl9HT2JqZWN0Q29uc3RydWN0UGFyYW0KKyAgIGZ1bjpn
X29iamVjdF9uZXd2CisgICBmdW46Z19vYmplY3RfbmV3X3ZhbGlzdAorICAgZnVuOmdfb2JqZWN0
X25ldworICAgZnVuOl9aTjZXZWJLaXQxM3dyYXBET01XaW5kb3dFUE43V2ViQ29yZTlET01XaW5k
b3dFCisgICBmdW46d2Via2l0X2RvbV9kb2N1bWVudF9nZXRfZGVmYXVsdF92aWV3CisgfQorCisj
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KKyMgMy4gU3VwcHJlc3Npb25zIGZvciByZWFsIHdlYmtpdCBidWdzIHRo
YXQgYXJlIG5vdCB5ZXQgZml4ZWQuCisjIFRoZXNlIHNob3VsZCBhbGwgYmUgaW4gd2Via2l0J3Mg
YnVnIHRyYWNraW5nIHN5c3RlbSAoYnV0IGEgZmV3IGFyZW4ndCB5ZXQpLgorCit7CisgICAjIEF0
a1Byb3BlcnR5IGlzIGNhY2hlZCBidXQgbm90IHJlbGVhc2VkIChzZWUgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExODU2NyNjMikuCisgICBjYWNoZUFuZFJldHVybkF0
a1Byb3BlcnR5CisgICBNZW1jaGVjazpMZWFrCisgICBmdW46bWFsbG9jCisgICBmdW46X1pOM1dU
RjEwZmFzdE1hbGxvY0VtCisgICBmdW46X1pOM1dURjEzQ1N0cmluZ0J1ZmZlcjE5Y3JlYXRlVW5p
bml0aWFsaXplZEVtCisgICBmdW46X1pOM1dURjdDU3RyaW5nNGluaXRFUEtjbQorICAgZnVuOl9a
TjNXVEY3Q1N0cmluZ0MxRVBLY20KKyAgIGZ1bjpfWk5LM1dURjZTdHJpbmc0dXRmOEVOUzBfMTRD
b252ZXJzaW9uTW9kZUUKKyAgIGZ1bjpjYWNoZUFuZFJldHVybkF0a1Byb3BlcnR5Cit9CisKK3sK
KyAgICMgQXRrUmVsYXRpb25TZXQgaXMgbmV2ZXIgZnJlZWQgYmVjYXVzZSB0aGUgdGFyZ2V0IEF0
a09iamVjdCBpcworICAgIyBjYWNoZWQuIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTE4NTY3LgorICAgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dGl0bGUoKQor
ICAgTWVtY2hlY2s6TGVhaworICAgZnVuOm1hbGxvYworICAgLi4uCisgICBmdW46Z19vYmplY3Rf
d2Vha19yZWYKKyAgIGZ1bjphdGtfcmVsYXRpb25fc2V0X3Byb3BlcnR5CisgICBmdW46Z19vYmpl
Y3RfbmV3dgorICAgZnVuOmdfb2JqZWN0X25ld192YWxpc3QKKyAgIGZ1bjpnX29iamVjdF9uZXcK
KyAgIGZ1bjphdGtfcmVsYXRpb25fbmV3CisgICBmdW46YXRrX3JlbGF0aW9uX3NldF9hZGRfcmVs
YXRpb25fYnlfdHlwZQorICAgZnVuOl9aTDMxc2V0QXRrUmVsYXRpb25TZXRGcm9tQ29yZU9iamVj
dFBON1dlYkNvcmUxOUFjY2Vzc2liaWxpdHlPYmplY3RFUDE1X0F0a1JlbGF0aW9uU2V0CisgICBm
dW46X1pMMzB3ZWJraXRBY2Nlc3NpYmxlUmVmUmVsYXRpb25TZXRQMTBfQXRrT2JqZWN0CisgICBm
dW46X1pOMjJBY2Nlc3NpYmlsaXR5VUlFbGVtZW50MTR0aXRsZVVJRWxlbWVudEV2Cit9CisKK3sK
KyAgICMgTGVhayBpbiB3ZWJraXRBY2Nlc3NpYmxlTmV3IGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMTgzODIKKyAgIHdlYmtpdEFjY2Vzc2libGVOZXcKKyAgIE1lbWNo
ZWNrOkxlYWsKKyAgIGZ1bjoqYWxsb2MKKyAgIC4uLgorICAgZnVuOndlYmtpdEFjY2Vzc2libGVO
ZXcKK30KKworeworICAgIyBMZWFrIEFUSyB0ZXh0IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMTgzODUKKyAgIHdlYmtpdEFjY2Vzc2libGVUZXh0R2V0VGV4dAorICAg
TWVtY2hlY2s6TGVhaworICAgZnVuOm1hbGxvYworICAgZnVuOmdfbWFsbG9jCisgICBmdW46Z19z
dHJkdXAKKyAgIGZ1bjpfWkwyN3dlYmtpdEFjY2Vzc2libGVUZXh0R2V0VGV4dFA4X0F0a1RleHRp
aQorICAgZnVuOl9aTDIzd2Via2l0QWNjZXNzaWJsZUdldE5hbWVQMTBfQXRrT2JqZWN0Cit9CisK
K3sKKyAgICMgTGVhayBQbHVnaW5PYmplY3QgaW4gZXhjZXB0aW9uYWwgY2lyY3Vtc3RhbmNlcyBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE4NTI4CisgICBXZWJDb3Jl
OjpQbHVnaW5WaWV3OjpzdGFydCgpCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46bWFsbG9jCisg
ICBmdW46X1pMMTRwbHVnaW5BbGxvY2F0ZVA0X05QUFA3TlBDbGFzcworICAgZnVuOl9OUE5fQ3Jl
YXRlT2JqZWN0CisgICBmdW46TlBQX05ldworICAgZnVuOl9aTjdXZWJDb3JlMTBQbHVnaW5WaWV3
NXN0YXJ0RXYKK30KKworeworICAgIyBUZXh0Q29kZWNJQ1U6OnJlZ2lzdGVyQ29kZWNzIGlzIGxl
YWtpbmcgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExODUwNQorICAg
V2ViQ29yZTo6VGV4dENvZGVjOjpyZWdpc3RlckNvZGVjcygpCisgICBNZW1jaGVjazpMZWFrCisg
ICBmdW46bWFsbG9jCisgICBmdW46X1pOM1dURjEwZmFzdE1hbGxvY0VtCisgICBmdW46X1pOM1dU
RjEwZmFzdFN0ckR1cEVQS2MKKyAgIGZ1bjpfWk43V2ViQ29yZTEyVGV4dENvZGVjSUNVMTRyZWdp
c3RlckNvZGVjc0VQRnZQS2NQRk4zV1RGMTBQYXNzT3duUHRySU5TXzlUZXh0Q29kZWNFRUVSS05T
XzEyVGV4dEVuY29kaW5nRVBLdkVTQl9FCit9CisKK3sKKyAgICMgRHVtcFJlbmRlclRyZWUgV2Vi
S2l0V2ViVmlldyBpcyBsZWFrZWQKKyAgIHdlYlZpZXdDcmVhdGUKKyAgIE1lbWNoZWNrOkxlYWsK
KyAgIGZ1bjptYWxsb2MKKyAgIGZ1bjpnX21hbGxvYworICAgZnVuOmdfc2xpY2VfYWxsb2MKKyAg
IGZ1bjpnX3NsaXN0X3ByZXBlbmQKKyAgIGZ1bjpfWkwxM3dlYlZpZXdDcmVhdGVQMTRfV2ViS2l0
V2ViVmlld1AxNV9XZWJLaXRXZWJGcmFtZQorICAgZnVuOndlYmtpdF9tYXJzaGFsX09CSkVDVF9f
T0JKRUNUCisgICBmdW46Z19jbG9zdXJlX2ludm9rZQorICAgZnVuOnNpZ25hbF9lbWl0X3VubG9j
a2VkX1IKKyAgIGZ1bjpnX3NpZ25hbF9lbWl0X3ZhbGlzdAorICAgZnVuOmdfc2lnbmFsX2VtaXRf
YnlfbmFtZQorICAgZnVuOl9aTjZXZWJLaXQxMkNocm9tZUNsaWVudDEyY3JlYXRlV2luZG93RVBO
N1dlYkNvcmU1RnJhbWVFUktOUzFfMTZGcmFtZUxvYWRSZXF1ZXN0RVJLTlMxXzE0V2luZG93RmVh
dHVyZXNFUktOUzFfMTZOYXZpZ2F0aW9uQWN0aW9uRQorICAgZnVuOl9aTks3V2ViQ29yZTZDaHJv
bWUxMmNyZWF0ZVdpbmRvd0VQTlNfNUZyYW1lRVJLTlNfMTZGcmFtZUxvYWRSZXF1ZXN0RVJLTlNf
MTRXaW5kb3dGZWF0dXJlc0VSS05TXzE2TmF2aWdhdGlvbkFjdGlvbkUKKyAgIGZ1bjpfWk43V2Vi
Q29yZTEyY3JlYXRlV2luZG93RVBOU181RnJhbWVFUzFfUktOU18xNkZyYW1lTG9hZFJlcXVlc3RF
UktOU18xNFdpbmRvd0ZlYXR1cmVzRVJiCisgICBmdW46X1pON1dlYkNvcmU5RE9NV2luZG93MTJj
cmVhdGVXaW5kb3dFUktOM1dURjZTdHJpbmdFUktOUzFfMTJBdG9taWNTdHJpbmdFUktOU18xNFdp
bmRvd0ZlYXR1cmVzRVBTMF9QTlNfNUZyYW1lRVNEX1BGdlNCX1B2RVNFXworICAgZnVuOl9aTjdX
ZWJDb3JlOURPTVdpbmRvdzRvcGVuRVJLTjNXVEY2U3RyaW5nRVJLTlMxXzEyQXRvbWljU3RyaW5n
RVM0X1BTMF9TOF8KKyAgIGZ1bjpfWk43V2ViQ29yZTExSlNET01XaW5kb3c0b3BlbkVQTjNKU0M5
RXhlY1N0YXRlRQorICAgZnVuOl9aTjdXZWJDb3JlMzJqc0RPTVdpbmRvd1Byb3RvdHlwZUZ1bmN0
aW9uT3BlbkVQTjNKU0M5RXhlY1N0YXRlRQorIH0KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvcG9ydC9ndGsucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvZ3RrLnB5
CmluZGV4IDUwNmEyYWIxYjMzM2NiYjRjNzkyZjc2ZDNlNmZlMjQ5NDc1ZWYzNzYuLjg0MDdkN2Nl
YmZmMmEzNTUwYmYzM2I0M2FhN2FiOTY5OGU2MDYzZDUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvcG9ydC9ndGsucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0
L2d0ay5weQpAQCAtOTQsNiArOTQsNyBAQCBjbGFzcyBHdGtQb3J0KFBvcnQpOgogICAgICAgICAg
ICAgZW52aXJvbm1lbnRbJ0dfREVCVUcnXSA9ICdnYy1mcmllbmRseScKICAgICAgICAgICAgIHht
bGZpbGVuYW1lID0gIiIuam9pbigoImRydC0lcC0iLCB1dWlkLnV1aWQxKCkuaGV4LCAiLWxlYWtz
LnhtbCIpKQogICAgICAgICAgICAgeG1sZmlsZSA9IG9zLnBhdGguam9pbihzZWxmLnJlc3VsdHNf
ZGlyZWN0b3J5KCksIHhtbGZpbGVuYW1lKQorICAgICAgICAgICAgc3VwcHJlc3Npb25zZmlsZSA9
IHNlbGYucGF0aF9mcm9tX3dlYmtpdF9iYXNlKCdUb29scycsICdTY3JpcHRzJywgJ3ZhbGdyaW5k
JywgJ3N1cHByZXNzaW9ucy50eHQnKQogICAgICAgICAgICAgZW52aXJvbm1lbnRbJ1ZBTEdSSU5E
X09QVFMnXSA9IFwKICAgICAgICAgICAgICAgICAiLS10b29sPW1lbWNoZWNrICIgXAogICAgICAg
ICAgICAgICAgICItLW51bS1jYWxsZXJzPTQwICIgXApAQCAtMTA4LDcgKzEwOSw4IEBAIGNsYXNz
IEd0a1BvcnQoUG9ydCk6CiAgICAgICAgICAgICAgICAgIi0tdW5kZWYtdmFsdWUtZXJyb3JzPW5v
ICIgXAogICAgICAgICAgICAgICAgICItLWdlbi1zdXBwcmVzc2lvbnM9YWxsICIgXAogICAgICAg
ICAgICAgICAgICItLXhtbD15ZXMgIiBcCi0gICAgICAgICAgICAgICAgIi0teG1sLWZpbGU9XCIl
c1wiICIgJSAoeG1sZmlsZSkKKyAgICAgICAgICAgICAgICAiLS14bWwtZmlsZT1cIiVzXCIgIiBc
CisgICAgICAgICAgICAgICAgIi0tc3VwcHJlc3Npb25zPSVzIiAlICh4bWxmaWxlLCBzdXBwcmVz
c2lvbnNmaWxlKQogICAgICAgICByZXR1cm4gZW52aXJvbm1lbnQKIAogICAgIGRlZiBfZ2VuZXJh
dGVfYWxsX3Rlc3RfY29uZmlndXJhdGlvbnMoc2VsZik6Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>208197</attachid>
            <date>2013-08-06 09:26:43 -0700</date>
            <delta_ts>2013-08-07 02:38:21 -0700</delta_ts>
            <desc>Suppress known leaks</desc>
            <filename>bug-119448-20130806172710.patch</filename>
            <type>text/plain</type>
            <size>17775</size>
            <attacher name="Brian Holt">brian.holt</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUzNzUxCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYWVmNGExOTQ4MTdjNGYyYjlkNDU2OTA4NDE2MWI4MWMx
Y2Q0NjUzNS4uODkwYmJiYWM0Y2I2NjVhNWRiYjI1OWEzZGU1ZjcxY2QxMDA3ZTZjMSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5
IEBACisyMDEzLTA4LTA2ICBCcmlhbiBIb2x0ICA8YnJpYW4uaG9sdEBzYW1zdW5nLmNvbT4KKwor
ICAgICAgICBbR1RLXSBTdXBwcmVzcyBpcnJlbGV2YW50IG9yIGtub3duIGxlYWtzIGZvciBWYWxn
cmluZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE5
NDQ4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRk
IGEgc3VwcHJlc3Npb25zIGZpbGUgdG8gc3VwcHJlc3Mga25vd24gbGVha3MgZm9yIFZhbGdyaW5k
LgorICAgICAgICBWYWxncmluZCBhbHNvIHRha2VzIGxvbmdlciB3aGVuIHVzaW5nIHN1cHByZXNz
aW9ucyBhbmQKKyAgICAgICAgdGltZXMgb3V0IHVubGVzcyB0aGUgZHJpdmVyIHRpbWVvdXQgaXMg
aW5jcmVhc2VkLgorCisgICAgICAgICogU2NyaXB0cy92YWxncmluZC9zdXBwcmVzc2lvbnMudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvZ3RrLnB5OgorICAgICAg
ICAoR3RrUG9ydC5kcml2ZXJfc3RvcF90aW1lb3V0KToKKyAgICAgICAgKEd0a1BvcnQuc2V0dXBf
ZW52aXJvbl9mb3Jfc2VydmVyKToKKwogMjAxMy0wOC0wNSAgQnJpYW4gSG9sdCAgPGJyaWFuLmhv
bHRAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgW0dUS10gSW1wbGVtZW50IGxlYWsgY2hlY2tpbmcg
d2l0aCB2YWxncmluZApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy92YWxncmluZC9zdXBwcmVz
c2lvbnMudHh0IGIvVG9vbHMvU2NyaXB0cy92YWxncmluZC9zdXBwcmVzc2lvbnMudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjJlZGFiZDEzMmVkMzk4NGI3MzdmYTQ0M2JkMDczZjcxOTA3ZjAwY2MKLS0tIC9kZXYv
bnVsbAorKysgYi9Ub29scy9TY3JpcHRzL3ZhbGdyaW5kL3N1cHByZXNzaW9ucy50eHQKQEAgLTAs
MCArMSw2MjcgQEAKKyMgVGhlcmUgYXJlIHRocmVlIGtpbmRzIG9mIHN1cHByZXNzaW9ucyBpbiB0
aGlzIGZpbGUuCisjIDEuIFRoaXJkIHBhcnR5IGxlYWtzIHdlIGhhdmUgbm8gY29udHJvbCBvdmVy
LgorIworIyAyLiBJbnRlbnRpb25hbCB1bml0IHRlc3QgZXJyb3JzLCBmYWxzZSBwb3NpdGl2ZXMK
KyMgaW4gb3VyIG93biBjb2RlLCBvciBsZWFrcyB0aGF0IGFyZSBzbyB0cml2aWFsIHRoZXkgYXJl
IG5vdCB3b3J0aCBmaXhpbmcuCisjCisjIDMuIFN1cHByZXNzaW9ucyBmb3IgcmVhbCBXZWJLaXQg
YnVncyB0aGF0IGFyZSBub3QgeWV0IGZpeGVkLgorIyBUaGVzZSBzaG91bGQgYWxsIGJlIGluIHdl
YmtpdCdzIGJ1ZyB0cmFja2luZyBzeXN0ZW0KKyMgUGVyaW9kaWNhbGx5IHdlIHNob3VsZCBzd2Vl
cCB0aGlzIGZpbGUgYW5kIHRoZSBidWcgdHJhY2tlciBjbGVhbiBieQorIyBydW5uaW5nIG92ZXJu
aWdodCBhbmQgcmVtb3Zpbmcgb3V0ZGF0ZWQgYnVncy9zdXBwcmVzc2lvbnMuCisjLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KKworIyAxLiBUaGlyZCBwYXJ0eSBsZWFrcyB3ZSBoYXZlIG5vIGNvbnRyb2wgb3Zlci4K
K3sKKyAgICMgR1RLIGRldmVsb3BlcnMgZG9uJ3QgbGlrZSBjbGVhbmluZyB1cCBvbmUtdGltZSBs
ZWFrcy4KKyAgICMgU2VlIGh0dHA6Ly9tYWlsLmdub21lLm9yZy9hcmNoaXZlcy9ndGstZGV2ZWwt
bGlzdC8yMDA0LUFwcmlsL21zZzAwMjMwLmh0bWwuCisgICBndGtfaW5pdF9jaGVjayAoVGhpcmQg
UGFydHkpCisgICBNZW1jaGVjazpMZWFrCisgICAuLi4KKyAgIGZ1bjpndGtfaW5pdF9jaGVjawor
fQorCit7CisgICBGY0NvbmZpZ1BhcnNlQW5kTG9hZCAoVGhpcmQgUGFydHkpCisgICBNZW1jaGVj
azpMZWFrCisgICAuLi4KKyAgIGZ1bjpYTUxfUGFyc2VCdWZmZXIKKyAgIGZ1bjpGY0NvbmZpZ1Bh
cnNlQW5kTG9hZAorfQorCit7CisgICBGY0NvbmZpZ0FwcEZvbnRBZGRGaWxlIChUaGlyZCBQYXJ0
eSkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4uLgorICAgZnVuOkZjQ29uZmlnQXBwRm9udEFkZEZp
bGUKK30KKworeworICAgIyBTZWUgYWxzbyBodHRwOi8vd3d3Lmdub21lLm9yZy9+am9oYW4vZ3Rr
LnN1cHByZXNzaW9uCisgICAjICh3aGljaCBoYXMgYSBzbWF0dGVyaW5nIG9mIHNpbWlsYXIgcGFu
Z28gc3VwcHJlc3Npb25zKS4KKyAgIEZjRm9udFJlbmRlclByZXBhcmUgMSAoVGhpcmQgUGFydHkp
CisgICBNZW1jaGVjazpMZWFrCisgICAuLi4KKyAgIGZ1bjpGY0ZvbnRSZW5kZXJQcmVwYXJlCisg
ICBvYmo6KgorICAgZnVuOnBhbmdvX2ZvbnRfbWFwX2xvYWRfZm9udHNldAorfQorCit7CisgICBG
Y0ZvbnRSZW5kZXJQcmVwYXJlIDIgKFRoaXJkIFBhcnR5KQorICAgTWVtY2hlY2s6TGVhaworICAg
Li4uCisgICBmdW46RmNGb250UmVuZGVyUHJlcGFyZQorICAgLi4uCisgICBmdW46cGFuZ29faXRl
bWl6ZV93aXRoX2Jhc2VfZGlyCit9CisKK3sKKyAgIEZjRm9udFJlbmRlclByZXBhcmUgMyAoVGhp
cmQgUGFydHkpCisgICBNZW1jaGVjazpMZWFrCisgICAuLi4KKyAgIGZ1bjpGY0ZvbnRSZW5kZXJQ
cmVwYXJlCisgICAuLi4KKyAgIGZ1bjpwYW5nb19vdF9idWZmZXJfb3V0cHV0Cit9CisKK3sKKyAg
IEZjRm9udFJlbmRlclByZXBhcmUgNCAoVGhpcmQgUGFydHkpCisgICBNZW1jaGVjazpMZWFrCisg
ICAuLi4KKyAgIGZ1bjpGY0ZvbnRSZW5kZXJQcmVwYXJlCisgICAuLi4KKyAgIGZ1bjpwYW5nb19j
b250ZXh0X2dldF9tZXRyaWNzCit9CisKK3sKKyAgIEZjRGVmYXVsdFN1YnN0aXR1dGUgKFRoaXJk
IFBhcnR5KQorICAgTWVtY2hlY2s6TGVhaworICAgLi4uCisgICBmdW46RmNEZWZhdWx0U3Vic3Rp
dHV0ZQorICAgLi4uCisgICBmdW46cGFuZ29faXRlbWl6ZV93aXRoX2Jhc2VfZGlyCit9CisKK3sK
KyAgICMgUmVwb3J0ZWQgaW4gaHR0cHM6Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9ODIxNS4KKyAgIEZjUGF0dGVybk9iamVjdEluc2VydEVsdCAxIChUaGlyZCBQYXJ0eSkK
KyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjptYWxsb2MKKyAgIGZ1bjpGY1BhdHRlcm5PYmplY3RJ
bnNlcnRFbHQKKyAgIGZ1bjpGY1BhdHRlcm5PYmplY3RBZGRXaXRoQmluZGluZworfQorCit7Cisg
ICAjIFNlZSBodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD04NDI4
LgorICAgIyBhbmQgaHR0cDovL3d3dy5nbm9tZS5vcmcvfmpvaGFuL2d0ay5zdXBwcmVzc2lvbi4K
KyAgIEZjUGF0dGVybk9iamVjdEluc2VydEVsdCAyIChUaGlyZCBQYXJ0eSkKKyAgIE1lbWNoZWNr
OkxlYWsKKyAgIC4uLgorICAgZnVuOnJlYWxsb2MKKyAgIGZ1bjpGY1BhdHRlcm5PYmplY3RJbnNl
cnRFbHQKK30KKworeworICAgRmNDb25maWdWYWx1ZXMgKFRoaXJkIFBhcnR5KQorICAgTWVtY2hl
Y2s6TGVhaworICAgLi4uCisgICBmdW46bWFsbG9jCisgICBmdW46RmNDb25maWdWYWx1ZXMKKyAg
IGZ1bjpGY0NvbmZpZ1ZhbHVlcworICAgLi4uCisgICBmdW46RmNDb25maWdWYWx1ZXMKKyAgIGZ1
bjpGY0NvbmZpZ1ZhbHVlcworfQorCit7CisgICBGY0NoYXJTZXRTb3J0IChUaGlyZCBQYXJ0eSkK
KyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4uLgorICAgZnVuOkZjRm9udFNldFNvcnQKKyAgIGZ1bjpG
Y0ZvbnRTb3J0Cit9CisKK3sKKyAgIEZjQ2hhclNldEFkZENoYXIgKFRoaXJkIFBhcnR5KQorICAg
TWVtY2hlY2s6TGVhaworICAgLi4uCisgICBmdW46RmNDaGFyU2V0RmluZExlYWZDcmVhdGUKKyAg
IGZ1bjpGY0NoYXJTZXRBZGRDaGFyCit9CisKK3sKKyAgIHBhbmdvX3NjcmlwdF9nZXRfc2FtcGxl
X2xhbmd1YWdlIChUaGlyZCBQYXJ0eSkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjptYWxsb2MK
KyAgIGZ1bjpnX21hbGxvYworICAgZnVuOmdfc3RyZHVwCisgICBmdW46cGFuZ29fc2NyaXB0X2dl
dF9zYW1wbGVfbGFuZ3VhZ2UKKyAgIC4uLgorICAgZnVuOnBhbmdvX2ZvbnRfZ2V0X21ldHJpY3MK
K30KKworeworICAgIyBTZWUgaHR0cDovL3NvdXJjZXdhcmUub3JnL2J1Z3ppbGxhL3Nob3dfYnVn
LmNnaT9pZD0xMjg3OC4KKyAgIGRsb3BlbiAoVGhpcmQgUGFydHkpCisgICBNZW1jaGVjazpMZWFr
CisgICBmdW46Y2FsbG9jCisgICBmdW46X2RsZXJyb3JfcnVuCisgICBmdW46ZGxvcGVuQEBHTElC
Q18yLjEKK30KKworeworICAgIyBTZWUgYWxzbyBodHRwOi8vc291cmNlcy5yZWRoYXQuY29tL2J1
Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0yNDUxLgorICAgX2RsX21hcF9vYmplY3RfZnJvbV9mZCAo
VGhpcmQgUGFydHkpCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46bWFsbG9jCisgICBmdW46X2Rs
X21hcF9vYmplY3RfZnJvbV9mZAorfQorCit7CisgICAjIFNlZSBodHRwOi8vc291cmNlcy5yZWRo
YXQuY29tL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD01MTcxCisgICBwdGhyZWFkX2NyZWF0ZSAo
VGhpcmQgUGFydHkpCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46Y2FsbG9jCisgICBmdW46YWxs
b2NhdGVfZHR2CisgICBmdW46X2RsX2FsbG9jYXRlX3RscworICAgZnVuOnB0aHJlYWRfY3JlYXRl
QEBHTElCQ18yLjEKK30KKworeworICAgIyBTZWUgaHR0cDovL3NvdXJjZXdhcmUub3JnL2J1Z3pp
bGxhL3Nob3dfYnVnLmNnaT9pZD0xNDAxNS4KKyAgIGRsc3ltIChUaGlyZCBQYXJ0eSkKKyAgIE1l
bWNoZWNrOkxlYWsKKyAgIGZ1bjpjYWxsb2MKKyAgIGZ1bjpfZGxlcnJvcl9ydW4KKyAgIGZ1bjpk
bHN5bQorfQorCit7CisgICBnX29iamVjdF9hZGRfd2Vha19wb2ludGVyIChUaGlyZCBQYXJ0eSkK
KyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4uLgorICAgZnVuOmdfb2JqZWN0X3dlYWtfcmVmCisgICBm
dW46Z19vYmplY3RfYWRkX3dlYWtfcG9pbnRlcgorfQorCit7CisgICBnX2J1aWxkX2ZpbGVuYW1l
IChUaGlyZCBQYXJ0eSkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpyZWFsbG9jCisgICBmdW46
Z19yZWFsbG9jCisgICBmdW46Z19zdHJpbmdfbWF5YmVfZXhwYW5kCisgICBmdW46Z19zdHJpbmdf
aW5zZXJ0X2xlbgorICAgZnVuOmdfYnVpbGRfcGF0aF92YQorICAgZnVuOmdfYnVpbGRfZmlsZW5h
bWUKKyAgIGZ1bjpfWkwxNWluaXRpYWxpemVGb250c1BLYworfQorCit7CisgICBndGtfaW1fY29u
dGV4dF9zZXRfY2xpZW50X3dpbmRvdyAoVGhpcmQgUGFydHkpCisgICBNZW1jaGVjazpMZWFrCisg
ICAuLi4KKyAgIGZ1bjptYWxsb2MKKyAgIGZ1bjpnX21hbGxvYworICAgZnVuOmdfc3RyZHVwCisg
ICBmdW46Z3RrX2ltX211bHRpY29udGV4dF9nZXRfc2xhdmUKKyAgIGZ1bjpndGtfaW1fbXVsdGlj
b250ZXh0X3NldF9jbGllbnRfd2luZG93CisgICBmdW46Z3RrX2ltX2NvbnRleHRfc2V0X2NsaWVu
dF93aW5kb3cKK30KKworeworICAgZ3RrX2Nzc19wcm92aWRlcl9sb2FkX2Zyb21fZGF0YSAoVGhp
cmQgUGFydHkpCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46cmVhbGxvYworICAgZnVuOmdfcmVh
bGxvYworICAgZnVuOmdfc3RyaW5nX21heWJlX2V4cGFuZAorICAgZnVuOmdfc3RyaW5nX2luc2Vy
dF9jCisgICBmdW46X2d0a19jc3NfcGFyc2VyX3JlYWRfY2hhcgorICAgZnVuOl9ndGtfY3NzX3Bh
cnNlcl90cnlfaWRlbnQKKyAgIGZ1bjpiaW5kaW5nc192YWx1ZV9wYXJzZV9vbmUKKyAgIGZ1bjpf
Z3RrX2Nzc19hcnJheV92YWx1ZV9wYXJzZQorICAgZnVuOmd0a19jc3NfcHJvdmlkZXJfbG9hZF9p
bnRlcm5hbAorICAgZnVuOmd0a19jc3NfcHJvdmlkZXJfbG9hZF9mcm9tX2RhdGEKK30KKworewor
ICAgIyBHVEsgbGVha3MgYW4gWDExIHdpbmRvdy4KKyAgIGdka194MTFfZHJhd2FibGVfZ2V0X3hp
ZCAoVGhpcmQgUGFydHkpCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46bWFsbG9jCisgICBmdW46
Z19tYWxsb2MKKyAgIGZ1bjpnX3NsaWNlX2FsbG9jCisgICBmdW46Z19zbGljZV9hbGxvYzAKKyAg
IGZ1bjpnX3R5cGVfY3JlYXRlX2luc3RhbmNlCisgICBmdW46Z19vYmplY3RfY29uc3RydWN0b3IK
KyAgIGZ1bjpnX29iamVjdF9uZXd2CisgICBmdW46Z19vYmplY3RfbmV3CisgICBmdW46X2dka193
aW5kb3dfaW1wbF9uZXcKKyAgIGZ1bjpnZGtfd2luZG93X2Vuc3VyZV9uYXRpdmUKKyAgIGZ1bjpn
ZGtfeDExX2RyYXdhYmxlX2dldF94aWQKK30KKworeworICAgIyBHVEsgbGVha3MgYSBjYWlybyBj
b250ZXh0IChsYXJnZSBsZWFrKQorICAgZ3RrX3dpbmRvd19yZWFsaXplIChUaGlyZCBQYXJ0eSkK
KyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjptYWxsb2MKKyAgIGZ1bjpfY2Fpcm9fZGVmYXVsdF9j
b250ZXh0X2NyZWF0ZQorICAgZnVuOnNldF9ncmlwX3NoYXBlCisgICBmdW46cmVzaXplX2dyaXBf
Y3JlYXRlX3dpbmRvdworICAgZnVuOmd0a193aW5kb3dfcmVhbGl6ZQorfQorCit7CisgICBnX3F1
YXJrX2Zyb21fc3RhdGljX3N0cmluZyAoVGhpcmQgcGFydHkpCisgICBNZW1jaGVjazpMZWFrCisg
ICBmdW46bWFsbG9jCisgICBmdW46Z19tYWxsb2MKKyAgIGZ1bjpnX3F1YXJrX2Zyb21fc3RhdGlj
X3N0cmluZworICAgZnVuOmdvYmplY3RfaW5pdF9jdG9yCisgICBmdW46Y2FsbF9pbml0LnBhcnQu
MAorICAgZnVuOl9kbF9pbml0CisgICBvYmo6L2xpYi94ODZfNjQtbGludXgtZ251L2xkLTIuMTUu
c28KKyAgIG9iajoqCisgICBvYmo6KgorICAgb2JqOioKK30KKworeworICAgL2Jpbi9iYXNoIChU
aGlyZCBQYXJ0eSkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4uLgorICAgb2JqOi9iaW4vYmFzaAor
fQorCit7CisgICBsaWJlbmNoYW50LnNvIG5ldyAoVGhpcmQgcGFydHkpCisgICBNZW1jaGVjazpM
ZWFrCisgICBmdW46X1pudyoKKyAgIC4uLgorICAgb2JqOiovbGliZW5jaGFudC5zby4xLjYuMAor
ICAgZnVuOmVuY2hhbnRfYnJva2VyX2RpY3RfZXhpc3RzCit9CisKK3sKKyAgIGxpYmVuY2hhbnQu
c28gbWFsbG9jIChUaGlyZCBwYXJ0eSkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjoqYWxsb2MK
KyAgIC4uLgorICAgb2JqOiovbGliZW5jaGFudC5zby4xLjYuMAorICAgZnVuOmVuY2hhbnRfYnJv
a2VyX2RpY3RfZXhpc3RzCit9CisKK3sKKyAgICMgQ2Fpcm8gbGVha3MgYSBwYXR0ZXJuX3QqIGlu
IGNhaXJvX3NldF9zb3VyY2Vfc3VyZmFjZQorICAgY2Fpcm9fc2V0X3NvdXJjZV9zdXJmYWNlIChU
aGlyZCBQYXJ0eSkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjptYWxsb2MKKyAgIGZ1bjpjYWly
b19wYXR0ZXJuX2NyZWF0ZV9mb3Jfc3VyZmFjZQorICAgZnVuOl9jYWlyb19kZWZhdWx0X2NvbnRl
eHRfc2V0X3NvdXJjZV9zdXJmYWNlCisgICBmdW46Y2Fpcm9fc2V0X3NvdXJjZV9zdXJmYWNlCit9
CisKK3sKKyAgIFhSUkZpbmREaXNwbGF5IChUaGlyZCBQYXJ0eSkKKyAgIE1lbWNoZWNrOkxlYWsK
KyAgIGZ1bjptYWxsb2MKKyAgIGZ1bjpYUlJGaW5kRGlzcGxheQorfQoreworICAgbGliZmxhc2hw
bGF5ZXIuc28gKFRoaXJkIFBhcnR5KQorICAgTWVtY2hlY2s6TGVhaworICAgLi4uCisgICBvYmo6
L3Vzci9saWIvZmxhc2hwbHVnaW4taW5zdGFsbGVyL2xpYmZsYXNocGxheWVyLnNvCit9CisKK3sK
KyAgIGdka19pbml0IChUaGlyZCBQYXJ0eSkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjptYWxs
b2MKKyAgIC4uLgorICAgZnVuOl9ubF9maW5kX2RvbWFpbgorICAgZnVuOl9fZGNpZ2V0dGV4dAor
ICAgZnVuOmdka19zY3JlZW5fY2xhc3NfaW50ZXJuX2luaXQKKyAgIGZ1bjpnX3R5cGVfY2xhc3Nf
cmVmCisgICBmdW46Z190eXBlX2NsYXNzX3JlZgorICAgZnVuOmdfb2JqZWN0X25ld3YKKyAgIGZ1
bjpnX29iamVjdF9uZXcKKyAgIGZ1bjpfZ2RrX3gxMV9zY3JlZW5fbmV3CisgICBmdW46Z2RrX2Rp
c3BsYXlfb3BlbgorICAgZnVuOmdka19kaXNwbGF5X29wZW5fZGVmYXVsdF9saWJndGtfb25seQor
ICAgZnVuOmdka19pbml0X2NoZWNrCisgICBmdW46Z2RrX2luaXQKK30KKworeworICAgWEtleXN5
bVRvU3RyaW5nIChUaGlyZCBQYXJ0eSkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjptYWxsb2MK
KyAgIGZ1bjpYS2V5c3ltVG9TdHJpbmcKK30KKworeworICAgZ190aHJlYWRfcHJveHkgKFRoaXJk
IFBhcnR5KQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOiphbGxvYworICAgLi4uCisgICBmdW46
Z190aHJlYWRfcHJveHkKK30KKworeworICAgSk5JX0NyZWF0ZUphdmFWTSAoVGhpcmQgcGFydHkp
CisgICBNZW1jaGVjazpMZWFrCisgICAuLi4KKyAgIGZ1bjpKTklfQ3JlYXRlSmF2YVZNCisgICBm
dW46SmF2YU1haW4KK30KKworeworICAgX1pMMTBqYXZhX3N0YXJ0UDZUaHJlYWQgKFRoaXJkIHBh
cnR5KQorICAgTWVtY2hlY2s6TGVhaworICAgLi4uCisgICBmdW46X1pOOFZNVGhyZWFkM3J1bkV2
CisgICBmdW46X1pMMTBqYXZhX3N0YXJ0UDZUaHJlYWQKKyAgIC4uLgorCit9CisKK3sKKyAgIC9i
aW4vamF2YSAoT3BlbkpESykgKFRoaXJkIHBhcnR5KQorICAgTWVtY2hlY2s6TGVhaworICAgLi4u
CisgICBvYmo6L3Vzci9saWIvanZtL2phdmEtNi1vcGVuamRrLWFtZDY0L2pyZS9iaW4vamF2YQor
ICAgLi4uCit9CisKK3sKKyAgIGxpYkdMLnNvIChUaGlyZCBwYXJ0eSkKKyAgIE1lbWNoZWNrOkxl
YWsKKyAgIC4uLgorICAgb2JqOiovbGliR0wuc28uKgorICAgLi4uCit9CisKK3sKKyAgIF9jYWly
b194bGliX3NobV9zdXJmYWNlX2NyZWF0ZS5pc3JhLjExIChUaGlyZCBQYXJ0eSkKKyAgIE1lbWNo
ZWNrOkxlYWsKKyAgIGZ1bjptYWxsb2MKKyAgIGZ1bjpfcGl4bWFuX2ltYWdlX2FsbG9jYXRlCisg
ICBmdW46cGl4bWFuX2ltYWdlX2NyZWF0ZV9iaXRzCisgICBmdW46X2NhaXJvX3hsaWJfc2htX3N1
cmZhY2VfY3JlYXRlLmlzcmEuMTEKK30KKworeworICAgX19uc3NfZGF0YWJhc2VfbG9va3VwIChU
aGlyZCBQYXJ0eSkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjptYWxsb2MKKyAgIGZ1bjpuc3Nf
cGFyc2Vfc2VydmljZV9saXN0CisgICBmdW46X19uc3NfZGF0YWJhc2VfbG9va3VwCisgICBvYmo6
KgorfQorCit7CisgICBnc3RfaW5pdF9jaGVjayAoVGhpcmQgUGFydHkpCisgICBNZW1jaGVjazpM
ZWFrCisgICBmdW46bWFsbG9jCisgICBmdW46Z19tYWxsb2MKKyAgIGZ1bjpnX2ludGVybl9zdHJp
bmcKKyAgIGZ1bjpfcHJpdl9nc3RfcmVnaXN0cnlfY2h1bmtzX2xvYWRfcGx1Z2luCisgICBmdW46
ZXhjaGFuZ2VfcGFja2V0cworICAgZnVuOnBsdWdpbl9sb2FkZXJfbG9hZAorICAgZnVuOmdzdF9y
ZWdpc3RyeV9zY2FuX3BsdWdpbl9maWxlCisgICBmdW46Z3N0X3JlZ2lzdHJ5X3NjYW5fcGF0aF9s
ZXZlbAorICAgZnVuOmdzdF9yZWdpc3RyeV9zY2FuX3BhdGhfaW50ZXJuYWwKKyAgIGZ1bjpnc3Rf
dXBkYXRlX3JlZ2lzdHJ5CisgICBmdW46aW5pdF9wb3N0CisgICBmdW46Z19vcHRpb25fY29udGV4
dF9wYXJzZQorICAgZnVuOmdzdF9pbml0X2NoZWNrCisKK30KKworeworICAgZ190YXNrX3J1bl9p
bl90aHJlYWQgKFRoaXJkIFBhcnR5KQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOm1hbGxvYwor
ICAgZnVuOmdfbWFsbG9jCisgICBmdW46Z19zbGljZV9hbGxvYworICAgZnVuOmdfc2xpY2VfYWxs
b2MwCisgICBmdW46Z19zeXN0ZW1fdGhyZWFkX25ldworICAgZnVuOmdfdGhyZWFkX25ld19pbnRl
cm5hbAorICAgZnVuOmdfdGhyZWFkX3Bvb2xfc3RhcnRfdGhyZWFkCisgICBmdW46Z190aHJlYWRf
cG9vbF9wdXNoCisgICBmdW46Z190YXNrX3N0YXJ0X3Rhc2tfdGhyZWFkCisgICBmdW46Z190YXNr
X3J1bl9pbl90aHJlYWQKK30KKworeworICAgIyBMYXJnZSBsZWFrIGluIGNhaXJvX2ltYWdlX3N1
cmZhY2VfY3JlYXRlCisgICBfY2Fpcm9faW1hZ2Vfc3VyZmFjZV9jcmVhdGVfd2l0aF9waXhtYW5f
Zm9ybWF0IChUaGlyZCBQYXJ0eSkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjptYWxsb2MKKyAg
IGZ1bjpfY2Fpcm9faW1hZ2Vfc3VyZmFjZV9jcmVhdGVfZm9yX3BpeG1hbl9pbWFnZQorICAgZnVu
Ol9jYWlyb19pbWFnZV9zdXJmYWNlX2NyZWF0ZV93aXRoX3BpeG1hbl9mb3JtYXQKKyAgIGZ1bjpf
Wk43V2ViQ29yZTIxY29weUNhaXJvSW1hZ2VTdXJmYWNlRVAxNF9jYWlyb19zdXJmYWNlCit9CisK
KworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCisjIDIuIEludGVudGlvbmFsIHVuaXQgdGVzdCBlcnJvcnMsIGZh
bHNlIHBvc2l0aXZlcworIyBpbiBvdXIgb3duIGNvZGUsIG9yIGxlYWtzIHRoYXQgYXJlIHNvIHRy
aXZpYWwgdGhleSBhcmUgbm90IHdvcnRoIGZpeGluZy4KKworeworICAgIyBBY2NvcmRpbmcgdG8g
ZGdsYXprb3YsIHRoZXNlIGFyZSBvbmUtdGltZSBsZWFrcyBhbmQgaW50ZW50aW9uYWwuCisgICAj
IFRoZXkgbWF5IGdvIGF3YXkgaWYgdGhlIGNoYW5nZSB0byBtb3ZlIHRoZXNlIG9mZiB0aGUgaGVh
cCBsYW5kcy4KKyAgIFdlYkNvcmU6OlNWR05hbWVzOjppbml0IChJbnRlbnRpb25hbCkKKyAgIE1l
bWNoZWNrOkxlYWsKKyAgIC4uLgorICAgZnVuOl9aTjdXZWJDb3JlOFNWR05hbWVzNGluaXRFdgor
fQorCit7CisgICAjIFRoaXMgaXMgYW4gb24gZGVtYW5kIGluaXRpYWxpemF0aW9uIHdoaWNoIGlz
IGRvbmUgYW5kIHRoZW4gaW50ZW50aW9uYWxseQorICAgIyBrZXB0IGFyb3VuZCAobm90IGZyZWVk
KSB3aGlsZSB0aGUgcHJvY2VzcyBpcyBydW5uaW5nLgorICAgV2ViQ29yZTo6WE1MTmFtZXM6Omlu
aXQgKEludGVudGlvbmFsKQorICAgTWVtY2hlY2s6TGVhaworICAgLi4uCisgICBmdW46X1pON1dl
YkNvcmU4WE1MTmFtZXM0aW5pdEV2Cit9CisKK3sKKyAgICMgVGhpcyBpcyBXZWJLaXQgd2lkZSB0
aGVhZGluZyBpbml0aWFsaXphdGlvbiB3aGljaCBpcyBpbnRlbnRpb25hbGx5IGtlcHQKKyAgICMg
YXJvdW5kIChub3QgZnJlZWQpIHdoaWxlIHRoZSBwcm9jZXNzIGlzIHJ1bm5pbmcuCisgICBXVEY6
OlRocmVhZElkZW50aWZpZXJEYXRhOjppbml0aWFsaXplKCkgKEludGVudGlvbmFsKQorICAgTWVt
Y2hlY2s6TGVhaworICAgLi4uCisgICBmdW46X1pOM1dURjIwVGhyZWFkSWRlbnRpZmllckRhdGEx
MGluaXRpYWxpemVFagorfQorCit7CisgICAjIFRoaXMgaXMgV2ViS2l0IHdpZGUgdGhlYWRpbmcg
aW5pdGlhbGl6YXRpb24gd2hpY2ggaXMgaW50ZW50aW9uYWxseSBrZXB0CisgICAjIGFyb3VuZCAo
bm90IGZyZWVkKSB3aGlsZSB0aGUgcHJvY2VzcyBpcyBydW5uaW5nLgorICAgV1RGOjpUaHJlYWRE
YXRhIChJbnRlbnRpb25hbCkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4uLgorICAgZnVuOl9aTjNX
VEYxM3d0ZlRocmVhZERhdGFFdgorfQorCit7CisgICBXVEY6OkJpdFZlY3RvciAoSW50ZW50aW9u
YWwpCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46bWFsbG9jCisgICBmdW46X1pOM1dURjEwZmFz
dE1hbGxvY0VtCisgICBmdW46X1pOM1dURjlCaXRWZWN0b3IxM091dE9mTGluZUJpdHM2Y3JlYXRl
RW0KKyAgIGZ1bjpfWk4zV1RGOUJpdFZlY3RvcjE1cmVzaXplT3V0T2ZMaW5lRW0KKyAgIGZ1bjpf
Wk4zV1RGOUJpdFZlY3RvcjEwZW5zdXJlU2l6ZUVtCisgICBmdW46X1pOM1dURjlCaXRWZWN0b3JD
MUVtCit9CisKK3sKKyAgICMgV1RGOjpUaHJlYWRTcGVjaWZpYyBsZWFrcyBhIGZldyBieXRlcyBh
dCBhIHRpbWUuCisgICBXVEY6OlRocmVhZFNwZWNpZmljOjpzZXQoKSAoSW50ZW50aW9uYWwpCisg
ICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoKKyAgIGZ1bjpfWk4zV1RGMTRUaHJlYWRTcGVj
aWZpY0liRTNzZXRFUGIKKyAgIGZ1bjpfWk4zV1RGMTRUaHJlYWRTcGVjaWZpY0liRWN2UGJFdgor
ICAgZnVuOl9aTjNXVEYxNFRocmVhZFNwZWNpZmljSWJFZGVFdgorICAgZnVuOl9aTjNXVEYxNnJl
Z2lzdGVyR0NUaHJlYWRFdgorICAgZnVuOl9aTjNKU0M4R0NUaHJlYWQxMmdjVGhyZWFkTWFpbkV2
CisgICBmdW46X1pOM0pTQzhHQ1RocmVhZDE3Z2NUaHJlYWRTdGFydEZ1bmNFUHYKKyAgIGZ1bjpf
Wk4zV1RGTDE2dGhyZWFkRW50cnlQb2ludEVQdgorfQorCit7CisgICAjIERPTU9iamVjdENhY2hl
IG1lbW9yeSBpcyBub3QgZnJlZWQuCisgICB3ZWJraXRfZG9tX2RvY3VtZW50X2dldF9kZWZhdWx0
X3ZpZXcgKEludGVudGlvbmFsKQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOm1hbGxvYworICAg
ZnVuOmdfbWFsbG9jCisgICBmdW46Z19zbGljZV9hbGxvYworICAgZnVuOl9aTjZXZWJLaXQxNERP
TU9iamVjdENhY2hlM3B1dEVQdlMxXworICAgZnVuOl9aTDMzd2Via2l0X2RvbV9kb21fd2luZG93
X2NvbnN0cnVjdG9ybWpQMjJfR09iamVjdENvbnN0cnVjdFBhcmFtCisgICBmdW46Z19vYmplY3Rf
bmV3dgorICAgZnVuOmdfb2JqZWN0X25ld192YWxpc3QKKyAgIGZ1bjpnX29iamVjdF9uZXcKKyAg
IGZ1bjpfWk42V2ViS2l0MTN3cmFwRE9NV2luZG93RVBON1dlYkNvcmU5RE9NV2luZG93RQorICAg
ZnVuOndlYmtpdF9kb21fZG9jdW1lbnRfZ2V0X2RlZmF1bHRfdmlldworIH0KKworIy0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCisjIDMuIFN1cHByZXNzaW9ucyBmb3IgcmVhbCB3ZWJraXQgYnVncyB0aGF0IGFyZSBu
b3QgeWV0IGZpeGVkLgorIyBUaGVzZSBzaG91bGQgYWxsIGJlIGluIHdlYmtpdCdzIGJ1ZyB0cmFj
a2luZyBzeXN0ZW0gKGJ1dCBhIGZldyBhcmVuJ3QgeWV0KS4KKworeworICAgIyBBdGtQcm9wZXJ0
eSBpcyBjYWNoZWQgYnV0IG5vdCByZWxlYXNlZCAoc2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMTg1NjcjYzIpLgorICAgY2FjaGVBbmRSZXR1cm5BdGtQcm9wZXJ0
eQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOm1hbGxvYworICAgZnVuOl9aTjNXVEYxMGZhc3RN
YWxsb2NFbQorICAgZnVuOl9aTjNXVEYxM0NTdHJpbmdCdWZmZXIxOWNyZWF0ZVVuaW5pdGlhbGl6
ZWRFbQorICAgZnVuOl9aTjNXVEY3Q1N0cmluZzRpbml0RVBLY20KKyAgIGZ1bjpfWk4zV1RGN0NT
dHJpbmdDMUVQS2NtCisgICBmdW46X1pOSzNXVEY2U3RyaW5nNHV0ZjhFTlMwXzE0Q29udmVyc2lv
bk1vZGVFCisgICBmdW46Y2FjaGVBbmRSZXR1cm5BdGtQcm9wZXJ0eQorfQorCit7CisgICAjIEF0
a1JlbGF0aW9uU2V0IGlzIG5ldmVyIGZyZWVkIGJlY2F1c2UgdGhlIHRhcmdldCBBdGtPYmplY3Qg
aXMKKyAgICMgY2FjaGVkLiBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTExODU2Ny4KKyAgIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnRpdGxlKCkKKyAgIE1lbWNo
ZWNrOkxlYWsKKyAgIGZ1bjptYWxsb2MKKyAgIC4uLgorICAgZnVuOmdfb2JqZWN0X3dlYWtfcmVm
CisgICBmdW46YXRrX3JlbGF0aW9uX3NldF9wcm9wZXJ0eQorICAgZnVuOmdfb2JqZWN0X25ld3YK
KyAgIGZ1bjpnX29iamVjdF9uZXdfdmFsaXN0CisgICBmdW46Z19vYmplY3RfbmV3CisgICBmdW46
YXRrX3JlbGF0aW9uX25ldworICAgZnVuOmF0a19yZWxhdGlvbl9zZXRfYWRkX3JlbGF0aW9uX2J5
X3R5cGUKKyAgIGZ1bjpfWkwzMXNldEF0a1JlbGF0aW9uU2V0RnJvbUNvcmVPYmplY3RQTjdXZWJD
b3JlMTlBY2Nlc3NpYmlsaXR5T2JqZWN0RVAxNV9BdGtSZWxhdGlvblNldAorICAgZnVuOl9aTDMw
d2Via2l0QWNjZXNzaWJsZVJlZlJlbGF0aW9uU2V0UDEwX0F0a09iamVjdAorICAgZnVuOl9aTjIy
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDE0dGl0bGVVSUVsZW1lbnRFdgorfQorCit7CisgICAjIExl
YWsgaW4gd2Via2l0QWNjZXNzaWJsZU5ldyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTE4MzgyCisgICB3ZWJraXRBY2Nlc3NpYmxlTmV3CisgICBNZW1jaGVjazpMZWFr
CisgICBmdW46KmFsbG9jCisgICAuLi4KKyAgIGZ1bjp3ZWJraXRBY2Nlc3NpYmxlTmV3Cit9CisK
K3sKKyAgICMgTGVhayBBVEsgdGV4dCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTE4Mzg1CisgICB3ZWJraXRBY2Nlc3NpYmxlVGV4dEdldFRleHQKKyAgIE1lbWNoZWNr
OkxlYWsKKyAgIGZ1bjptYWxsb2MKKyAgIGZ1bjpnX21hbGxvYworICAgZnVuOmdfc3RyZHVwCisg
ICBmdW46X1pMMjd3ZWJraXRBY2Nlc3NpYmxlVGV4dEdldFRleHRQOF9BdGtUZXh0aWkKKyAgIGZ1
bjpfWkwyM3dlYmtpdEFjY2Vzc2libGVHZXROYW1lUDEwX0F0a09iamVjdAorfQorCit7CisgICAj
IExlYWsgUGx1Z2luT2JqZWN0IGluIGV4Y2VwdGlvbmFsIGNpcmN1bXN0YW5jZXMgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExODUyOAorICAgV2ViQ29yZTo6UGx1Z2lu
Vmlldzo6c3RhcnQoKQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOm1hbGxvYworICAgZnVuOl9a
TDE0cGx1Z2luQWxsb2NhdGVQNF9OUFBQN05QQ2xhc3MKKyAgIGZ1bjpfTlBOX0NyZWF0ZU9iamVj
dAorICAgZnVuOk5QUF9OZXcKKyAgIGZ1bjpfWk43V2ViQ29yZTEwUGx1Z2luVmlldzVzdGFydEV2
Cit9CisKK3sKKyAgICMgVGV4dENvZGVjSUNVOjpyZWdpc3RlckNvZGVjcyBpcyBsZWFraW5nIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTg1MDUKKyAgIFdlYkNvcmU6
OlRleHRDb2RlYzo6cmVnaXN0ZXJDb2RlY3MoKQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOm1h
bGxvYworICAgZnVuOl9aTjNXVEYxMGZhc3RNYWxsb2NFbQorICAgZnVuOl9aTjNXVEYxMGZhc3RT
dHJEdXBFUEtjCisgICBmdW46X1pON1dlYkNvcmUxMlRleHRDb2RlY0lDVTE0cmVnaXN0ZXJDb2Rl
Y3NFUEZ2UEtjUEZOM1dURjEwUGFzc093blB0cklOU185VGV4dENvZGVjRUVFUktOU18xMlRleHRF
bmNvZGluZ0VQS3ZFU0JfRQorfQorCit7CisgICAjIER1bXBSZW5kZXJUcmVlIFdlYktpdFdlYlZp
ZXcgaXMgbGVha2VkCisgICB3ZWJWaWV3Q3JlYXRlCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46
bWFsbG9jCisgICBmdW46Z19tYWxsb2MKKyAgIGZ1bjpnX3NsaWNlX2FsbG9jCisgICBmdW46Z19z
bGlzdF9wcmVwZW5kCisgICBmdW46X1pMMTN3ZWJWaWV3Q3JlYXRlUDE0X1dlYktpdFdlYlZpZXdQ
MTVfV2ViS2l0V2ViRnJhbWUKKyAgIGZ1bjp3ZWJraXRfbWFyc2hhbF9PQkpFQ1RfX09CSkVDVAor
ICAgZnVuOmdfY2xvc3VyZV9pbnZva2UKKyAgIGZ1bjpzaWduYWxfZW1pdF91bmxvY2tlZF9SCisg
ICBmdW46Z19zaWduYWxfZW1pdF92YWxpc3QKKyAgIGZ1bjpnX3NpZ25hbF9lbWl0X2J5X25hbWUK
KyAgIGZ1bjpfWk42V2ViS2l0MTJDaHJvbWVDbGllbnQxMmNyZWF0ZVdpbmRvd0VQTjdXZWJDb3Jl
NUZyYW1lRVJLTlMxXzE2RnJhbWVMb2FkUmVxdWVzdEVSS05TMV8xNFdpbmRvd0ZlYXR1cmVzRVJL
TlMxXzE2TmF2aWdhdGlvbkFjdGlvbkUKKyAgIGZ1bjpfWk5LN1dlYkNvcmU2Q2hyb21lMTJjcmVh
dGVXaW5kb3dFUE5TXzVGcmFtZUVSS05TXzE2RnJhbWVMb2FkUmVxdWVzdEVSS05TXzE0V2luZG93
RmVhdHVyZXNFUktOU18xNk5hdmlnYXRpb25BY3Rpb25FCisgICBmdW46X1pON1dlYkNvcmUxMmNy
ZWF0ZVdpbmRvd0VQTlNfNUZyYW1lRVMxX1JLTlNfMTZGcmFtZUxvYWRSZXF1ZXN0RVJLTlNfMTRX
aW5kb3dGZWF0dXJlc0VSYgorICAgZnVuOl9aTjdXZWJDb3JlOURPTVdpbmRvdzEyY3JlYXRlV2lu
ZG93RVJLTjNXVEY2U3RyaW5nRVJLTlMxXzEyQXRvbWljU3RyaW5nRVJLTlNfMTRXaW5kb3dGZWF0
dXJlc0VQUzBfUE5TXzVGcmFtZUVTRF9QRnZTQl9QdkVTRV8KKyAgIGZ1bjpfWk43V2ViQ29yZTlE
T01XaW5kb3c0b3BlbkVSS04zV1RGNlN0cmluZ0VSS05TMV8xMkF0b21pY1N0cmluZ0VTNF9QUzBf
UzhfCisgICBmdW46X1pON1dlYkNvcmUxMUpTRE9NV2luZG93NG9wZW5FUE4zSlNDOUV4ZWNTdGF0
ZUUKKyAgIGZ1bjpfWk43V2ViQ29yZTMyanNET01XaW5kb3dQcm90b3R5cGVGdW5jdGlvbk9wZW5F
UE4zSlNDOUV4ZWNTdGF0ZUUKKyB9CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L3BvcnQvZ3RrLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2d0ay5weQppbmRleCA1
MDZhMmFiMWIzMzNjYmI0Yzc5MmY3NmQzZTZmZTI0OTQ3NWVmMzc2Li4wNzI4NDZkOGY0Nzg1ZjNj
NzMwMzUzZDk4ZDc1YWM5ZDAyZjVlMjEzIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L3BvcnQvZ3RrLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9ndGsucHkK
QEAgLTcwLDYgKzcwLDEyIEBAIGNsYXNzIEd0a1BvcnQoUG9ydCk6CiAgICAgICAgICAgICByZXR1
cm4gbXVsdGlwbGllciAqIDEyICogMTAwMAogICAgICAgICByZXR1cm4gbXVsdGlwbGllciAqIDYg
KiAxMDAwCiAKKyAgICBkZWYgZHJpdmVyX3N0b3BfdGltZW91dChzZWxmKToKKyAgICAgICAgaWYg
c2VsZi5nZXRfb3B0aW9uKCJsZWFrcyIpOgorICAgICAgICAgICAgIyBXYWl0IHRoZSBkZWZhdWx0
IHRpbWVvdXQgdGltZSBiZWZvcmUga2lsbGluZyB0aGUgcHJvY2VzcyBpbiBkcml2ZXIuc3RvcCgp
LgorICAgICAgICAgICAgcmV0dXJuIHNlbGYuZGVmYXVsdF90aW1lb3V0X21zKCkKKyAgICAgICAg
cmV0dXJuIHN1cGVyKEd0a1BvcnQsIHNlbGYpLmRlZmF1bHRfdGltZW91dF9tcygpCisKICAgICBk
ZWYgc2V0dXBfdGVzdF9ydW4oc2VsZik6CiAgICAgICAgIHN1cGVyKEd0a1BvcnQsIHNlbGYpLnNl
dHVwX3Rlc3RfcnVuKCkKICAgICAgICAgc2VsZi5fcHVsc2VhdWRpb19zYW5pdGl6ZXIudW5sb2Fk
X3B1bHNlYXVkaW9fbW9kdWxlKCkKQEAgLTk0LDYgKzEwMCw3IEBAIGNsYXNzIEd0a1BvcnQoUG9y
dCk6CiAgICAgICAgICAgICBlbnZpcm9ubWVudFsnR19ERUJVRyddID0gJ2djLWZyaWVuZGx5Jwog
ICAgICAgICAgICAgeG1sZmlsZW5hbWUgPSAiIi5qb2luKCgiZHJ0LSVwLSIsIHV1aWQudXVpZDEo
KS5oZXgsICItbGVha3MueG1sIikpCiAgICAgICAgICAgICB4bWxmaWxlID0gb3MucGF0aC5qb2lu
KHNlbGYucmVzdWx0c19kaXJlY3RvcnkoKSwgeG1sZmlsZW5hbWUpCisgICAgICAgICAgICBzdXBw
cmVzc2lvbnNmaWxlID0gc2VsZi5wYXRoX2Zyb21fd2Via2l0X2Jhc2UoJ1Rvb2xzJywgJ1Njcmlw
dHMnLCAndmFsZ3JpbmQnLCAnc3VwcHJlc3Npb25zLnR4dCcpCiAgICAgICAgICAgICBlbnZpcm9u
bWVudFsnVkFMR1JJTkRfT1BUUyddID0gXAogICAgICAgICAgICAgICAgICItLXRvb2w9bWVtY2hl
Y2sgIiBcCiAgICAgICAgICAgICAgICAgIi0tbnVtLWNhbGxlcnM9NDAgIiBcCkBAIC0xMDgsNyAr
MTE1LDggQEAgY2xhc3MgR3RrUG9ydChQb3J0KToKICAgICAgICAgICAgICAgICAiLS11bmRlZi12
YWx1ZS1lcnJvcnM9bm8gIiBcCiAgICAgICAgICAgICAgICAgIi0tZ2VuLXN1cHByZXNzaW9ucz1h
bGwgIiBcCiAgICAgICAgICAgICAgICAgIi0teG1sPXllcyAiIFwKLSAgICAgICAgICAgICAgICAi
LS14bWwtZmlsZT1cIiVzXCIgIiAlICh4bWxmaWxlKQorICAgICAgICAgICAgICAgICItLXhtbC1m
aWxlPVwiJXNcIiAiIFwKKyAgICAgICAgICAgICAgICAiLS1zdXBwcmVzc2lvbnM9JXMiICUgKHht
bGZpbGUsIHN1cHByZXNzaW9uc2ZpbGUpCiAgICAgICAgIHJldHVybiBlbnZpcm9ubWVudAogCiAg
ICAgZGVmIF9nZW5lcmF0ZV9hbGxfdGVzdF9jb25maWd1cmF0aW9ucyhzZWxmKToK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>208245</attachid>
            <date>2013-08-07 02:38:29 -0700</date>
            <delta_ts>2013-08-21 09:10:06 -0700</delta_ts>
            <desc>Suppress known leaks v2</desc>
            <filename>bug-119448-20130807103858.patch</filename>
            <type>text/plain</type>
            <size>17776</size>
            <attacher name="Brian Holt">brian.holt</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUzNzUxCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYWVmNGExOTQ4MTdjNGYyYjlkNDU2OTA4NDE2MWI4MWMx
Y2Q0NjUzNS4uODkwYmJiYWM0Y2I2NjVhNWRiYjI1OWEzZGU1ZjcxY2QxMDA3ZTZjMSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5
IEBACisyMDEzLTA4LTA2ICBCcmlhbiBIb2x0ICA8YnJpYW4uaG9sdEBzYW1zdW5nLmNvbT4KKwor
ICAgICAgICBbR1RLXSBTdXBwcmVzcyBpcnJlbGV2YW50IG9yIGtub3duIGxlYWtzIGZvciBWYWxn
cmluZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE5
NDQ4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRk
IGEgc3VwcHJlc3Npb25zIGZpbGUgdG8gc3VwcHJlc3Mga25vd24gbGVha3MgZm9yIFZhbGdyaW5k
LgorICAgICAgICBWYWxncmluZCBhbHNvIHRha2VzIGxvbmdlciB3aGVuIHVzaW5nIHN1cHByZXNz
aW9ucyBhbmQKKyAgICAgICAgdGltZXMgb3V0IHVubGVzcyB0aGUgZHJpdmVyIHRpbWVvdXQgaXMg
aW5jcmVhc2VkLgorCisgICAgICAgICogU2NyaXB0cy92YWxncmluZC9zdXBwcmVzc2lvbnMudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvZ3RrLnB5OgorICAgICAg
ICAoR3RrUG9ydC5kcml2ZXJfc3RvcF90aW1lb3V0KToKKyAgICAgICAgKEd0a1BvcnQuc2V0dXBf
ZW52aXJvbl9mb3Jfc2VydmVyKToKKwogMjAxMy0wOC0wNSAgQnJpYW4gSG9sdCAgPGJyaWFuLmhv
bHRAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgW0dUS10gSW1wbGVtZW50IGxlYWsgY2hlY2tpbmcg
d2l0aCB2YWxncmluZApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy92YWxncmluZC9zdXBwcmVz
c2lvbnMudHh0IGIvVG9vbHMvU2NyaXB0cy92YWxncmluZC9zdXBwcmVzc2lvbnMudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjJlZGFiZDEzMmVkMzk4NGI3MzdmYTQ0M2JkMDczZjcxOTA3ZjAwY2MKLS0tIC9kZXYv
bnVsbAorKysgYi9Ub29scy9TY3JpcHRzL3ZhbGdyaW5kL3N1cHByZXNzaW9ucy50eHQKQEAgLTAs
MCArMSw2MjcgQEAKKyMgVGhlcmUgYXJlIHRocmVlIGtpbmRzIG9mIHN1cHByZXNzaW9ucyBpbiB0
aGlzIGZpbGUuCisjIDEuIFRoaXJkIHBhcnR5IGxlYWtzIHdlIGhhdmUgbm8gY29udHJvbCBvdmVy
LgorIworIyAyLiBJbnRlbnRpb25hbCB1bml0IHRlc3QgZXJyb3JzLCBmYWxzZSBwb3NpdGl2ZXMK
KyMgaW4gb3VyIG93biBjb2RlLCBvciBsZWFrcyB0aGF0IGFyZSBzbyB0cml2aWFsIHRoZXkgYXJl
IG5vdCB3b3J0aCBmaXhpbmcuCisjCisjIDMuIFN1cHByZXNzaW9ucyBmb3IgcmVhbCBXZWJLaXQg
YnVncyB0aGF0IGFyZSBub3QgeWV0IGZpeGVkLgorIyBUaGVzZSBzaG91bGQgYWxsIGJlIGluIHdl
YmtpdCdzIGJ1ZyB0cmFja2luZyBzeXN0ZW0KKyMgUGVyaW9kaWNhbGx5IHdlIHNob3VsZCBzd2Vl
cCB0aGlzIGZpbGUgYW5kIHRoZSBidWcgdHJhY2tlciBjbGVhbiBieQorIyBydW5uaW5nIG92ZXJu
aWdodCBhbmQgcmVtb3Zpbmcgb3V0ZGF0ZWQgYnVncy9zdXBwcmVzc2lvbnMuCisjLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KKworIyAxLiBUaGlyZCBwYXJ0eSBsZWFrcyB3ZSBoYXZlIG5vIGNvbnRyb2wgb3Zlci4K
K3sKKyAgICMgR1RLIGRldmVsb3BlcnMgZG9uJ3QgbGlrZSBjbGVhbmluZyB1cCBvbmUtdGltZSBs
ZWFrcy4KKyAgICMgU2VlIGh0dHA6Ly9tYWlsLmdub21lLm9yZy9hcmNoaXZlcy9ndGstZGV2ZWwt
bGlzdC8yMDA0LUFwcmlsL21zZzAwMjMwLmh0bWwuCisgICBndGtfaW5pdF9jaGVjayAoVGhpcmQg
UGFydHkpCisgICBNZW1jaGVjazpMZWFrCisgICAuLi4KKyAgIGZ1bjpndGtfaW5pdF9jaGVjawor
fQorCit7CisgICBGY0NvbmZpZ1BhcnNlQW5kTG9hZCAoVGhpcmQgUGFydHkpCisgICBNZW1jaGVj
azpMZWFrCisgICAuLi4KKyAgIGZ1bjpYTUxfUGFyc2VCdWZmZXIKKyAgIGZ1bjpGY0NvbmZpZ1Bh
cnNlQW5kTG9hZAorfQorCit7CisgICBGY0NvbmZpZ0FwcEZvbnRBZGRGaWxlIChUaGlyZCBQYXJ0
eSkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4uLgorICAgZnVuOkZjQ29uZmlnQXBwRm9udEFkZEZp
bGUKK30KKworeworICAgIyBTZWUgYWxzbyBodHRwOi8vd3d3Lmdub21lLm9yZy9+am9oYW4vZ3Rr
LnN1cHByZXNzaW9uCisgICAjICh3aGljaCBoYXMgYSBzbWF0dGVyaW5nIG9mIHNpbWlsYXIgcGFu
Z28gc3VwcHJlc3Npb25zKS4KKyAgIEZjRm9udFJlbmRlclByZXBhcmUgMSAoVGhpcmQgUGFydHkp
CisgICBNZW1jaGVjazpMZWFrCisgICAuLi4KKyAgIGZ1bjpGY0ZvbnRSZW5kZXJQcmVwYXJlCisg
ICBvYmo6KgorICAgZnVuOnBhbmdvX2ZvbnRfbWFwX2xvYWRfZm9udHNldAorfQorCit7CisgICBG
Y0ZvbnRSZW5kZXJQcmVwYXJlIDIgKFRoaXJkIFBhcnR5KQorICAgTWVtY2hlY2s6TGVhaworICAg
Li4uCisgICBmdW46RmNGb250UmVuZGVyUHJlcGFyZQorICAgLi4uCisgICBmdW46cGFuZ29faXRl
bWl6ZV93aXRoX2Jhc2VfZGlyCit9CisKK3sKKyAgIEZjRm9udFJlbmRlclByZXBhcmUgMyAoVGhp
cmQgUGFydHkpCisgICBNZW1jaGVjazpMZWFrCisgICAuLi4KKyAgIGZ1bjpGY0ZvbnRSZW5kZXJQ
cmVwYXJlCisgICAuLi4KKyAgIGZ1bjpwYW5nb19vdF9idWZmZXJfb3V0cHV0Cit9CisKK3sKKyAg
IEZjRm9udFJlbmRlclByZXBhcmUgNCAoVGhpcmQgUGFydHkpCisgICBNZW1jaGVjazpMZWFrCisg
ICAuLi4KKyAgIGZ1bjpGY0ZvbnRSZW5kZXJQcmVwYXJlCisgICAuLi4KKyAgIGZ1bjpwYW5nb19j
b250ZXh0X2dldF9tZXRyaWNzCit9CisKK3sKKyAgIEZjRGVmYXVsdFN1YnN0aXR1dGUgKFRoaXJk
IFBhcnR5KQorICAgTWVtY2hlY2s6TGVhaworICAgLi4uCisgICBmdW46RmNEZWZhdWx0U3Vic3Rp
dHV0ZQorICAgLi4uCisgICBmdW46cGFuZ29faXRlbWl6ZV93aXRoX2Jhc2VfZGlyCit9CisKK3sK
KyAgICMgUmVwb3J0ZWQgaW4gaHR0cHM6Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9ODIxNS4KKyAgIEZjUGF0dGVybk9iamVjdEluc2VydEVsdCAxIChUaGlyZCBQYXJ0eSkK
KyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjptYWxsb2MKKyAgIGZ1bjpGY1BhdHRlcm5PYmplY3RJ
bnNlcnRFbHQKKyAgIGZ1bjpGY1BhdHRlcm5PYmplY3RBZGRXaXRoQmluZGluZworfQorCit7Cisg
ICAjIFNlZSBodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD04NDI4
LgorICAgIyBhbmQgaHR0cDovL3d3dy5nbm9tZS5vcmcvfmpvaGFuL2d0ay5zdXBwcmVzc2lvbi4K
KyAgIEZjUGF0dGVybk9iamVjdEluc2VydEVsdCAyIChUaGlyZCBQYXJ0eSkKKyAgIE1lbWNoZWNr
OkxlYWsKKyAgIC4uLgorICAgZnVuOnJlYWxsb2MKKyAgIGZ1bjpGY1BhdHRlcm5PYmplY3RJbnNl
cnRFbHQKK30KKworeworICAgRmNDb25maWdWYWx1ZXMgKFRoaXJkIFBhcnR5KQorICAgTWVtY2hl
Y2s6TGVhaworICAgLi4uCisgICBmdW46bWFsbG9jCisgICBmdW46RmNDb25maWdWYWx1ZXMKKyAg
IGZ1bjpGY0NvbmZpZ1ZhbHVlcworICAgLi4uCisgICBmdW46RmNDb25maWdWYWx1ZXMKKyAgIGZ1
bjpGY0NvbmZpZ1ZhbHVlcworfQorCit7CisgICBGY0NoYXJTZXRTb3J0IChUaGlyZCBQYXJ0eSkK
KyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4uLgorICAgZnVuOkZjRm9udFNldFNvcnQKKyAgIGZ1bjpG
Y0ZvbnRTb3J0Cit9CisKK3sKKyAgIEZjQ2hhclNldEFkZENoYXIgKFRoaXJkIFBhcnR5KQorICAg
TWVtY2hlY2s6TGVhaworICAgLi4uCisgICBmdW46RmNDaGFyU2V0RmluZExlYWZDcmVhdGUKKyAg
IGZ1bjpGY0NoYXJTZXRBZGRDaGFyCit9CisKK3sKKyAgIHBhbmdvX3NjcmlwdF9nZXRfc2FtcGxl
X2xhbmd1YWdlIChUaGlyZCBQYXJ0eSkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjptYWxsb2MK
KyAgIGZ1bjpnX21hbGxvYworICAgZnVuOmdfc3RyZHVwCisgICBmdW46cGFuZ29fc2NyaXB0X2dl
dF9zYW1wbGVfbGFuZ3VhZ2UKKyAgIC4uLgorICAgZnVuOnBhbmdvX2ZvbnRfZ2V0X21ldHJpY3MK
K30KKworeworICAgIyBTZWUgaHR0cDovL3NvdXJjZXdhcmUub3JnL2J1Z3ppbGxhL3Nob3dfYnVn
LmNnaT9pZD0xMjg3OC4KKyAgIGRsb3BlbiAoVGhpcmQgUGFydHkpCisgICBNZW1jaGVjazpMZWFr
CisgICBmdW46Y2FsbG9jCisgICBmdW46X2RsZXJyb3JfcnVuCisgICBmdW46ZGxvcGVuQEBHTElC
Q18yLjEKK30KKworeworICAgIyBTZWUgYWxzbyBodHRwOi8vc291cmNlcy5yZWRoYXQuY29tL2J1
Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0yNDUxLgorICAgX2RsX21hcF9vYmplY3RfZnJvbV9mZCAo
VGhpcmQgUGFydHkpCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46bWFsbG9jCisgICBmdW46X2Rs
X21hcF9vYmplY3RfZnJvbV9mZAorfQorCit7CisgICAjIFNlZSBodHRwOi8vc291cmNlcy5yZWRo
YXQuY29tL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD01MTcxCisgICBwdGhyZWFkX2NyZWF0ZSAo
VGhpcmQgUGFydHkpCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46Y2FsbG9jCisgICBmdW46YWxs
b2NhdGVfZHR2CisgICBmdW46X2RsX2FsbG9jYXRlX3RscworICAgZnVuOnB0aHJlYWRfY3JlYXRl
QEBHTElCQ18yLjEKK30KKworeworICAgIyBTZWUgaHR0cDovL3NvdXJjZXdhcmUub3JnL2J1Z3pp
bGxhL3Nob3dfYnVnLmNnaT9pZD0xNDAxNS4KKyAgIGRsc3ltIChUaGlyZCBQYXJ0eSkKKyAgIE1l
bWNoZWNrOkxlYWsKKyAgIGZ1bjpjYWxsb2MKKyAgIGZ1bjpfZGxlcnJvcl9ydW4KKyAgIGZ1bjpk
bHN5bQorfQorCit7CisgICBnX29iamVjdF9hZGRfd2Vha19wb2ludGVyIChUaGlyZCBQYXJ0eSkK
KyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4uLgorICAgZnVuOmdfb2JqZWN0X3dlYWtfcmVmCisgICBm
dW46Z19vYmplY3RfYWRkX3dlYWtfcG9pbnRlcgorfQorCit7CisgICBnX2J1aWxkX2ZpbGVuYW1l
IChUaGlyZCBQYXJ0eSkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpyZWFsbG9jCisgICBmdW46
Z19yZWFsbG9jCisgICBmdW46Z19zdHJpbmdfbWF5YmVfZXhwYW5kCisgICBmdW46Z19zdHJpbmdf
aW5zZXJ0X2xlbgorICAgZnVuOmdfYnVpbGRfcGF0aF92YQorICAgZnVuOmdfYnVpbGRfZmlsZW5h
bWUKKyAgIGZ1bjpfWkwxNWluaXRpYWxpemVGb250c1BLYworfQorCit7CisgICBndGtfaW1fY29u
dGV4dF9zZXRfY2xpZW50X3dpbmRvdyAoVGhpcmQgUGFydHkpCisgICBNZW1jaGVjazpMZWFrCisg
ICAuLi4KKyAgIGZ1bjptYWxsb2MKKyAgIGZ1bjpnX21hbGxvYworICAgZnVuOmdfc3RyZHVwCisg
ICBmdW46Z3RrX2ltX211bHRpY29udGV4dF9nZXRfc2xhdmUKKyAgIGZ1bjpndGtfaW1fbXVsdGlj
b250ZXh0X3NldF9jbGllbnRfd2luZG93CisgICBmdW46Z3RrX2ltX2NvbnRleHRfc2V0X2NsaWVu
dF93aW5kb3cKK30KKworeworICAgZ3RrX2Nzc19wcm92aWRlcl9sb2FkX2Zyb21fZGF0YSAoVGhp
cmQgUGFydHkpCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46cmVhbGxvYworICAgZnVuOmdfcmVh
bGxvYworICAgZnVuOmdfc3RyaW5nX21heWJlX2V4cGFuZAorICAgZnVuOmdfc3RyaW5nX2luc2Vy
dF9jCisgICBmdW46X2d0a19jc3NfcGFyc2VyX3JlYWRfY2hhcgorICAgZnVuOl9ndGtfY3NzX3Bh
cnNlcl90cnlfaWRlbnQKKyAgIGZ1bjpiaW5kaW5nc192YWx1ZV9wYXJzZV9vbmUKKyAgIGZ1bjpf
Z3RrX2Nzc19hcnJheV92YWx1ZV9wYXJzZQorICAgZnVuOmd0a19jc3NfcHJvdmlkZXJfbG9hZF9p
bnRlcm5hbAorICAgZnVuOmd0a19jc3NfcHJvdmlkZXJfbG9hZF9mcm9tX2RhdGEKK30KKworewor
ICAgIyBHVEsgbGVha3MgYW4gWDExIHdpbmRvdy4KKyAgIGdka194MTFfZHJhd2FibGVfZ2V0X3hp
ZCAoVGhpcmQgUGFydHkpCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46bWFsbG9jCisgICBmdW46
Z19tYWxsb2MKKyAgIGZ1bjpnX3NsaWNlX2FsbG9jCisgICBmdW46Z19zbGljZV9hbGxvYzAKKyAg
IGZ1bjpnX3R5cGVfY3JlYXRlX2luc3RhbmNlCisgICBmdW46Z19vYmplY3RfY29uc3RydWN0b3IK
KyAgIGZ1bjpnX29iamVjdF9uZXd2CisgICBmdW46Z19vYmplY3RfbmV3CisgICBmdW46X2dka193
aW5kb3dfaW1wbF9uZXcKKyAgIGZ1bjpnZGtfd2luZG93X2Vuc3VyZV9uYXRpdmUKKyAgIGZ1bjpn
ZGtfeDExX2RyYXdhYmxlX2dldF94aWQKK30KKworeworICAgIyBHVEsgbGVha3MgYSBjYWlybyBj
b250ZXh0IChsYXJnZSBsZWFrKQorICAgZ3RrX3dpbmRvd19yZWFsaXplIChUaGlyZCBQYXJ0eSkK
KyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjptYWxsb2MKKyAgIGZ1bjpfY2Fpcm9fZGVmYXVsdF9j
b250ZXh0X2NyZWF0ZQorICAgZnVuOnNldF9ncmlwX3NoYXBlCisgICBmdW46cmVzaXplX2dyaXBf
Y3JlYXRlX3dpbmRvdworICAgZnVuOmd0a193aW5kb3dfcmVhbGl6ZQorfQorCit7CisgICBnX3F1
YXJrX2Zyb21fc3RhdGljX3N0cmluZyAoVGhpcmQgcGFydHkpCisgICBNZW1jaGVjazpMZWFrCisg
ICBmdW46bWFsbG9jCisgICBmdW46Z19tYWxsb2MKKyAgIGZ1bjpnX3F1YXJrX2Zyb21fc3RhdGlj
X3N0cmluZworICAgZnVuOmdvYmplY3RfaW5pdF9jdG9yCisgICBmdW46Y2FsbF9pbml0LnBhcnQu
MAorICAgZnVuOl9kbF9pbml0CisgICBvYmo6L2xpYi94ODZfNjQtbGludXgtZ251L2xkLTIuMTUu
c28KKyAgIG9iajoqCisgICBvYmo6KgorICAgb2JqOioKK30KKworeworICAgL2Jpbi9iYXNoIChU
aGlyZCBQYXJ0eSkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4uLgorICAgb2JqOi9iaW4vYmFzaAor
fQorCit7CisgICBsaWJlbmNoYW50LnNvIG5ldyAoVGhpcmQgcGFydHkpCisgICBNZW1jaGVjazpM
ZWFrCisgICBmdW46X1pudyoKKyAgIC4uLgorICAgb2JqOiovbGliZW5jaGFudC5zby4xLjYuMAor
ICAgZnVuOmVuY2hhbnRfYnJva2VyX2RpY3RfZXhpc3RzCit9CisKK3sKKyAgIGxpYmVuY2hhbnQu
c28gbWFsbG9jIChUaGlyZCBwYXJ0eSkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjoqYWxsb2MK
KyAgIC4uLgorICAgb2JqOiovbGliZW5jaGFudC5zby4xLjYuMAorICAgZnVuOmVuY2hhbnRfYnJv
a2VyX2RpY3RfZXhpc3RzCit9CisKK3sKKyAgICMgQ2Fpcm8gbGVha3MgYSBwYXR0ZXJuX3QqIGlu
IGNhaXJvX3NldF9zb3VyY2Vfc3VyZmFjZQorICAgY2Fpcm9fc2V0X3NvdXJjZV9zdXJmYWNlIChU
aGlyZCBQYXJ0eSkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjptYWxsb2MKKyAgIGZ1bjpjYWly
b19wYXR0ZXJuX2NyZWF0ZV9mb3Jfc3VyZmFjZQorICAgZnVuOl9jYWlyb19kZWZhdWx0X2NvbnRl
eHRfc2V0X3NvdXJjZV9zdXJmYWNlCisgICBmdW46Y2Fpcm9fc2V0X3NvdXJjZV9zdXJmYWNlCit9
CisKK3sKKyAgIFhSUkZpbmREaXNwbGF5IChUaGlyZCBQYXJ0eSkKKyAgIE1lbWNoZWNrOkxlYWsK
KyAgIGZ1bjptYWxsb2MKKyAgIGZ1bjpYUlJGaW5kRGlzcGxheQorfQoreworICAgbGliZmxhc2hw
bGF5ZXIuc28gKFRoaXJkIFBhcnR5KQorICAgTWVtY2hlY2s6TGVhaworICAgLi4uCisgICBvYmo6
L3Vzci9saWIvZmxhc2hwbHVnaW4taW5zdGFsbGVyL2xpYmZsYXNocGxheWVyLnNvCit9CisKK3sK
KyAgIGdka19pbml0IChUaGlyZCBQYXJ0eSkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjptYWxs
b2MKKyAgIC4uLgorICAgZnVuOl9ubF9maW5kX2RvbWFpbgorICAgZnVuOl9fZGNpZ2V0dGV4dAor
ICAgZnVuOmdka19zY3JlZW5fY2xhc3NfaW50ZXJuX2luaXQKKyAgIGZ1bjpnX3R5cGVfY2xhc3Nf
cmVmCisgICBmdW46Z190eXBlX2NsYXNzX3JlZgorICAgZnVuOmdfb2JqZWN0X25ld3YKKyAgIGZ1
bjpnX29iamVjdF9uZXcKKyAgIGZ1bjpfZ2RrX3gxMV9zY3JlZW5fbmV3CisgICBmdW46Z2RrX2Rp
c3BsYXlfb3BlbgorICAgZnVuOmdka19kaXNwbGF5X29wZW5fZGVmYXVsdF9saWJndGtfb25seQor
ICAgZnVuOmdka19pbml0X2NoZWNrCisgICBmdW46Z2RrX2luaXQKK30KKworeworICAgWEtleXN5
bVRvU3RyaW5nIChUaGlyZCBQYXJ0eSkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjptYWxsb2MK
KyAgIGZ1bjpYS2V5c3ltVG9TdHJpbmcKK30KKworeworICAgZ190aHJlYWRfcHJveHkgKFRoaXJk
IFBhcnR5KQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOiphbGxvYworICAgLi4uCisgICBmdW46
Z190aHJlYWRfcHJveHkKK30KKworeworICAgSk5JX0NyZWF0ZUphdmFWTSAoVGhpcmQgcGFydHkp
CisgICBNZW1jaGVjazpMZWFrCisgICAuLi4KKyAgIGZ1bjpKTklfQ3JlYXRlSmF2YVZNCisgICBm
dW46SmF2YU1haW4KK30KKworeworICAgX1pMMTBqYXZhX3N0YXJ0UDZUaHJlYWQgKFRoaXJkIHBh
cnR5KQorICAgTWVtY2hlY2s6TGVhaworICAgLi4uCisgICBmdW46X1pOOFZNVGhyZWFkM3J1bkV2
CisgICBmdW46X1pMMTBqYXZhX3N0YXJ0UDZUaHJlYWQKKyAgIC4uLgorCit9CisKK3sKKyAgIC9i
aW4vamF2YSAoT3BlbkpESykgKFRoaXJkIHBhcnR5KQorICAgTWVtY2hlY2s6TGVhaworICAgLi4u
CisgICBvYmo6L3Vzci9saWIvanZtL2phdmEtNi1vcGVuamRrLWFtZDY0L2pyZS9iaW4vamF2YQor
ICAgLi4uCit9CisKK3sKKyAgIGxpYkdMLnNvIChUaGlyZCBwYXJ0eSkKKyAgIE1lbWNoZWNrOkxl
YWsKKyAgIC4uLgorICAgb2JqOiovbGliR0wuc28uKgorICAgLi4uCit9CisKK3sKKyAgIF9jYWly
b194bGliX3NobV9zdXJmYWNlX2NyZWF0ZS5pc3JhLjExIChUaGlyZCBQYXJ0eSkKKyAgIE1lbWNo
ZWNrOkxlYWsKKyAgIGZ1bjptYWxsb2MKKyAgIGZ1bjpfcGl4bWFuX2ltYWdlX2FsbG9jYXRlCisg
ICBmdW46cGl4bWFuX2ltYWdlX2NyZWF0ZV9iaXRzCisgICBmdW46X2NhaXJvX3hsaWJfc2htX3N1
cmZhY2VfY3JlYXRlLmlzcmEuMTEKK30KKworeworICAgX19uc3NfZGF0YWJhc2VfbG9va3VwIChU
aGlyZCBQYXJ0eSkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjptYWxsb2MKKyAgIGZ1bjpuc3Nf
cGFyc2Vfc2VydmljZV9saXN0CisgICBmdW46X19uc3NfZGF0YWJhc2VfbG9va3VwCisgICBvYmo6
KgorfQorCit7CisgICBnc3RfaW5pdF9jaGVjayAoVGhpcmQgUGFydHkpCisgICBNZW1jaGVjazpM
ZWFrCisgICBmdW46bWFsbG9jCisgICBmdW46Z19tYWxsb2MKKyAgIGZ1bjpnX2ludGVybl9zdHJp
bmcKKyAgIGZ1bjpfcHJpdl9nc3RfcmVnaXN0cnlfY2h1bmtzX2xvYWRfcGx1Z2luCisgICBmdW46
ZXhjaGFuZ2VfcGFja2V0cworICAgZnVuOnBsdWdpbl9sb2FkZXJfbG9hZAorICAgZnVuOmdzdF9y
ZWdpc3RyeV9zY2FuX3BsdWdpbl9maWxlCisgICBmdW46Z3N0X3JlZ2lzdHJ5X3NjYW5fcGF0aF9s
ZXZlbAorICAgZnVuOmdzdF9yZWdpc3RyeV9zY2FuX3BhdGhfaW50ZXJuYWwKKyAgIGZ1bjpnc3Rf
dXBkYXRlX3JlZ2lzdHJ5CisgICBmdW46aW5pdF9wb3N0CisgICBmdW46Z19vcHRpb25fY29udGV4
dF9wYXJzZQorICAgZnVuOmdzdF9pbml0X2NoZWNrCisKK30KKworeworICAgZ190YXNrX3J1bl9p
bl90aHJlYWQgKFRoaXJkIFBhcnR5KQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOm1hbGxvYwor
ICAgZnVuOmdfbWFsbG9jCisgICBmdW46Z19zbGljZV9hbGxvYworICAgZnVuOmdfc2xpY2VfYWxs
b2MwCisgICBmdW46Z19zeXN0ZW1fdGhyZWFkX25ldworICAgZnVuOmdfdGhyZWFkX25ld19pbnRl
cm5hbAorICAgZnVuOmdfdGhyZWFkX3Bvb2xfc3RhcnRfdGhyZWFkCisgICBmdW46Z190aHJlYWRf
cG9vbF9wdXNoCisgICBmdW46Z190YXNrX3N0YXJ0X3Rhc2tfdGhyZWFkCisgICBmdW46Z190YXNr
X3J1bl9pbl90aHJlYWQKK30KKworeworICAgIyBMYXJnZSBsZWFrIGluIGNhaXJvX2ltYWdlX3N1
cmZhY2VfY3JlYXRlCisgICBfY2Fpcm9faW1hZ2Vfc3VyZmFjZV9jcmVhdGVfd2l0aF9waXhtYW5f
Zm9ybWF0IChUaGlyZCBQYXJ0eSkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjptYWxsb2MKKyAg
IGZ1bjpfY2Fpcm9faW1hZ2Vfc3VyZmFjZV9jcmVhdGVfZm9yX3BpeG1hbl9pbWFnZQorICAgZnVu
Ol9jYWlyb19pbWFnZV9zdXJmYWNlX2NyZWF0ZV93aXRoX3BpeG1hbl9mb3JtYXQKKyAgIGZ1bjpf
Wk43V2ViQ29yZTIxY29weUNhaXJvSW1hZ2VTdXJmYWNlRVAxNF9jYWlyb19zdXJmYWNlCit9CisK
KworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCisjIDIuIEludGVudGlvbmFsIHVuaXQgdGVzdCBlcnJvcnMsIGZh
bHNlIHBvc2l0aXZlcworIyBpbiBvdXIgb3duIGNvZGUsIG9yIGxlYWtzIHRoYXQgYXJlIHNvIHRy
aXZpYWwgdGhleSBhcmUgbm90IHdvcnRoIGZpeGluZy4KKworeworICAgIyBBY2NvcmRpbmcgdG8g
ZGdsYXprb3YsIHRoZXNlIGFyZSBvbmUtdGltZSBsZWFrcyBhbmQgaW50ZW50aW9uYWwuCisgICAj
IFRoZXkgbWF5IGdvIGF3YXkgaWYgdGhlIGNoYW5nZSB0byBtb3ZlIHRoZXNlIG9mZiB0aGUgaGVh
cCBsYW5kcy4KKyAgIFdlYkNvcmU6OlNWR05hbWVzOjppbml0IChJbnRlbnRpb25hbCkKKyAgIE1l
bWNoZWNrOkxlYWsKKyAgIC4uLgorICAgZnVuOl9aTjdXZWJDb3JlOFNWR05hbWVzNGluaXRFdgor
fQorCit7CisgICAjIFRoaXMgaXMgYW4gb24gZGVtYW5kIGluaXRpYWxpemF0aW9uIHdoaWNoIGlz
IGRvbmUgYW5kIHRoZW4gaW50ZW50aW9uYWxseQorICAgIyBrZXB0IGFyb3VuZCAobm90IGZyZWVk
KSB3aGlsZSB0aGUgcHJvY2VzcyBpcyBydW5uaW5nLgorICAgV2ViQ29yZTo6WE1MTmFtZXM6Omlu
aXQgKEludGVudGlvbmFsKQorICAgTWVtY2hlY2s6TGVhaworICAgLi4uCisgICBmdW46X1pON1dl
YkNvcmU4WE1MTmFtZXM0aW5pdEV2Cit9CisKK3sKKyAgICMgVGhpcyBpcyBXZWJLaXQgd2lkZSB0
aGVhZGluZyBpbml0aWFsaXphdGlvbiB3aGljaCBpcyBpbnRlbnRpb25hbGx5IGtlcHQKKyAgICMg
YXJvdW5kIChub3QgZnJlZWQpIHdoaWxlIHRoZSBwcm9jZXNzIGlzIHJ1bm5pbmcuCisgICBXVEY6
OlRocmVhZElkZW50aWZpZXJEYXRhOjppbml0aWFsaXplKCkgKEludGVudGlvbmFsKQorICAgTWVt
Y2hlY2s6TGVhaworICAgLi4uCisgICBmdW46X1pOM1dURjIwVGhyZWFkSWRlbnRpZmllckRhdGEx
MGluaXRpYWxpemVFagorfQorCit7CisgICAjIFRoaXMgaXMgV2ViS2l0IHdpZGUgdGhlYWRpbmcg
aW5pdGlhbGl6YXRpb24gd2hpY2ggaXMgaW50ZW50aW9uYWxseSBrZXB0CisgICAjIGFyb3VuZCAo
bm90IGZyZWVkKSB3aGlsZSB0aGUgcHJvY2VzcyBpcyBydW5uaW5nLgorICAgV1RGOjpUaHJlYWRE
YXRhIChJbnRlbnRpb25hbCkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4uLgorICAgZnVuOl9aTjNX
VEYxM3d0ZlRocmVhZERhdGFFdgorfQorCit7CisgICBXVEY6OkJpdFZlY3RvciAoSW50ZW50aW9u
YWwpCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46bWFsbG9jCisgICBmdW46X1pOM1dURjEwZmFz
dE1hbGxvY0VtCisgICBmdW46X1pOM1dURjlCaXRWZWN0b3IxM091dE9mTGluZUJpdHM2Y3JlYXRl
RW0KKyAgIGZ1bjpfWk4zV1RGOUJpdFZlY3RvcjE1cmVzaXplT3V0T2ZMaW5lRW0KKyAgIGZ1bjpf
Wk4zV1RGOUJpdFZlY3RvcjEwZW5zdXJlU2l6ZUVtCisgICBmdW46X1pOM1dURjlCaXRWZWN0b3JD
MUVtCit9CisKK3sKKyAgICMgV1RGOjpUaHJlYWRTcGVjaWZpYyBsZWFrcyBhIGZldyBieXRlcyBh
dCBhIHRpbWUuCisgICBXVEY6OlRocmVhZFNwZWNpZmljOjpzZXQoKSAoSW50ZW50aW9uYWwpCisg
ICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoKKyAgIGZ1bjpfWk4zV1RGMTRUaHJlYWRTcGVj
aWZpY0liRTNzZXRFUGIKKyAgIGZ1bjpfWk4zV1RGMTRUaHJlYWRTcGVjaWZpY0liRWN2UGJFdgor
ICAgZnVuOl9aTjNXVEYxNFRocmVhZFNwZWNpZmljSWJFZGVFdgorICAgZnVuOl9aTjNXVEYxNnJl
Z2lzdGVyR0NUaHJlYWRFdgorICAgZnVuOl9aTjNKU0M4R0NUaHJlYWQxMmdjVGhyZWFkTWFpbkV2
CisgICBmdW46X1pOM0pTQzhHQ1RocmVhZDE3Z2NUaHJlYWRTdGFydEZ1bmNFUHYKKyAgIGZ1bjpf
Wk4zV1RGTDE2dGhyZWFkRW50cnlQb2ludEVQdgorfQorCit7CisgICAjIERPTU9iamVjdENhY2hl
IG1lbW9yeSBpcyBub3QgZnJlZWQuCisgICB3ZWJraXRfZG9tX2RvY3VtZW50X2dldF9kZWZhdWx0
X3ZpZXcgKEludGVudGlvbmFsKQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOm1hbGxvYworICAg
ZnVuOmdfbWFsbG9jCisgICBmdW46Z19zbGljZV9hbGxvYworICAgZnVuOl9aTjZXZWJLaXQxNERP
TU9iamVjdENhY2hlM3B1dEVQdlMxXworICAgZnVuOl9aTDMzd2Via2l0X2RvbV9kb21fd2luZG93
X2NvbnN0cnVjdG9ybWpQMjJfR09iamVjdENvbnN0cnVjdFBhcmFtCisgICBmdW46Z19vYmplY3Rf
bmV3dgorICAgZnVuOmdfb2JqZWN0X25ld192YWxpc3QKKyAgIGZ1bjpnX29iamVjdF9uZXcKKyAg
IGZ1bjpfWk42V2ViS2l0MTN3cmFwRE9NV2luZG93RVBON1dlYkNvcmU5RE9NV2luZG93RQorICAg
ZnVuOndlYmtpdF9kb21fZG9jdW1lbnRfZ2V0X2RlZmF1bHRfdmlldworIH0KKworIy0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCisjIDMuIFN1cHByZXNzaW9ucyBmb3IgcmVhbCB3ZWJraXQgYnVncyB0aGF0IGFyZSBu
b3QgeWV0IGZpeGVkLgorIyBUaGVzZSBzaG91bGQgYWxsIGJlIGluIHdlYmtpdCdzIGJ1ZyB0cmFj
a2luZyBzeXN0ZW0gKGJ1dCBhIGZldyBhcmVuJ3QgeWV0KS4KKworeworICAgIyBBdGtQcm9wZXJ0
eSBpcyBjYWNoZWQgYnV0IG5vdCByZWxlYXNlZCAoc2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMTg1NjcjYzIpLgorICAgY2FjaGVBbmRSZXR1cm5BdGtQcm9wZXJ0
eQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOm1hbGxvYworICAgZnVuOl9aTjNXVEYxMGZhc3RN
YWxsb2NFbQorICAgZnVuOl9aTjNXVEYxM0NTdHJpbmdCdWZmZXIxOWNyZWF0ZVVuaW5pdGlhbGl6
ZWRFbQorICAgZnVuOl9aTjNXVEY3Q1N0cmluZzRpbml0RVBLY20KKyAgIGZ1bjpfWk4zV1RGN0NT
dHJpbmdDMUVQS2NtCisgICBmdW46X1pOSzNXVEY2U3RyaW5nNHV0ZjhFTlMwXzE0Q29udmVyc2lv
bk1vZGVFCisgICBmdW46Y2FjaGVBbmRSZXR1cm5BdGtQcm9wZXJ0eQorfQorCit7CisgICAjIEF0
a1JlbGF0aW9uU2V0IGlzIG5ldmVyIGZyZWVkIGJlY2F1c2UgdGhlIHRhcmdldCBBdGtPYmplY3Qg
aXMKKyAgICMgY2FjaGVkLiBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTExODU2Ny4KKyAgIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnRpdGxlKCkKKyAgIE1lbWNo
ZWNrOkxlYWsKKyAgIGZ1bjptYWxsb2MKKyAgIC4uLgorICAgZnVuOmdfb2JqZWN0X3dlYWtfcmVm
CisgICBmdW46YXRrX3JlbGF0aW9uX3NldF9wcm9wZXJ0eQorICAgZnVuOmdfb2JqZWN0X25ld3YK
KyAgIGZ1bjpnX29iamVjdF9uZXdfdmFsaXN0CisgICBmdW46Z19vYmplY3RfbmV3CisgICBmdW46
YXRrX3JlbGF0aW9uX25ldworICAgZnVuOmF0a19yZWxhdGlvbl9zZXRfYWRkX3JlbGF0aW9uX2J5
X3R5cGUKKyAgIGZ1bjpfWkwzMXNldEF0a1JlbGF0aW9uU2V0RnJvbUNvcmVPYmplY3RQTjdXZWJD
b3JlMTlBY2Nlc3NpYmlsaXR5T2JqZWN0RVAxNV9BdGtSZWxhdGlvblNldAorICAgZnVuOl9aTDMw
d2Via2l0QWNjZXNzaWJsZVJlZlJlbGF0aW9uU2V0UDEwX0F0a09iamVjdAorICAgZnVuOl9aTjIy
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDE0dGl0bGVVSUVsZW1lbnRFdgorfQorCit7CisgICAjIExl
YWsgaW4gd2Via2l0QWNjZXNzaWJsZU5ldyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTE4MzgyCisgICB3ZWJraXRBY2Nlc3NpYmxlTmV3CisgICBNZW1jaGVjazpMZWFr
CisgICBmdW46KmFsbG9jCisgICAuLi4KKyAgIGZ1bjp3ZWJraXRBY2Nlc3NpYmxlTmV3Cit9CisK
K3sKKyAgICMgTGVhayBBVEsgdGV4dCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTE4Mzg1CisgICB3ZWJraXRBY2Nlc3NpYmxlVGV4dEdldFRleHQKKyAgIE1lbWNoZWNr
OkxlYWsKKyAgIGZ1bjptYWxsb2MKKyAgIGZ1bjpnX21hbGxvYworICAgZnVuOmdfc3RyZHVwCisg
ICBmdW46X1pMMjd3ZWJraXRBY2Nlc3NpYmxlVGV4dEdldFRleHRQOF9BdGtUZXh0aWkKKyAgIGZ1
bjpfWkwyM3dlYmtpdEFjY2Vzc2libGVHZXROYW1lUDEwX0F0a09iamVjdAorfQorCit7CisgICAj
IExlYWsgUGx1Z2luT2JqZWN0IGluIGV4Y2VwdGlvbmFsIGNpcmN1bXN0YW5jZXMgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExODUyOAorICAgV2ViQ29yZTo6UGx1Z2lu
Vmlldzo6c3RhcnQoKQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOm1hbGxvYworICAgZnVuOl9a
TDE0cGx1Z2luQWxsb2NhdGVQNF9OUFBQN05QQ2xhc3MKKyAgIGZ1bjpfTlBOX0NyZWF0ZU9iamVj
dAorICAgZnVuOk5QUF9OZXcKKyAgIGZ1bjpfWk43V2ViQ29yZTEwUGx1Z2luVmlldzVzdGFydEV2
Cit9CisKK3sKKyAgICMgVGV4dENvZGVjSUNVOjpyZWdpc3RlckNvZGVjcyBpcyBsZWFraW5nIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTg1MDUKKyAgIFdlYkNvcmU6
OlRleHRDb2RlYzo6cmVnaXN0ZXJDb2RlY3MoKQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOm1h
bGxvYworICAgZnVuOl9aTjNXVEYxMGZhc3RNYWxsb2NFbQorICAgZnVuOl9aTjNXVEYxMGZhc3RT
dHJEdXBFUEtjCisgICBmdW46X1pON1dlYkNvcmUxMlRleHRDb2RlY0lDVTE0cmVnaXN0ZXJDb2Rl
Y3NFUEZ2UEtjUEZOM1dURjEwUGFzc093blB0cklOU185VGV4dENvZGVjRUVFUktOU18xMlRleHRF
bmNvZGluZ0VQS3ZFU0JfRQorfQorCit7CisgICAjIER1bXBSZW5kZXJUcmVlIFdlYktpdFdlYlZp
ZXcgaXMgbGVha2VkCisgICB3ZWJWaWV3Q3JlYXRlCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46
bWFsbG9jCisgICBmdW46Z19tYWxsb2MKKyAgIGZ1bjpnX3NsaWNlX2FsbG9jCisgICBmdW46Z19z
bGlzdF9wcmVwZW5kCisgICBmdW46X1pMMTN3ZWJWaWV3Q3JlYXRlUDE0X1dlYktpdFdlYlZpZXdQ
MTVfV2ViS2l0V2ViRnJhbWUKKyAgIGZ1bjp3ZWJraXRfbWFyc2hhbF9PQkpFQ1RfX09CSkVDVAor
ICAgZnVuOmdfY2xvc3VyZV9pbnZva2UKKyAgIGZ1bjpzaWduYWxfZW1pdF91bmxvY2tlZF9SCisg
ICBmdW46Z19zaWduYWxfZW1pdF92YWxpc3QKKyAgIGZ1bjpnX3NpZ25hbF9lbWl0X2J5X25hbWUK
KyAgIGZ1bjpfWk42V2ViS2l0MTJDaHJvbWVDbGllbnQxMmNyZWF0ZVdpbmRvd0VQTjdXZWJDb3Jl
NUZyYW1lRVJLTlMxXzE2RnJhbWVMb2FkUmVxdWVzdEVSS05TMV8xNFdpbmRvd0ZlYXR1cmVzRVJL
TlMxXzE2TmF2aWdhdGlvbkFjdGlvbkUKKyAgIGZ1bjpfWk5LN1dlYkNvcmU2Q2hyb21lMTJjcmVh
dGVXaW5kb3dFUE5TXzVGcmFtZUVSS05TXzE2RnJhbWVMb2FkUmVxdWVzdEVSS05TXzE0V2luZG93
RmVhdHVyZXNFUktOU18xNk5hdmlnYXRpb25BY3Rpb25FCisgICBmdW46X1pON1dlYkNvcmUxMmNy
ZWF0ZVdpbmRvd0VQTlNfNUZyYW1lRVMxX1JLTlNfMTZGcmFtZUxvYWRSZXF1ZXN0RVJLTlNfMTRX
aW5kb3dGZWF0dXJlc0VSYgorICAgZnVuOl9aTjdXZWJDb3JlOURPTVdpbmRvdzEyY3JlYXRlV2lu
ZG93RVJLTjNXVEY2U3RyaW5nRVJLTlMxXzEyQXRvbWljU3RyaW5nRVJLTlNfMTRXaW5kb3dGZWF0
dXJlc0VQUzBfUE5TXzVGcmFtZUVTRF9QRnZTQl9QdkVTRV8KKyAgIGZ1bjpfWk43V2ViQ29yZTlE
T01XaW5kb3c0b3BlbkVSS04zV1RGNlN0cmluZ0VSS05TMV8xMkF0b21pY1N0cmluZ0VTNF9QUzBf
UzhfCisgICBmdW46X1pON1dlYkNvcmUxMUpTRE9NV2luZG93NG9wZW5FUE4zSlNDOUV4ZWNTdGF0
ZUUKKyAgIGZ1bjpfWk43V2ViQ29yZTMyanNET01XaW5kb3dQcm90b3R5cGVGdW5jdGlvbk9wZW5F
UE4zSlNDOUV4ZWNTdGF0ZUUKKyB9CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L3BvcnQvZ3RrLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2d0ay5weQppbmRleCA1
MDZhMmFiMWIzMzNjYmI0Yzc5MmY3NmQzZTZmZTI0OTQ3NWVmMzc2Li5iNDg1Yjc0MTgyMjkxYTIw
ZDc5ZmE2MTBlMDllNzgwNGM4NTM0MWY0IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L3BvcnQvZ3RrLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9ndGsucHkK
QEAgLTcwLDYgKzcwLDEyIEBAIGNsYXNzIEd0a1BvcnQoUG9ydCk6CiAgICAgICAgICAgICByZXR1
cm4gbXVsdGlwbGllciAqIDEyICogMTAwMAogICAgICAgICByZXR1cm4gbXVsdGlwbGllciAqIDYg
KiAxMDAwCiAKKyAgICBkZWYgZHJpdmVyX3N0b3BfdGltZW91dChzZWxmKToKKyAgICAgICAgaWYg
c2VsZi5nZXRfb3B0aW9uKCJsZWFrcyIpOgorICAgICAgICAgICAgIyBXYWl0IHRoZSBkZWZhdWx0
IHRpbWVvdXQgdGltZSBiZWZvcmUga2lsbGluZyB0aGUgcHJvY2VzcyBpbiBkcml2ZXIuc3RvcCgp
LgorICAgICAgICAgICAgcmV0dXJuIHNlbGYuZGVmYXVsdF90aW1lb3V0X21zKCkKKyAgICAgICAg
cmV0dXJuIHN1cGVyKEd0a1BvcnQsIHNlbGYpLmRyaXZlcl9zdG9wX3RpbWVvdXQoKQorCiAgICAg
ZGVmIHNldHVwX3Rlc3RfcnVuKHNlbGYpOgogICAgICAgICBzdXBlcihHdGtQb3J0LCBzZWxmKS5z
ZXR1cF90ZXN0X3J1bigpCiAgICAgICAgIHNlbGYuX3B1bHNlYXVkaW9fc2FuaXRpemVyLnVubG9h
ZF9wdWxzZWF1ZGlvX21vZHVsZSgpCkBAIC05NCw2ICsxMDAsNyBAQCBjbGFzcyBHdGtQb3J0KFBv
cnQpOgogICAgICAgICAgICAgZW52aXJvbm1lbnRbJ0dfREVCVUcnXSA9ICdnYy1mcmllbmRseScK
ICAgICAgICAgICAgIHhtbGZpbGVuYW1lID0gIiIuam9pbigoImRydC0lcC0iLCB1dWlkLnV1aWQx
KCkuaGV4LCAiLWxlYWtzLnhtbCIpKQogICAgICAgICAgICAgeG1sZmlsZSA9IG9zLnBhdGguam9p
bihzZWxmLnJlc3VsdHNfZGlyZWN0b3J5KCksIHhtbGZpbGVuYW1lKQorICAgICAgICAgICAgc3Vw
cHJlc3Npb25zZmlsZSA9IHNlbGYucGF0aF9mcm9tX3dlYmtpdF9iYXNlKCdUb29scycsICdTY3Jp
cHRzJywgJ3ZhbGdyaW5kJywgJ3N1cHByZXNzaW9ucy50eHQnKQogICAgICAgICAgICAgZW52aXJv
bm1lbnRbJ1ZBTEdSSU5EX09QVFMnXSA9IFwKICAgICAgICAgICAgICAgICAiLS10b29sPW1lbWNo
ZWNrICIgXAogICAgICAgICAgICAgICAgICItLW51bS1jYWxsZXJzPTQwICIgXApAQCAtMTA4LDcg
KzExNSw4IEBAIGNsYXNzIEd0a1BvcnQoUG9ydCk6CiAgICAgICAgICAgICAgICAgIi0tdW5kZWYt
dmFsdWUtZXJyb3JzPW5vICIgXAogICAgICAgICAgICAgICAgICItLWdlbi1zdXBwcmVzc2lvbnM9
YWxsICIgXAogICAgICAgICAgICAgICAgICItLXhtbD15ZXMgIiBcCi0gICAgICAgICAgICAgICAg
Ii0teG1sLWZpbGU9XCIlc1wiICIgJSAoeG1sZmlsZSkKKyAgICAgICAgICAgICAgICAiLS14bWwt
ZmlsZT1cIiVzXCIgIiBcCisgICAgICAgICAgICAgICAgIi0tc3VwcHJlc3Npb25zPSVzIiAlICh4
bWxmaWxlLCBzdXBwcmVzc2lvbnNmaWxlKQogICAgICAgICByZXR1cm4gZW52aXJvbm1lbnQKIAog
ICAgIGRlZiBfZ2VuZXJhdGVfYWxsX3Rlc3RfY29uZmlndXJhdGlvbnMoc2VsZik6Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>