<?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>171211</bug_id>
          
          <creation_ts>2017-04-23 20:32:17 -0700</creation_ts>
          <short_desc>Image decoders must have private constructors to avoid refcount misuse: ASSERTION FAILED: m_deletionHasBegun when destroying ImageDecoder</short_desc>
          <delta_ts>2017-04-25 07:30:47 -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>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=171205</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Catanzaro">mcatanzaro</reporter>
          <assigned_to name="Miguel Gomez">magomez</assigned_to>
          <cc>bugs-noreply</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>magomez</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>sabouhallawa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1300408</commentid>
    <comment_count>0</comment_count>
      <attachid>307949</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-04-23 20:32:17 -0700</bug_when>
    <thetext>Created attachment 307949
backtrace

When loading http://midori-browser.org/

ASSERTION FAILED: m_deletionHasBegun
../../Source/WTF/wtf/RefCounted.h(84) : WTF::RefCountedBase::~RefCountedBase()

Backtrace attached</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1300412</commentid>
    <comment_count>1</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-04-23 20:38:05 -0700</bug_when>
    <thetext>Note that this is a *UI process* assertion. Apparently image decoders are used in the UI process for the favicon database. This is surprising and unexpected to me, since I would not expect this security-critical code to be running in the UI process. I suppose we need to render those favicons somehow, but it should happen in a constrained secondary process where only the result is passed back to the UI process. This is what we do in gdk-pixbuf now, so that the image decoders can be sandboxed with seccomp filters. Of course, that&apos;s a much larger challenge for another bug report... in this bug we should just fix this assertion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1300414</commentid>
    <comment_count>2</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-04-23 20:48:37 -0700</bug_when>
    <thetext>So the problem here is that the PNGImageDecoder is being deleted before its refcount has fallen to zero, because it&apos;s being stored in a std::unique_ptr. That&apos;s wrong, it needs to be stored in a Ref or RefPtr.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1300418</commentid>
    <comment_count>3</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-04-23 21:01:44 -0700</bug_when>
    <thetext>Also note that this was easily-preventable, it&apos;s why we require that refcounted objects have create functions and private constructors. It looks like all the image decoder classes violate this rule. Fixing this bug thoroughly would entail not just replacing the use of unique_ptr with Ref or RefPtr, but also adding create functions to all the image decoders and making the constructors private in order to ensure this never happens again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1300444</commentid>
    <comment_count>4</comment_count>
    <who name="Miguel Gomez">magomez</who>
    <bug_when>2017-04-24 00:32:39 -0700</bug_when>
    <thetext>Weird, I didn&apos;t know ICOImageDecoder would use a PNGImageDecoder inside. Anyway, we already have a create function in ImageDecoder that returns RefPtr, but ICOImageDecoder is not using it at the moment, but directly instantiates the PNGImageDecoder.

Changing ICOImageDecoder to use ImageDecoder::create shouldn&apos;t be too complicated. I&apos;ll give it a look as soon as I can.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1300495</commentid>
    <comment_count>5</comment_count>
      <attachid>307975</attachid>
    <who name="Miguel Gomez">magomez</who>
    <bug_when>2017-04-24 07:37:19 -0700</bug_when>
    <thetext>Created attachment 307975
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1300501</commentid>
    <comment_count>6</comment_count>
      <attachid>307975</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-04-24 08:18:52 -0700</bug_when>
    <thetext>Comment on attachment 307975
Patch

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

To prevent this from happening again, I would make all constructors private to force everybody to use the create() functions.

&gt; Source/WebCore/platform/graphics/ImageTypes.h:82
&gt; +enum class ImageFormat {
&gt; +    ImageFormatGIF,
&gt; +    ImageFormatPNG,
&gt; +    ImageFormatICO,
&gt; +    ImageFormatCUR,
&gt; +    ImageFormatJPEG,
&gt; +    ImageFormatWEBP,
&gt; +    ImageFormatBMP

When using enum class, including the class name in the elements is redundant, ImageFormat::GIF, ImageFormat::PNG looks better, IMO.

&gt; Source/WebCore/platform/image-decoders/ImageDecoder.cpp:149
&gt; +    default:
&gt; +        return nullptr;

This should never happen, I think we should return the default and make this return a Ref&lt;&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1300510</commentid>
    <comment_count>7</comment_count>
      <attachid>307975</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-04-24 08:55:02 -0700</bug_when>
    <thetext>Comment on attachment 307975
Patch

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

Thanks Miguel!

Yeah, private constructors please.

&gt;&gt; Source/WebCore/platform/image-decoders/ImageDecoder.cpp:149
&gt;&gt; +        return nullptr;
&gt; 
&gt; This should never happen, I think we should return the default and make this return a Ref&lt;&gt;

What do you mean by &quot;return the default&quot;... is there a default image decoder? I would do RELEASE_ASSERT_NOT_REACHED().

&gt; Source/WebCore/platform/image-decoders/ico/ICOImageDecoder.h:142
&gt; +        typedef Vector&lt;RefPtr&lt;ImageDecoder&gt;&gt; PNGDecoders;

So if you take Carlos&apos;s suggestion, then this should use Ref rather than RefPtr.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1300518</commentid>
    <comment_count>8</comment_count>
      <attachid>307975</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-04-24 09:08:08 -0700</bug_when>
    <thetext>Comment on attachment 307975
Patch

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

&gt;&gt;&gt; Source/WebCore/platform/image-decoders/ImageDecoder.cpp:149
&gt;&gt;&gt; +        return nullptr;
&gt;&gt; 
&gt;&gt; This should never happen, I think we should return the default and make this return a Ref&lt;&gt;
&gt; 
&gt; What do you mean by &quot;return the default&quot;... is there a default image decoder? I would do RELEASE_ASSERT_NOT_REACHED().

Oops, sorry I meant remove the default</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1300519</commentid>
    <comment_count>9</comment_count>
    <who name="Miguel Gomez">magomez</who>
    <bug_when>2017-04-24 09:10:53 -0700</bug_when>
    <thetext>&gt; To prevent this from happening again, I would make all constructors private
&gt; to force everybody to use the create() functions.

Sure, I&apos;ll change that.
 
&gt; &gt; Source/WebCore/platform/graphics/ImageTypes.h:82
&gt; &gt; +enum class ImageFormat {
&gt; &gt; +    ImageFormatGIF,
&gt; &gt; +    ImageFormatPNG,
&gt; &gt; +    ImageFormatICO,
&gt; &gt; +    ImageFormatCUR,
&gt; &gt; +    ImageFormatJPEG,
&gt; &gt; +    ImageFormatWEBP,
&gt; &gt; +    ImageFormatBMP
&gt; 
&gt; When using enum class, including the class name in the elements is
&gt; redundant, ImageFormat::GIF, ImageFormat::PNG looks better, IMO.

Indeed, and I had that until the style checker started to complain, that&apos;s why I added the ImageFormat thing.

&gt; &gt; Source/WebCore/platform/image-decoders/ImageDecoder.cpp:149
&gt; &gt; +    default:
&gt; &gt; +        return nullptr;
&gt; 
&gt; This should never happen, I think we should return the default and make this
&gt; return a Ref&lt;&gt;

mmmm actually Michael is right and there&apos;s no default, so an assertion makes more sense.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1300523</commentid>
    <comment_count>10</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-04-24 09:22:25 -0700</bug_when>
    <thetext>(In reply to Miguel Gomez from comment #9)
&gt; &gt; To prevent this from happening again, I would make all constructors private
&gt; &gt; to force everybody to use the create() functions.
&gt; 
&gt; Sure, I&apos;ll change that.
&gt;  
&gt; &gt; &gt; Source/WebCore/platform/graphics/ImageTypes.h:82
&gt; &gt; &gt; +enum class ImageFormat {
&gt; &gt; &gt; +    ImageFormatGIF,
&gt; &gt; &gt; +    ImageFormatPNG,
&gt; &gt; &gt; +    ImageFormatICO,
&gt; &gt; &gt; +    ImageFormatCUR,
&gt; &gt; &gt; +    ImageFormatJPEG,
&gt; &gt; &gt; +    ImageFormatWEBP,
&gt; &gt; &gt; +    ImageFormatBMP
&gt; &gt; 
&gt; &gt; When using enum class, including the class name in the elements is
&gt; &gt; redundant, ImageFormat::GIF, ImageFormat::PNG looks better, IMO.
&gt; 
&gt; Indeed, and I had that until the style checker started to complain, that&apos;s
&gt; why I added the ImageFormat thing.
&gt; 
&gt; &gt; &gt; Source/WebCore/platform/image-decoders/ImageDecoder.cpp:149
&gt; &gt; &gt; +    default:
&gt; &gt; &gt; +        return nullptr;
&gt; &gt; 
&gt; &gt; This should never happen, I think we should return the default and make this
&gt; &gt; return a Ref&lt;&gt;
&gt; 
&gt; mmmm actually Michael is right and there&apos;s no default, so an assertion makes
&gt; more sense.

I meant remove the default, because there&apos;s no default. If you remove the default it will fail at compile time if new type is added.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1300941</commentid>
    <comment_count>11</comment_count>
      <attachid>308078</attachid>
    <who name="Miguel Gomez">magomez</who>
    <bug_when>2017-04-25 02:30:48 -0700</bug_when>
    <thetext>Created attachment 308078
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1300982</commentid>
    <comment_count>12</comment_count>
      <attachid>308078</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-04-25 05:35:22 -0700</bug_when>
    <thetext>Comment on attachment 308078
Patch

Clearing flags on attachment: 308078

Committed r215729: &lt;http://trac.webkit.org/changeset/215729&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1300983</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-04-25 05:35:23 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1301001</commentid>
    <comment_count>14</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-04-25 07:30:47 -0700</bug_when>
    <thetext>Awesome, thanks!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>307949</attachid>
            <date>2017-04-23 20:32:17 -0700</date>
            <delta_ts>2017-04-23 20:32:17 -0700</delta_ts>
            <desc>backtrace</desc>
            <filename>gdb.txt</filename>
            <type>text/plain</type>
            <size>16147</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">IzAgIDB4MDAwMDdmY2VhZTJiYWUzNiBpbiBXVEZDcmFzaCAoKQogICAgYXQgLi4vLi4vU291cmNl
L1dURi93dGYvQXNzZXJ0aW9ucy5jcHA6MzIzCk5vIGxvY2Fscy4KIzEgIDB4MDAwMDdmY2ViNjgw
OTkwZCBpbiBXVEY6OlJlZkNvdW50ZWRCYXNlOjp+UmVmQ291bnRlZEJhc2UgKAogICAgdGhpcz0w
eDdmY2U0ZDNlMzAwOCwgX19pbl9jaHJnPTxvcHRpbWl6ZWQgb3V0PikKICAgIGF0IC4uLy4uL1Nv
dXJjZS9XVEYvd3RmL1JlZkNvdW50ZWQuaDo4NApObyBsb2NhbHMuCiMyICAweDAwMDA3ZmNlYjg1
YWIzZWMgaW4gV1RGOjpSZWZDb3VudGVkPFdlYkNvcmU6OkltYWdlRGVjb2Rlcj46On5SZWZDb3Vu
dGVkICgKICAgIHRoaXM9MHg3ZmNlNGQzZTMwMDgsIF9faW5fY2hyZz08b3B0aW1pemVkIG91dD4p
CiAgICBhdCAuLi8uLi9Tb3VyY2UvV1RGL3d0Zi9SZWZDb3VudGVkLmg6MTUyCk5vIGxvY2Fscy4K
IzMgIDB4MDAwMDdmY2ViODVhYWZjNCBpbiAoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkltYWdlRGVj
b2Rlcjo6fkltYWdlRGVjb2RlciAoCiAgICB0aGlzPTB4N2ZjZTRkM2UzMDAwLCBfX2luX2Nocmc9
PG9wdGltaXplZCBvdXQ+KQogICAgYXQgLi4vLi4vU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1h
Z2UtZGVjb2RlcnMvSW1hZ2VEZWNvZGVyLmg6NjAKTm8gbG9jYWxzLgojNCAgMHgwMDAwN2ZjZWI4
NWJjNDQ4IGluIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6UE5HSW1hZ2VEZWNvZGVyOjp+UE5HSW1h
Z2VEZWNvZGVyICh0aGlzPTB4N2ZjZTRkM2UzMDAwLCBfX2luX2Nocmc9PG9wdGltaXplZCBvdXQ+
KQogICAgYXQgLi4vLi4vU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvcG5n
L1BOR0ltYWdlRGVjb2Rlci5jcHA6MjI2Ck5vIGxvY2Fscy4KIzUgIDB4MDAwMDdmY2ViODViYzQ2
NCBpbiAoYW5vbnltb3VzIG5hbWVzcGFjZSk6OlBOR0ltYWdlRGVjb2Rlcjo6flBOR0ltYWdlRGVj
b2RlciAodGhpcz0weDdmY2U0ZDNlMzAwMCwgX19pbl9jaHJnPTxvcHRpbWl6ZWQgb3V0PikKICAg
IGF0IC4uLy4uL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL3BuZy9QTkdJ
bWFnZURlY29kZXIuY3BwOjIyOApObyBsb2NhbHMuCiM2ICAweDAwMDA3ZmNlYjg1YjgwYzcgaW4g
c3RkOjpkZWZhdWx0X2RlbGV0ZTxXZWJDb3JlOjpQTkdJbWFnZURlY29kZXI+OjpvcGVyYXRvcigp
ICh0aGlzPTB4N2ZjZTlmOGY4ZjgwLCBfX3B0cj0weDdmY2U0ZDNlMzAwMCkKICAgIGF0IC91c3Iv
aW5jbHVkZS9jKysvNi4zLjEvYml0cy91bmlxdWVfcHRyLmg6NzYKTm8gbG9jYWxzLgojNyAgMHgw
MDAwN2ZjZWI4NWI3MzQzIGluIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpQTkdJbWFnZURlY29k
ZXIsIHN0ZDo6ZGVmYXVsdF9kZWxldGU8V2ViQ29yZTo6UE5HSW1hZ2VEZWNvZGVyPiA+Ojp+dW5p
cXVlX3B0ciAodGhpcz0weDdmY2U5ZjhmOGY4MCwgCiAgICBfX2luX2Nocmc9PG9wdGltaXplZCBv
dXQ+KSBhdCAvdXNyL2luY2x1ZGUvYysrLzYuMy4xL2JpdHMvdW5pcXVlX3B0ci5oOjIzOQogICAg
ICAgIF9fcHRyID0gQDB4N2ZjZTlmOGY4ZjgwOiAweDdmY2U0ZDNlMzAwMAojOCAgMHgwMDAwN2Zj
ZWI4NWI4NjQ3IGluIFdURjo6VmVjdG9yRGVzdHJ1Y3Rvcjx0cnVlLCBzdGQ6OnVuaXF1ZV9wdHI8
V2ViQ29yZTo6UE5HSW1hZ2VEZWNvZGVyLCBzdGQ6OmRlZmF1bHRfZGVsZXRlPFdlYkNvcmU6OlBO
R0ltYWdlRGVjb2Rlcj4gPiA+OjpkZXN0cnVjdCAoCiAgICBiZWdpbj0weDdmY2U5ZjhmOGY4MCwg
ZW5kPTB4N2ZjZTlmOGY4ZjkwKQogICAgYXQgLi4vLi4vU291cmNlL1dURi93dGYvVmVjdG9yLmg6
NTkKICAgICAgICBjdXIgPSAweDdmY2U5ZjhmOGY4MAojOSAgMHgwMDAwN2ZjZWI4NWI3OTU0IGlu
IFdURjo6VmVjdG9yVHlwZU9wZXJhdGlvbnM8c3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OlBOR0lt
YWdlRGVjb2Rlciwgc3RkOjpkZWZhdWx0X2RlbGV0ZTxXZWJDb3JlOjpQTkdJbWFnZURlY29kZXI+
ID4gPjo6ZGVzdHJ1Y3QgKAogICAgYmVnaW49MHg3ZmNlOWY4ZjhmODAsIGVuZD0weDdmY2U5Zjhm
OGY5MCkKICAgIGF0IC4uLy4uL1NvdXJjZS9XVEYvd3RmL1ZlY3Rvci5oOjIyMwpObyBsb2NhbHMu
CiMxMCAweDAwMDA3ZmNlYjg1Yjg5NzggaW4gV1RGOjpWZWN0b3I8c3RkOjp1bmlxdWVfcHRyPFdl
YkNvcmU6OlBOR0ltYWdlRGVjb2Rlciwgc3RkOjpkZWZhdWx0X2RlbGV0ZTxXZWJDb3JlOjpQTkdJ
bWFnZURlY29kZXI+ID4sIDB1bCwgV1RGOjpDcmFzaE9uT3ZlcmZsb3csIDE2dWw+OjpzaHJpbmsg
KHRoaXM9MHg3ZmNlOWY5YjA1YjgsIHNpemU9MCkgYXQgLi4vLi4vU291cmNlL1dURi93dGYvVmVj
dG9yLmg6MTAzOAogICAgICAgIF9fUFJFVFRZX0ZVTkNUSU9OX18gPSAidm9pZCBXVEY6OlZlY3Rv
cjxULCBpbmxpbmVDYXBhY2l0eSwgT3ZlcmZsb3dIYW5kbGVyLCBtaW5DYXBhY2l0eT46OnNocmlu
ayhzaXplX3QpIFt3aXRoIFQgPSBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6UE5HSW1hZ2VEZWNv
ZGVyPjsgbG9uZyB1bnNpZ25lZCBpbnQgaW5saW5lQ2FwYWNpdHkgPSAwdWw7IE92ZXJmbG93SGFu
ZGxlciA9IFdURjo6Q3IiLi4uCiMxMSAweDAwMDA3ZmNlYjg1YjdiZTEgaW4gV1RGOjpWZWN0b3I8
c3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OlBOR0ltYWdlRGVjb2Rlciwgc3RkOjpkZWZhdWx0X2Rl
bGV0ZTxXZWJDb3JlOjpQTkdJbWFnZURlY29kZXI+ID4sIDB1bCwgV1RGOjpDcmFzaE9uT3ZlcmZs
b3csIDE2dWw+OjpzaHJpbmtDYXBhY2l0eSAodGhpcz0weDdmY2U5ZjliMDViOCwgbmV3Q2FwYWNp
dHk9MCkKICAgIGF0IC4uLy4uL1NvdXJjZS9XVEYvd3RmL1ZlY3Rvci5oOjExNTcKICAgICAgICBv
bGRCdWZmZXIgPSAweDdmY2VjMTNmYTk1MAojMTIgMHgwMDAwN2ZjZWI4NWI3MDgzIGluIFdURjo6
VmVjdG9yPHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpQTkdJbWFnZURlY29kZXIsIHN0ZDo6ZGVm
YXVsdF9kZWxldGU8V2ViQ29yZTo6UE5HSW1hZ2VEZWNvZGVyPiA+LCAwdWwsIFdURjo6Q3Jhc2hP
bk92ZXJmbG93LCAxNnVsPjo6Y2xlYXIgKHRoaXM9MHg3ZmNlOWY5YjA1YjgpIGF0IC4uLy4uL1Nv
dXJjZS9XVEYvd3RmL1ZlY3Rvci5oOjcyMQpObyBsb2NhbHMuCiMxMyAweDAwMDA3ZmNlYjg1YjVk
MzYgaW4gKGFub255bW91cyBuYW1lc3BhY2UpOjpJQ09JbWFnZURlY29kZXI6OnNldEZhaWxlZCAo
CiAgICB0aGlzPTB4N2ZjZTlmOWIwNGQ4KQogICAgYXQgLi4vLi4vU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vaW1hZ2UtZGVjb2RlcnMvaWNvL0lDT0ltYWdlRGVjb2Rlci5jcHA6MTE4Ck5vIGxvY2Fs
cy4KIzE0IDB4MDAwMDdmY2ViODViNjVkMSBpbiAoYW5vbnltb3VzIG5hbWVzcGFjZSk6OklDT0lt
YWdlRGVjb2Rlcjo6ZGVjb2RlQXRJbmRleAogICAgKHRoaXM9MHg3ZmNlOWY5YjA0ZDgsIGluZGV4
PTApCiAgICBhdCAuLi8uLi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9p
Y28vSUNPSW1hZ2VEZWNvZGVyLmNwcDoyMjcKICAgICAgICBfX1BSRVRUWV9GVU5DVElPTl9fID0g
ImJvb2wgV2ViQ29yZTo6SUNPSW1hZ2VEZWNvZGVyOjpkZWNvZGVBdEluZGV4KHNpemVfdCkiCiAg
ICAgICAgZGlyRW50cnkgPSBAMHg3ZmNlOWY4ZGQwMDA6IHttX3NpemUgPSB7bV93aWR0aCA9IDMy
LCBtX2hlaWdodCA9IDMyfSwgCiAgICAgICAgICBtX2JpdENvdW50ID0gMzIsIG1faG90U3BvdCA9
IHttX3ggPSAwLCBtX3kgPSAwfSwgbV9pbWFnZU9mZnNldCA9IDk2MH0KICAgICAgICBpbWFnZVR5
cGUgPSAoYW5vbnltb3VzIG5hbWVzcGFjZSk6OklDT0ltYWdlRGVjb2Rlcjo6UE5HCiMxNSAweDAw
MDA3ZmNlYjg1YjYwM2EgaW4gKGFub255bW91cyBuYW1lc3BhY2UpOjpJQ09JbWFnZURlY29kZXI6
OmRlY29kZSAoCiAgICB0aGlzPTB4N2ZjZTlmOWIwNGQ4LCBpbmRleD0wLCBvbmx5U2l6ZT1mYWxz
ZSkKICAgIGF0IC4uLy4uL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2lj
by9JQ09JbWFnZURlY29kZXIuY3BwOjE2OApObyBsb2NhbHMuCiMxNiAweDAwMDA3ZmNlYjg1YjVk
MDAgaW4gKGFub255bW91cyBuYW1lc3BhY2UpOjpJQ09JbWFnZURlY29kZXI6OmZyYW1lQnVmZmVy
QXRJbmRleCAodGhpcz0weDdmY2U5ZjliMDRkOCwgaW5kZXg9MCkKICAgIGF0IC4uLy4uL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2ljby9JQ09JbWFnZURlY29kZXIuY3Bw
OjExMQogICAgICAgIGJ1ZmZlciA9IDB4N2ZjZTU1ZmUyZDgwCiMxNyAweDAwMDA3ZmNlYjg1YTk2
NjYgaW4gKGFub255bW91cyBuYW1lc3BhY2UpOjpJbWFnZURlY29kZXI6OmNyZWF0ZUZyYW1lSW1h
Z2VBdEluZGV4ICh0aGlzPTB4N2ZjZTlmOWIwNGQ4LCBpbmRleD0wKQogICAgYXQgLi4vLi4vU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvSW1hZ2VEZWNvZGVyLmNwcDoyMTYK
ICAgICAgICBidWZmZXIgPSAweDdmY2U1NWZlNDlkMAojMTggMHgwMDAwN2ZjZWI3ZTc1ZGFiIGlu
IChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6SW1hZ2VGcmFtZUNhY2hlOjpmcmFtZUF0SW5kZXhDYWNo
ZUlmTmVlZGVkICh0aGlzPTB4N2ZjZTU1ZmU0OWMwLCBpbmRleD0wLCAKICAgIGNhY2hpbmc9KGFu
b255bW91cyBuYW1lc3BhY2UpOjpJbWFnZUZyYW1lOjpDYWNoaW5nOjpNZXRhZGF0YUFuZEltYWdl
LCAKICAgIHN1YnNhbXBsaW5nTGV2ZWw9Li4uKQogICAgYXQgLi4vLi4vU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VGcmFtZUNhY2hlLmNwcDozNzgKICAgICAgICBuYXRpdmVJ
bWFnZSA9IHtzdGF0aWMgaXNSZWZQdHIgPSA8b3B0aW1pemVkIG91dD4sIAogICAgICAgICAgbV9w
dHIgPSAweDdmZmNmZDJjNmU2MH0KICAgICAgICBfX1BSRVRUWV9GVU5DVElPTl9fID0gImNvbnN0
IFdlYkNvcmU6OkltYWdlRnJhbWUmIFdlYkNvcmU6OkltYWdlRnJhbWVDYWNoZTo6ZnJhbWVBdElu
ZGV4Q2FjaGVJZk5lZWRlZChzaXplX3QsIFdlYkNvcmU6OkltYWdlRnJhbWU6OkNhY2hpbmcsIGNv
bnN0IHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6U3Vic2FtcGxpbmdMZXZlbD4mKSIKICAgICAgICBm
cmFtZSA9IEAweDdmY2U1NWZlMzIwMDogewogICAgICAgICAgbV9kZWNvZGluZyA9IChhbm9ueW1v
dXMgbmFtZXNwYWNlKTo6SW1hZ2VGcmFtZTo6RGVjb2Rpbmc6Ok5vbmUsIAogICAgICAgICAgbV9z
aXplID0ge21fd2lkdGggPSAwLCBtX2hlaWdodCA9IDB9LCAKICAgICAgICAgIG1fYmFja2luZ1N0
b3JlID0gc3RkOjp1bmlxdWVfcHRyPChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6SW1hZ2VCYWNraW5n
U3RvcmU+IGNvbnRhaW5pbmcgMHgwLCAKICAgICAgICAgIG1fZGlzcG9zYWxNZXRob2QgPSAoYW5v
bnltb3VzIG5hbWVzcGFjZSk6OkltYWdlRnJhbWU6OkRpc3Bvc2FsTWV0aG9kOjpVbnNwZWNpZmll
ZCwgbV9uYXRpdmVJbWFnZSA9IHtzdGF0aWMgaXNSZWZQdHIgPSA8b3B0aW1pemVkIG91dD4sIG1f
cHRyID0gMHgwfSwgCiAgICAgICAgICBtX3N1YnNhbXBsaW5nTGV2ZWwgPSAoYW5vbnltb3VzIG5h
bWVzcGFjZSk6OlN1YnNhbXBsaW5nTGV2ZWw6OkZpcnN0LCAKICAgICAgICAgIG1fZGVjb2RpbmdP
cHRpb25zID0gewogICAgICAgICAgICBtX2RlY29kaW5nTW9kZU9yU2l6ZSA9IHs8V1RGOjpfX3Zh
cmlhbnRfYmFzZTxXVEY6OlZhcmlhbnQ8V2ViQ29yZTo6RGVjb2RpbmdNb2RlLCBzdGQ6Om9wdGlv
bmFsPFdlYkNvcmU6OkludFNpemU+ID4sIHRydWU+PiA9IHs8Tm8gZGF0YSBmaWVsZHM+fSwgCiAg
ICAgICAgICAgICAgX19zdG9yYWdlID0ge19faGVhZCA9IHsKICAgICAgICAgICAgICAgICAgX192
YWwgPSAoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkRlY29kaW5nTW9kZTo6Tm9uZSwgCiAgICAgICAg
ICAgICAgICAgIF9fZHVtbXkgPSB7PE5vIGRhdGEgZmllbGRzPn19LCBfX3Jlc3QgPSB7X192YWwg
PSB7CiAgICAgICAgICAgICAgICAgICAgX19zdG9yYWdlID0ge19fZGF0YSA9ICdcMDAwJyA8cmVw
ZWF0cyAxMSB0aW1lcz4sIAogICAgICAgICAgICAgICAgICAgICAgX19hbGlnbiA9IHs8Tm8gZGF0
YSBmaWVsZHM+fX19LCAKICAgICAgICAgICAgICAgICAgX19kdW1teSA9IHs8Tm8gZGF0YSBmaWVs
ZHM+fX19LCBfX2luZGV4ID0gMCAnXDAwMCd9fSwgCiAgICAgICAgICBtX29yaWVudGF0aW9uID0g
ewogICAgICAgICAgICBtX29yaWVudGF0aW9uID0gKGFub255bW91cyBuYW1lc3BhY2UpOjpPcmln
aW5Ub3BMZWZ0fSwgCiAgICAgICAgICBtX2R1cmF0aW9uID0gMCwgbV9oYXNBbHBoYSA9IHRydWV9
CiAgICAgICAgc3Vic2FtcGxpbmdMZXZlbFZhbHVlID0gKGFub255bW91cyBuYW1lc3BhY2UpOjpT
dWJzYW1wbGluZ0xldmVsOjpGaXJzdAojMTkgMHgwMDAwN2ZjZWI3ZTdhODViIGluIChhbm9ueW1v
dXMgbmFtZXNwYWNlKTo6SW1hZ2VGcmFtZUNhY2hlOjpmcmFtZU1ldGFkYXRhQXRJbmRleENhY2hl
SWZOZWVkZWQ8V1RGOjpSZWZQdHI8X2NhaXJvX3N1cmZhY2U+LCBXZWJDb3JlOjpJbWFnZUZyYW1l
OjpDYWNoaW5nLCBXZWJDb3JlOjpTdWJzYW1wbGluZ0xldmVsJj4oc2l6ZV90LCBXVEY6OlJlZlB0
cjxfY2Fpcm9fc3VyZmFjZT4gKChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6SW1hZ2VGcmFtZTo6Kiko
Y29uc3QgKGFub255bW91cyBuYW1lc3BhY2UpOjpJbWFnZUZyYW1lICogY29uc3QpLCBzdGQ6Om9w
dGlvbmFsPFdURjo6UmVmUHRyPF9jYWlyb19zdXJmYWNlPiA+ICosIDx1bmtub3duIHR5cGUgaW4g
L2hvbWUvbWNhdGFuemFyby9Qcm9qZWN0cy9HTk9NRS9pbnN0YWxsL2xpYi9saWJ3ZWJraXQyZ3Rr
LTQuMC5zby4zNywgQ1UgMHgwLCBESUUgMHgzYWI0Zj4sIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6
U3Vic2FtcGxpbmdMZXZlbCAmKSAodGhpcz0weDdmY2U1NWZlNDljMCwgaW5kZXg9MCwgCiAgICBm
dW5jdG9yPShXVEY6OlJlZlB0cjxfY2Fpcm9fc3VyZmFjZT4gKChhbm9ueW1vdXMgbmFtZXNwYWNl
KTo6SW1hZ2VGcmFtZTo6KikoY29uc3QgKGFub255bW91cyBuYW1lc3BhY2UpOjpJbWFnZUZyYW1l
ICogY29uc3QpKSAweDdmY2ViN2U3N2UyNiA8KGFub255bW91cyBuYW1lc3BhY2UpOjpJbWFnZUZy
YW1lOjpuYXRpdmVJbWFnZSgpIGNvbnN0PiwgY2FjaGVkVmFsdWU9MHgwLCAKICAgIGFyZ3MjMD08
dW5rbm93biB0eXBlIGluIC9ob21lL21jYXRhbnphcm8vUHJvamVjdHMvR05PTUUvaW5zdGFsbC9s
aWIvbGlid2Via2l0Mmd0ay00LjAuc28uMzcsIENVIDB4MCwgRElFIDB4M2FiNGY+LCAKICAgIGFy
Z3MjMT1AMHg3ZmZjZmQyYzZmMzQ6IChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6U3Vic2FtcGxpbmdM
ZXZlbDo6Rmlyc3QpCiAgICBhdCAuLi8uLi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9JbWFnZUZyYW1lQ2FjaGUuY3BwOjQyOAogICAgICAgIGZyYW1lID0gQDB4N2ZmY2ZkMmM2Zjc4
OiB7CiAgICAgICAgICBtX2RlY29kaW5nID0gKGFub255bW91cyBuYW1lc3BhY2UpOjpJbWFnZUZy
YW1lOjpEZWNvZGluZzo6Tm9uZSwgCiAgICAgICAgICBtX3NpemUgPSB7bV93aWR0aCA9IDAsIG1f
aGVpZ2h0ID0gLTQ3NDE5NDg4fSwgCiAgICAgICAgICBtX2JhY2tpbmdTdG9yZSA9IHN0ZDo6dW5p
cXVlX3B0cjwoYW5vbnltb3VzIG5hbWVzcGFjZSk6OkltYWdlQmFja2luZ1N0b3JlPiBjb250YWlu
aW5nIDB4MCwgbV9kaXNwb3NhbE1ldGhvZCA9IC0xNjE3MTA1MjY0LCBtX25hdGl2ZUltYWdlID0g
ewogICAgICAgICAgICBzdGF0aWMgaXNSZWZQdHIgPSA8b3B0aW1pemVkIG91dD4sIG1fcHRyID0g
MHg3ZmZjZmQyYzcwNzB9LCAKICAgICAgICAgIG1fc3Vic2FtcGxpbmdMZXZlbCA9IC00NzQxOTM3
NiwgbV9kZWNvZGluZ09wdGlvbnMgPSB7CiAgICAgICAgICAgIG1fZGVjb2RpbmdNb2RlT3JTaXpl
ID0gezxXVEY6Ol9fdmFyaWFudF9iYXNlPFdURjo6VmFyaWFudDxXZWJDb3JlOjpEZWNvZGluZ01v
ZGUsIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6SW50U2l6ZT4gPiwgdHJ1ZT4+ID0gezxObyBkYXRh
IGZpZWxkcz59LCAKICAgICAgICAgICAgICBfX3N0b3JhZ2UgPSB7X19oZWFkID0ge19fdmFsID0g
KHVua25vd246IDMyNzY0KSwgCiAgICAgICAgICAgICAgICAgIF9fZHVtbXkgPSB7PE5vIGRhdGEg
ZmllbGRzPn19LCBfX3Jlc3QgPSB7X192YWwgPSB7CiAgICAgICAgICAgICAgICAgICAgX19zdG9y
YWdlID0gewogICAgICAgICAgICAgICAgICAgICAgX19kYXRhID0gIlwzNzRcMTc3XDAwMFwwMDBc
MjUwQt+3XDMxNlwxNzdcMDAwIiwgCiAgICAgICAgICAgICAgICAgICAgICBfX2FsaWduID0gezxO
byBkYXRhIGZpZWxkcz59fX0sIAogICAgICAgICAgICAgICAgICBfX2R1bW15ID0gezxObyBkYXRh
IGZpZWxkcz59fX0sIF9faW5kZXggPSAtNDggJ1wzMjAnfX0sIAogICAgICAgICAgbV9vcmllbnRh
dGlvbiA9IHttX29yaWVudGF0aW9uID0gMzI3NjR9LCBtX2R1cmF0aW9uID0gMCwgCiAgICAgICAg
ICBtX2hhc0FscGhhID0gZmFsc2V9CiMyMCAweDAwMDA3ZmNlYjdlNzY3ODkgaW4gKGFub255bW91
cyBuYW1lc3BhY2UpOjpJbWFnZUZyYW1lQ2FjaGU6OmZyYW1lSW1hZ2VBdEluZGV4Q2FjaGVJZk5l
ZWRlZCAodGhpcz0weDdmY2U1NWZlNDljMCwgaW5kZXg9MCwgCiAgICBzdWJzYW1wbGluZ0xldmVs
PShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6U3Vic2FtcGxpbmdMZXZlbDo6Rmlyc3QpCiAgICBhdCAu
Li8uLi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUZyYW1lQ2FjaGUuY3Bw
OjU1OQpObyBsb2NhbHMuCiMyMSAweDAwMDA3ZmNlYjdlN2RhNmEgaW4gKGFub255bW91cyBuYW1l
c3BhY2UpOjpJbWFnZVNvdXJjZTo6ZnJhbWVJbWFnZUF0SW5kZXhDYWNoZUlmTmVlZGVkICh0aGlz
PTB4N2ZjZTlmOWNlZTkwLCBpbmRleD0wLCAKICAgIHN1YnNhbXBsaW5nTGV2ZWw9KGFub255bW91
cyBuYW1lc3BhY2UpOjpTdWJzYW1wbGluZ0xldmVsOjpGaXJzdCwgCiAgICB0YXJnZXRDb250ZXh0
PTB4MCkKICAgIGF0IC4uLy4uL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdl
U291cmNlLmNwcDoyMTEKTm8gbG9jYWxzLgojMjIgMHgwMDAwN2ZjZWI3ZGY0MmE4IGluIChhbm9u
eW1vdXMgbmFtZXNwYWNlKTo6Qml0bWFwSW1hZ2U6OmZyYW1lSW1hZ2VBdEluZGV4Q2FjaGVJZk5l
ZWRlZCAodGhpcz0weDdmY2U5ZjljZWU3MCwgaW5kZXg9MCwgCiAgICBzdWJzYW1wbGluZ0xldmVs
PShhbm9ueW1vdXMgbmFtZXNwYWNlKTo6U3Vic2FtcGxpbmdMZXZlbDo6Rmlyc3QsIAogICAgdGFy
Z2V0Q29udGV4dD0weDApCiAgICBhdCAuLi8uLi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9CaXRtYXBJbWFnZS5jcHA6MTEyCiAgICAgICAgX19GVU5DVElPTl9fID0gImZyYW1lSW1h
Z2VBdEluZGV4Q2FjaGVJZk5lZWRlZCIKIzIzIDB4MDAwMDdmY2ViN2RmNDMyOCBpbiAoYW5vbnlt
b3VzIG5hbWVzcGFjZSk6OkJpdG1hcEltYWdlOjpuYXRpdmVJbWFnZUZvckN1cnJlbnRGcmFtZSAo
dGhpcz0weDdmY2U5ZjljZWU3MCwgdGFyZ2V0Q29udGV4dD0weDApCiAgICBhdCAuLi8uLi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5jcHA6MTIyCk5vIGxvY2Fs
cy4KIzI0IDB4MDAwMDdmY2ViNmRhYzJiYSBpbiBnZXRJY29uU3VyZmFjZVN5bmNocm9ub3VzbHkg
KGRhdGFiYXNlPTB4MmFkYzhhMCwgCiAgICBwYWdlVVJMPS4uLiwgZXJyb3I9MHg3ZmZjZmQyYzcx
MDApCiAgICBhdCAuLi8uLi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRG
YXZpY29uRGF0YWJhc2UuY3BwOjE0NgogICAgICAgIF9fUFJFVFRZX0ZVTkNUSU9OX18gPSAiV1RG
OjpQYXNzUmVmUHRyPF9jYWlyb19zdXJmYWNlPiBnZXRJY29uU3VyZmFjZVN5bmNocm9ub3VzbHko
V2ViS2l0RmF2aWNvbkRhdGFiYXNlKiwgY29uc3QgV1RGOjpTdHJpbmcmLCBHRXJyb3IqKikiCiAg
ICAgICAgaWNvbkltYWdlID0gMHg3ZmNlOWY5Y2VlNzAKICAgICAgICBzdXJmYWNlID0ge3N0YXRp
YyBpc1JlZlB0ciA9IDxvcHRpbWl6ZWQgb3V0PiwgbV9wdHIgPSAweDdmY2U5Zjk3MWY1MH0KIzI1
IDB4MDAwMDdmY2ViNmRhYzQ0OSBpbiBwcm9jZXNzUGVuZGluZ0ljb25zRm9yUGFnZVVSTCAoZGF0
YWJhc2U9MHgyYWRjOGEwLCAKICAgIHBhZ2VVUkw9Li4uKQogICAgYXQgLi4vLi4vU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0RmF2aWNvbkRhdGFiYXNlLmNwcDoxNjgKICAg
ICAgICBwZW5kaW5nSWNvblJlcXVlc3RzID0gMHg3ZmNlOWY5ZTM5ZjAKICAgICAgICBlcnJvciA9
IHttX3B0ciA9IDB4MH0KICAgICAgICBpY29uID0ge3N0YXRpYyBpc1JlZlB0ciA9IDxvcHRpbWl6
ZWQgb3V0PiwgbV9wdHIgPSAweDdmZmNmZDJjNzExMH0KIzI2IDB4MDAwMDdmY2ViNmRhYzhhNiBp
biBpY29uRGF0YVJlYWR5Rm9yUGFnZVVSTENhbGxiYWNrICgKICAgIHdrUGFnZVVSTD0weDdmY2U5
Zjk3MWY0MCwgY2xpZW50SW5mbz0weDJhZGM4YTApCiAgICBhdCAuLi8uLi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRGYXZpY29uRGF0YWJhc2UuY3BwOjIwOQogICAgICAg
IF9fUFJFVFRZX0ZVTkNUSU9OX18gPSAidm9pZCBpY29uRGF0YVJlYWR5Rm9yUGFnZVVSTENhbGxi
YWNrKFdLSWNvbkRhdGFiYXNlUmVmLCBXS1VSTFJlZiwgY29uc3Qgdm9pZCopIgojMjcgMHgwMDAw
N2ZjZWI2OWZlM2UyIGluIChhbm9ueW1vdXMgbmFtZXNwYWNlKTo6V2ViSWNvbkRhdGFiYXNlQ2xp
ZW50OjppY29uRGF0YVJlYWR5Rm9yUGFnZVVSTCAodGhpcz0weDdmY2U5ZjllYjA2OCwgaWNvbkRh
dGFiYXNlPTB4N2ZjZTlmOWViMDAwLCAKICAgIHVybD0weDdmY2U5Zjk3MWY0MCkKICAgIGF0IC4u
Ly4uL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJY29uRGF0YWJhc2VDbGllbnQuY3BwOjU2
Ck5vIGxvY2Fscy4KIzI4IDB4MDAwMDdmY2ViNjlmYjZkZCBpbiAoYW5vbnltb3VzIG5hbWVzcGFj
ZSk6OldlYkljb25EYXRhYmFzZTo6bm90aWZ5SWNvbkRhdGFSZWFkeUZvclBhZ2VVUkwgKHRoaXM9
MHg3ZmNlOWY5ZWIwMDAsIHBhZ2VVUkw9Li4uKQogICAgYXQgLi4vLi4vU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYkljb25EYXRhYmFzZS5jcHA6MzA4Ck5vIGxvY2Fscy4KIzI5IDB4MDAwMDdm
Y2ViNjlmYjMyMSBpbiAoYW5vbnltb3VzIG5hbWVzcGFjZSk6OldlYkljb25EYXRhYmFzZTo6ZGlk
SW1wb3J0SWNvbkRhdGFGb3JQYWdlVVJMICh0aGlzPTB4N2ZjZTlmOWViMDAwLCBwYWdlVVJMPS4u
LikKICAgIGF0IC4uLy4uL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJY29uRGF0YWJhc2Uu
Y3BwOjI1MApObyBsb2NhbHMuCiMzMCAweDAwMDA3ZmNlYjdiZGI5MjkgaW4gKGFub255bW91cyBu
YW1lc3BhY2UpOjpJY29uRGF0YWJhc2U6OjxsYW1iZGEoKT46Om9wZXJhdG9yKCkodm9pZCkgY29u
c3QgKF9fY2xvc3VyZT0weDdmY2U5ZjlmZDUwMCkKICAgIGF0IC4uLy4uL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5jcHA6MjEwNgogICAgICAgIHBhZ2VVUkwgPSB7bV9p
bXBsID0ge3N0YXRpYyBpc1JlZlB0ciA9IDxvcHRpbWl6ZWQgb3V0PiwgCiAgICAgICAgICAgIG1f
cHRyID0gMHg3ZmNlOWY5YjQ2MzB9fQogICAgICAgIHRoaXMgPSAweDdmY2U1NWZmYTAwMAojMzEg
MHgwMDAwN2ZjZWI3YmRlNDQ4IGluIFdURjo6RnVuY3Rpb248dm9pZCgpPjo6Q2FsbGFibGVXcmFw
cGVyPFdlYkNvcmU6Okljb25EYXRhYmFzZTo6ZGlzcGF0Y2hEaWRJbXBvcnRJY29uRGF0YUZvclBh
Z2VVUkxPbk1haW5UaHJlYWQoY29uc3QgV1RGOjpTdHJpbmcmKTo6PGxhbWJkYSgpPiA+OjpjYWxs
KHZvaWQpICh0aGlzPTB4N2ZjZTlmOWZkNGY4KQogICAgYXQgLi4vLi4vU291cmNlL1dURi93dGYv
RnVuY3Rpb24uaDo4OQpObyBsb2NhbHMuCiMzMiAweDAwMDA3ZmNlYjY4MGIwNDcgaW4gV1RGOjpG
dW5jdGlvbjx2b2lkKCk+OjpvcGVyYXRvcigpKHZvaWQpIGNvbnN0ICgKICAgIHRoaXM9MHg3ZmZj
ZmQyYzcyYzApIGF0IC4uLy4uL1NvdXJjZS9XVEYvd3RmL0Z1bmN0aW9uLmg6NTAKTm8gbG9jYWxz
LgojMzMgMHgwMDAwN2ZjZWFlMmM1ZWIwIGluIFdURjo6ZGlzcGF0Y2hGdW5jdGlvbnNGcm9tTWFp
blRocmVhZCAoKQogICAgYXQgLi4vLi4vU291cmNlL1dURi93dGYvTWFpblRocmVhZC5jcHA6MTM2
CiAgICAgICAgX19QUkVUVFlfRlVOQ1RJT05fXyA9ICJ2b2lkIFdURjo6ZGlzcGF0Y2hGdW5jdGlv
bnNGcm9tTWFpblRocmVhZCgpIgogICAgICAgIHN0YXJ0VGltZSA9IHtzdGF0aWMgY2xvY2tUeXBl
ID0gV1RGOjpDbG9ja1R5cGU6Ok1vbm90b25pYywgCiAgICAgICAgICBtX3ZhbHVlID0gMjcxMjIu
NzI4OTMzOTk5OTk5fQogICAgICAgIGZ1bmN0aW9uID0gewogICAgICAgICAgbV9jYWxsYWJsZVdy
YXBwZXIgPSBzdGQ6OnVuaXF1ZV9wdHI8V1RGOjpGdW5jdGlvbjx2b2lkKCk+OjpDYWxsYWJsZVdy
YXBwZXJCYXNlPiBjb250YWluaW5nIDB4N2ZjZTlmOWZkNGY4fQojMzQgMHgwMDAwN2ZjZWFlMzFi
NjA5IGluIFdURjo6TWFpblRocmVhZERpc3BhdGNoZXI6OmZpcmVkICgKICAgIHRoaXM9MHg3ZmNl
YWYzZmVmMDAgPFdURjo6c2NoZWR1bGVEaXNwYXRjaEZ1bmN0aW9uc09uTWFpblRocmVhZCgpOjpk
aXNwYXRjaGVyPikgYXQgLi4vLi4vU291cmNlL1dURi93dGYvZ2xpYi9NYWluVGhyZWFkR0xpYi5j
cHA6NTYKTm8gbG9jYWxzLgojMzUgMHgwMDAwN2ZjZWFlMzFiNzU2IGluIFdURjo6UnVuTG9vcDo6
VGltZXI8V1RGOjpNYWluVGhyZWFkRGlzcGF0Y2hlcj46OmZpcmVkCiAgICAoCiAgICB0aGlzPTB4
N2ZjZWFmM2ZlZjAwIDxXVEY6OnNjaGVkdWxlRGlzcGF0Y2hGdW5jdGlvbnNPbk1haW5UaHJlYWQo
KTo6ZGlzcGF0Y2hlcj4pIGF0IC4uLy4uL1NvdXJjZS9XVEYvd3RmL1J1bkxvb3AuaDoxNTIKTm8g
bG9jYWxzLgojMzYgMHgwMDAwN2ZjZWFlMzFjMDM1IGluIFdURjo6UnVuTG9vcDo6VGltZXJCYXNl
Ojo8bGFtYmRhKGdwb2ludGVyKT46Om9wZXJhdG9yKCkoZ3BvaW50ZXIpIGNvbnN0IChfX2Nsb3N1
cmU9MHgwLCAKICAgIHVzZXJEYXRhPTB4N2ZjZWFmM2ZlZjAwIDxXVEY6OnNjaGVkdWxlRGlzcGF0
Y2hGdW5jdGlvbnNPbk1haW5UaHJlYWQoKTo6ZGlzcGF0Y2hlcj4pIGF0IC4uLy4uL1NvdXJjZS9X
VEYvd3RmL2dsaWIvUnVuTG9vcEdMaWIuY3BwOjE2NgogICAgICAgIHRpbWVyID0gMHg3ZmNlYWYz
ZmVmMDAgPFdURjo6c2NoZWR1bGVEaXNwYXRjaEZ1bmN0aW9uc09uTWFpblRocmVhZCgpOjpkaXNw
YXRjaGVyPgojMzcgMHgwMDAwN2ZjZWFlMzFjMDcxIGluIFdURjo6UnVuTG9vcDo6VGltZXJCYXNl
Ojo8bGFtYmRhKGdwb2ludGVyKT46Ol9GVU4oZ3BvaW50ZXIpICgpIGF0IC4uLy4uL1NvdXJjZS9X
VEYvd3RmL2dsaWIvUnVuTG9vcEdMaWIuY3BwOjE3MApObyBsb2NhbHMuCiMzOCAweDAwMDA3ZmNl
YWUzMWI3YjAgaW4gV1RGOjo8bGFtYmRhKEdTb3VyY2UqLCBHU291cmNlRnVuYywgZ3BvaW50ZXIp
Pjo6b3BlcmF0b3IoKShHU291cmNlICosIEdTb3VyY2VGdW5jLCBncG9pbnRlcikgY29uc3QgKF9f
Y2xvc3VyZT0weDAsIHNvdXJjZT0weDI0MmQ4ODAsIAogICAgY2FsbGJhY2s9MHg3ZmNlYWUzMWMw
NTQgPFdURjo6UnVuTG9vcDo6VGltZXJCYXNlOjo8bGFtYmRhKGdwb2ludGVyKT46Ol9GVU4oZ3Bv
aW50ZXIpPiwgCiAgICB1c2VyRGF0YT0weDdmY2VhZjNmZWYwMCA8V1RGOjpzY2hlZHVsZURpc3Bh
dGNoRnVuY3Rpb25zT25NYWluVGhyZWFkKCk6OmRpc3BhdGNoZXI+KSBhdCAuLi8uLi9Tb3VyY2Uv
V1RGL3d0Zi9nbGliL1J1bkxvb3BHTGliLmNwcDo0NQpObyBsb2NhbHMuCiMzOSAweDAwMDA3ZmNl
YWUzMWI3ZGYgaW4gV1RGOjo8bGFtYmRhKEdTb3VyY2UqLCBHU291cmNlRnVuYywgZ3BvaW50ZXIp
Pjo6X0ZVTihHU291cmNlICosIEdTb3VyY2VGdW5jLCBncG9pbnRlcikgKCkKICAgIGF0IC4uLy4u
L1NvdXJjZS9XVEYvd3RmL2dsaWIvUnVuTG9vcEdMaWIuY3BwOjQ2Ck5vIGxvY2Fscy4KIzQwIDB4
MDAwMDdmY2VhYmFmNTQ5YSBpbiBnX21haW5fZGlzcGF0Y2ggKGNvbnRleHQ9MHgyM2I3NzgwKQog
ICAgYXQgL2hvbWUvbWNhdGFuemFyby9Qcm9qZWN0cy9HTk9NRS9nbGliL2dsaWIvZ21haW4uYzoz
MjMwCiAgICAgICAgZGlzcGF0Y2ggPSAweDdmY2VhZTMxYjdiMiA8V1RGOjo8bGFtYmRhKEdTb3Vy
Y2UqLCBHU291cmNlRnVuYywgZ3BvaW50ZXIpPjo6X0ZVTihHU291cmNlICosIEdTb3VyY2VGdW5j
LCBncG9pbnRlcik+CiAgICAgICAgcHJldl9zb3VyY2UgPSAweDAKICAgICAgICB3YXNfaW5fY2Fs
bCA9IDAKICAgICAgICB1c2VyX2RhdGEgPSAweDdmY2VhZjNmZWYwMCA8V1RGOjpzY2hlZHVsZURp
c3BhdGNoRnVuY3Rpb25zT25NYWluVGhyZWFkKCk6OmRpc3BhdGNoZXI+CiAgICAgICAgY2FsbGJh
Y2sgPSAweDdmY2VhZTMxYzA1NCA8V1RGOjpSdW5Mb29wOjpUaW1lckJhc2U6OjxsYW1iZGEoZ3Bv
aW50ZXIpPjo6X0ZVTihncG9pbnRlcik+CiAgICAgICAgY2JfZnVuY3MgPSA8b3B0aW1pemVkIG91
dD4KICAgICAgICBjYl9kYXRhID0gMHgyNDA2N2MwCiAgICAgICAgbmVlZF9kZXN0cm95ID0gPG9w
dGltaXplZCBvdXQ+CiAgICAgICAgc291cmNlID0gMHgyNDJkODgwCiAgICAgICAgY3VycmVudCA9
IDB4MjNlODg0MAogICAgICAgIGkgPSAwCiM0MSBnX21haW5fY29udGV4dF9kaXNwYXRjaCAoY29u
dGV4dD1jb250ZXh0QGVudHJ5PTB4MjNiNzc4MCkKICAgIGF0IC9ob21lL21jYXRhbnphcm8vUHJv
amVjdHMvR05PTUUvZ2xpYi9nbGliL2dtYWluLmM6Mzg5NQpObyBsb2NhbHMuCiM0MiAweDAwMDA3
ZmNlYWJhZjU4MTggaW4gZ19tYWluX2NvbnRleHRfaXRlcmF0ZSAoCiAgICBjb250ZXh0PWNvbnRl
eHRAZW50cnk9MHgyM2I3NzgwLCBibG9jaz1ibG9ja0BlbnRyeT0xLCAKICAgIGRpc3BhdGNoPWRp
c3BhdGNoQGVudHJ5PTEsIHNlbGY9PG9wdGltaXplZCBvdXQ+KQogICAgYXQgL2hvbWUvbWNhdGFu
emFyby9Qcm9qZWN0cy9HTk9NRS9nbGliL2dsaWIvZ21haW4uYzozOTY4CiAgICAgICAgbWF4X3By
aW9yaXR5ID0gMTAwCiAgICAgICAgdGltZW91dCA9IDAKICAgICAgICBzb21lX3JlYWR5ID0gMQog
ICAgICAgIG5mZHMgPSA1CiAgICAgICAgYWxsb2NhdGVkX25mZHMgPSA1CiAgICAgICAgZmRzID0g
PG9wdGltaXplZCBvdXQ+CiM0MyAweDAwMDA3ZmNlYWJhZjU4YmMgaW4gZ19tYWluX2NvbnRleHRf
aXRlcmF0aW9uICgKICAgIGNvbnRleHQ9Y29udGV4dEBlbnRyeT0weDIzYjc3ODAsIG1heV9ibG9j
az1tYXlfYmxvY2tAZW50cnk9MSkKICAgIGF0IC9ob21lL21jYXRhbnphcm8vUHJvamVjdHMvR05P
TUUvZ2xpYi9nbGliL2dtYWluLmM6NDAyOQogICAgICAgIHJldHZhbCA9IDxvcHRpbWl6ZWQgb3V0
PgojNDQgMHgwMDAwN2ZjZWFmNmY1YzZkIGluIGdfYXBwbGljYXRpb25fcnVuIChhcHBsaWNhdGlv
bj0weDI0NGMxZDAsIAogICAgYXJnYz08b3B0aW1pemVkIG91dD4sIGFyZ3Y9MHg3ZmZjZmQyYzc3
MDgpCiAgICBhdCAvaG9tZS9tY2F0YW56YXJvL1Byb2plY3RzL0dOT01FL2dsaWIvZ2lvL2dhcHBs
aWNhdGlvbi5jOjIzODEKICAgICAgICBhcmd1bWVudHMgPSAweDI0NGFjYTAKICAgICAgICBzdGF0
dXMgPSAwCiAgICAgICAgY29udGV4dCA9IDB4MjNiNzc4MAogICAgICAgIGFjcXVpcmVkX2NvbnRl
eHQgPSA8b3B0aW1pemVkIG91dD4KICAgICAgICBfX2Z1bmNfXyA9ICJnX2FwcGxpY2F0aW9uX3J1
biIKIzQ1IDB4MDAwMDAwMDAwMDQwMmI5MiBpbiBtYWluIChhcmdjPTEsIGFyZ3Y9MHg3ZmZjZmQy
Yzc3MDgpCiAgICBhdCAvaG9tZS9tY2F0YW56YXJvL1Byb2plY3RzL0dOT01FL2VwaXBoYW55L3Ny
Yy9lcGh5LW1haW4uYzo0MzIKICAgICAgICBvcHRpb25fY29udGV4dCA9IDB4MjNiMTZjMAogICAg
ICAgIG9wdGlvbl9ncm91cCA9IDB4MjNiMTc1MAogICAgICAgIGVycm9yID0gMHgwCiAgICAgICAg
dXNlcl90aW1lID0gMAogICAgICAgIGFyYml0cmFyeV91cmwgPSAwCiAgICAgICAgY3R4ID0gMHgy
NDY4MjMwCiAgICAgICAgc3RhcnR1cF9mbGFncyA9ICh1bmtub3duOiAwKQogICAgICAgIG1vZGUg
PSBFUEhZX0VNQkVEX1NIRUxMX01PREVfQlJPV1NFUgogICAgICAgIHN0YXR1cyA9IDMyNzY0CiAg
ICAgICAgZmxhZ3MgPSBFUEhZX0ZJTEVfSEVMUEVSU19FTlNVUkVfRVhJU1RTCiAgICAgICAgZGVz
a3RvcF9pbmZvID0gMHgwCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>307975</attachid>
            <date>2017-04-24 07:37:19 -0700</date>
            <delta_ts>2017-04-25 02:30:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-171211-20170424163717.patch</filename>
            <type>text/plain</type>
            <size>6834</size>
            <attacher name="Miguel Gomez">magomez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE1NjgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmQ3MDdjOTBlZWFlZjk3
NTRlNjYyMmE1NGY4NGMyZjFkOTNhNjJkZS4uNTNkNjkzN2FiZjFlZmE3ODI3MmMyOTAzODNiODEw
OGY1YzY5Mjg5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE3LTA0LTI0ICBNaWd1
ZWwgR29tZXogIDxtYWdvbWV6QGlnYWxpYS5jb20+CisKKyAgICAgICAgSW1hZ2UgZGVjb2RlcnMg
bXVzdCBoYXZlIHByaXZhdGUgY29uc3RydWN0b3JzIHRvIGF2b2lkIHJlZmNvdW50IG1pc3VzZTog
QVNTRVJUSU9OIEZBSUxFRDogbV9kZWxldGlvbkhhc0JlZ3VuIHdoZW4gZGVzdHJveWluZyBJbWFn
ZURlY29kZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE3MTIxMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IE1ha2UgSUNPSW1hZ2VEZWNvZGVyIHN0b3JlIGl0cyBpbnRlcm5hbCBQTkcgZGVjb2RlcnMgYXMg
UmVmUHRyLiBBZGQgYSBuZXcgSW1hZ2VEZWNvZGVyOjpjcmVhdGUoKQorICAgICAgICBtZXRob2Qg
dGhhdCBhbGxvd3Mgc3BlY2lmeWluZyB0aGUgdHlwZSBvZiBkZWNvZGVyIHRvIGNyZWF0ZSwgYW5k
IHVzZSBpdCBpbnNpZGUgSUNPSW1hZ2VEZWNvZGVyLgorCisgICAgICAgIENvdmVyZWQgYnkgZXhp
c3RlbnQgdGVzdHMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZVR5cGVzLmg6
IEFkZCBhbiBlbnVtZXJhdGlvbiB3aXRoIHRoZSBzdXBwb3J0ZWQgaW1hZ2UgZm9ybWF0cy4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9JbWFnZURlY29kZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SW1hZ2VEZWNvZGVyOjpjcmVhdGUpOiBuZXcgbWV0aG9kIHRvIGNyZWF0ZSBh
IGRlY29kZXIgZm9yIGEga25vd24gdHlwZSBvZiBpbWFnZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9p
bWFnZS1kZWNvZGVycy9JbWFnZURlY29kZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9pbWFnZS1k
ZWNvZGVycy9pY28vSUNPSW1hZ2VEZWNvZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklDT0lt
YWdlRGVjb2Rlcjo6ZGVjb2RlQXRJbmRleCk6IHVzZSB0aGUgbmV3IGNyZWF0ZSgpIG1ldGhvZCB0
byBjcmVhdGUgdGhlIHJlcXVpcmVkCisgICAgICAgIFBORyBpbWFnZSBkZWNvZGVycy4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9pY28vSUNPSW1hZ2VEZWNvZGVyLmg6IHN0b3Jl
IHRoZSBQTkcgaW1hZ2UgZGVjb2RlcnMgYXMgUmVmUHRyLgorCiAyMDE3LTA0LTIzICBDb21taXQg
UXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCBy
b2xsaW5nIG91dCByMjE1NjU3IGFuZCByMjE1Njc2LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VUeXBlcy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvSW1hZ2VUeXBlcy5oCmluZGV4IDk4ZWJlN2NlN2IyNGE4NWE5NmQ5ZTQ4ODQ4
OTFlNzE2OGYyMjVjM2EuLmMxMzg2YzM4OWQ0YzkzMjMxNGQ3ODY5MDkyYjExMjI1Y2YxODMxOWIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlVHlwZXMu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZVR5cGVzLmgKQEAg
LTcyLDQgKzcyLDE0IEBAIGVudW0gY2xhc3MgRW5jb2RlZERhdGFTdGF0dXMgewogICAgIENvbXBs
ZXRlCiB9OwogCitlbnVtIGNsYXNzIEltYWdlRm9ybWF0IHsKKyAgICBJbWFnZUZvcm1hdEdJRiwK
KyAgICBJbWFnZUZvcm1hdFBORywKKyAgICBJbWFnZUZvcm1hdElDTywKKyAgICBJbWFnZUZvcm1h
dENVUiwKKyAgICBJbWFnZUZvcm1hdEpQRUcsCisgICAgSW1hZ2VGb3JtYXRXRUJQLAorICAgIElt
YWdlRm9ybWF0Qk1QCit9OworCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9pbWFnZS1kZWNvZGVycy9JbWFnZURlY29kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vaW1hZ2UtZGVjb2RlcnMvSW1hZ2VEZWNvZGVyLmNwcAppbmRleCBiYWY5ZTQ2NGRjODZlOGQx
NWY2ZDVjZWZlYTBiM2E4Njk3MWQwM2Y0Li40NzAzOTg1NDk5NDg4NzhmZGYwN2JjNTJmOTM1ZTNh
MTIxZDk4YWUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNv
ZGVycy9JbWFnZURlY29kZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdl
LWRlY29kZXJzL0ltYWdlRGVjb2Rlci5jcHAKQEAgLTEyNyw2ICsxMjcsMjkgQEAgUmVmUHRyPElt
YWdlRGVjb2Rlcj4gSW1hZ2VEZWNvZGVyOjpjcmVhdGUoY29uc3QgU2hhcmVkQnVmZmVyJiBkYXRh
LCBBbHBoYU9wdGlvbgogICAgIHJldHVybiBudWxscHRyOwogfQogCitSZWZQdHI8SW1hZ2VEZWNv
ZGVyPiBJbWFnZURlY29kZXI6OmNyZWF0ZShJbWFnZUZvcm1hdCBmb3JtYXQsIEFscGhhT3B0aW9u
IGFscGhhT3B0aW9uLCBHYW1tYUFuZENvbG9yUHJvZmlsZU9wdGlvbiBnYW1tYUFuZENvbG9yUHJv
ZmlsZU9wdGlvbikKK3sKKyAgICBzd2l0Y2ggKGZvcm1hdCkgeworICAgIGNhc2UgSW1hZ2VGb3Jt
YXQ6OkltYWdlRm9ybWF0R0lGOgorICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBHSUZJbWFn
ZURlY29kZXIoYWxwaGFPcHRpb24sIGdhbW1hQW5kQ29sb3JQcm9maWxlT3B0aW9uKSk7CisgICAg
Y2FzZSBJbWFnZUZvcm1hdDo6SW1hZ2VGb3JtYXRQTkc6CisgICAgICAgIHJldHVybiBhZG9wdFJl
ZigqbmV3IFBOR0ltYWdlRGVjb2RlcihhbHBoYU9wdGlvbiwgZ2FtbWFBbmRDb2xvclByb2ZpbGVP
cHRpb24pKTsKKyAgICBjYXNlIEltYWdlRm9ybWF0OjpJbWFnZUZvcm1hdElDTzoKKyAgICBjYXNl
IEltYWdlRm9ybWF0OjpJbWFnZUZvcm1hdENVUjoKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgSUNPSW1hZ2VEZWNvZGVyKGFscGhhT3B0aW9uLCBnYW1tYUFuZENvbG9yUHJvZmlsZU9wdGlv
bikpOworICAgIGNhc2UgSW1hZ2VGb3JtYXQ6OkltYWdlRm9ybWF0SlBFRzoKKyAgICAgICAgcmV0
dXJuIGFkb3B0UmVmKCpuZXcgSlBFR0ltYWdlRGVjb2RlcihhbHBoYU9wdGlvbiwgZ2FtbWFBbmRD
b2xvclByb2ZpbGVPcHRpb24pKTsKKyNpZiBVU0UoV0VCUCkKKyAgICBjYXNlIEltYWdlRm9ybWF0
OjpJbWFnZUZvcm1hdFdFQlA6CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFdFQlBJbWFn
ZURlY29kZXIoYWxwaGFPcHRpb24sIGdhbW1hQW5kQ29sb3JQcm9maWxlT3B0aW9uKSk7CisjZW5k
aWYKKyAgICBjYXNlIEltYWdlRm9ybWF0OjpJbWFnZUZvcm1hdEJNUDoKKyAgICAgICAgcmV0dXJu
IGFkb3B0UmVmKCpuZXcgQk1QSW1hZ2VEZWNvZGVyKGFscGhhT3B0aW9uLCBnYW1tYUFuZENvbG9y
UHJvZmlsZU9wdGlvbikpOworICAgIGRlZmF1bHQ6CisgICAgICAgIHJldHVybiBudWxscHRyOwor
ICAgIH0KK30KKwogbmFtZXNwYWNlIHsKIAogZW51bSBNYXRjaFR5cGUgewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvSW1hZ2VEZWNvZGVyLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9JbWFnZURlY29kZXIuaAppbmRl
eCBhZDA1Nzk3NTNkNzVlOTYwODgzOGMwMjY1MjgzMGZjY2JiZWM2NmY1Li4yODIxZTZlYTRlNWFm
NDk4NTIyMzkwZDlmZTNkNDM5MzkyYjliYWZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9JbWFnZURlY29kZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9JbWFnZURlY29kZXIuaApAQCAtNjQsNiArNjQsOSBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIC8vIGJlY2F1c2UgdGhlcmUgaXNuJ3QgZW5v
dWdoIGRhdGEgeWV0KS4KICAgICAgICAgc3RhdGljIFJlZlB0cjxJbWFnZURlY29kZXI+IGNyZWF0
ZShjb25zdCBTaGFyZWRCdWZmZXImIGRhdGEsIEFscGhhT3B0aW9uLCBHYW1tYUFuZENvbG9yUHJv
ZmlsZU9wdGlvbik7CiAKKyAgICAgICAgLy8gQ3JlYXRlIGFuIEltYWdlRGVjb2RlciBmb3IgYW4g
YWxyZWFkeSBrbm93biBmb3JtYXQgaW5zdGVhZCBvZiBkZWNpZGluZyBpdCBmcm9tIHRoZSBwYXNz
ZWQgZGF0YS4KKyAgICAgICAgc3RhdGljIFJlZlB0cjxJbWFnZURlY29kZXI+IGNyZWF0ZShJbWFn
ZUZvcm1hdCwgQWxwaGFPcHRpb24sIEdhbW1hQW5kQ29sb3JQcm9maWxlT3B0aW9uKTsKKwogICAg
ICAgICB2aXJ0dWFsIFN0cmluZyBmaWxlbmFtZUV4dGVuc2lvbigpIGNvbnN0ID0gMDsKICAgICAg
ICAgCiAgICAgICAgIGJvb2wgcHJlbXVsdGlwbHlBbHBoYSgpIGNvbnN0IHsgcmV0dXJuIG1fcHJl
bXVsdGlwbHlBbHBoYTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1h
Z2UtZGVjb2RlcnMvaWNvL0lDT0ltYWdlRGVjb2Rlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9pbWFnZS1kZWNvZGVycy9pY28vSUNPSW1hZ2VEZWNvZGVyLmNwcAppbmRleCBjZDhkZDRi
ODM1M2IyYjdmYjQ5MTE2M2Y0MmFhMmJkZWU1NTMzNTYyLi4wNWJkMjY0MjJmMWU2NmMyNDk0ZGNm
NDdmMjJhZmY3NzdmZDE1Y2NkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9p
bWFnZS1kZWNvZGVycy9pY28vSUNPSW1hZ2VEZWNvZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9pY28vSUNPSW1hZ2VEZWNvZGVyLmNwcApAQCAtMzQs
NyArMzQsNiBAQAogI2luY2x1ZGUgPGFsZ29yaXRobT4KIAogI2luY2x1ZGUgIkJNUEltYWdlUmVh
ZGVyLmgiCi0jaW5jbHVkZSAiUE5HSW1hZ2VEZWNvZGVyLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIApAQCAtMjE2LDkgKzIxNSw3IEBAIGJvb2wgSUNPSW1hZ2VEZWNvZGVyOjpkZWNvZGVBdElu
ZGV4KHNpemVfdCBpbmRleCkKICAgICB9CiAKICAgICBpZiAoIW1fcG5nRGVjb2RlcnNbaW5kZXhd
KSB7Ci0gICAgICAgIG1fcG5nRGVjb2RlcnNbaW5kZXhdID0gc3RkOjptYWtlX3VuaXF1ZTwKLSAg
ICAgICAgICAgIFBOR0ltYWdlRGVjb2Rlcj4obV9wcmVtdWx0aXBseUFscGhhID8gQWxwaGFPcHRp
b246OlByZW11bHRpcGxpZWQgOiBBbHBoYU9wdGlvbjo6Tm90UHJlbXVsdGlwbGllZCwKLSAgICAg
ICAgICAgICAgICBtX2lnbm9yZUdhbW1hQW5kQ29sb3JQcm9maWxlID8gR2FtbWFBbmRDb2xvclBy
b2ZpbGVPcHRpb246Oklnbm9yZWQgOiBHYW1tYUFuZENvbG9yUHJvZmlsZU9wdGlvbjo6QXBwbGll
ZCk7CisgICAgICAgIG1fcG5nRGVjb2RlcnNbaW5kZXhdID0gSW1hZ2VEZWNvZGVyOjpjcmVhdGUo
SW1hZ2VGb3JtYXQ6OkltYWdlRm9ybWF0UE5HLCBtX3ByZW11bHRpcGx5QWxwaGEgPyBBbHBoYU9w
dGlvbjo6UHJlbXVsdGlwbGllZCA6IEFscGhhT3B0aW9uOjpOb3RQcmVtdWx0aXBsaWVkLCBtX2ln
bm9yZUdhbW1hQW5kQ29sb3JQcm9maWxlID8gR2FtbWFBbmRDb2xvclByb2ZpbGVPcHRpb246Okln
bm9yZWQgOiBHYW1tYUFuZENvbG9yUHJvZmlsZU9wdGlvbjo6QXBwbGllZCk7CiAgICAgICAgIHNl
dERhdGFGb3JQTkdEZWNvZGVyQXRJbmRleChpbmRleCk7CiAgICAgfQogICAgIC8vIEZhaWwgaWYg
dGhlIHNpemUgdGhlIFBOR0ltYWdlRGVjb2RlciBjYWxjdWxhdGVkIGRvZXMgbm90IG1hdGNoIHRo
ZSBzaXplCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVy
cy9pY28vSUNPSW1hZ2VEZWNvZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1k
ZWNvZGVycy9pY28vSUNPSW1hZ2VEZWNvZGVyLmgKaW5kZXggMzZkZGI4Zjc4ZWZhNTdlMmM3OGM0
MWNkMGIzYTMxZmI3N2YzY2Q4NS4uODU2MTNkZDRhMDc4MGM4ZTM5ZjIwOTllOGVhNTIxNTJkYjg3
MmE2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMv
aWNvL0lDT0ltYWdlRGVjb2Rlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdl
LWRlY29kZXJzL2ljby9JQ09JbWFnZURlY29kZXIuaApAQCAtMzQsOCArMzQsNiBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLSAgICBjbGFzcyBQTkdJbWFnZURlY29kZXI7Ci0KICAgICAvLyBU
aGlzIGNsYXNzIGRlY29kZXMgdGhlIElDTyBhbmQgQ1VSIGltYWdlIGZvcm1hdHMuCiAgICAgY2xh
c3MgSUNPSW1hZ2VEZWNvZGVyIGZpbmFsIDogcHVibGljIEltYWdlRGVjb2RlciB7CiAgICAgcHVi
bGljOgpAQCAtMTQxLDcgKzEzOSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgLy8g
VGhlIGltYWdlIGRlY29kZXJzIGZvciB0aGUgdmFyaW91cyBmcmFtZXMuCiAgICAgICAgIHR5cGVk
ZWYgVmVjdG9yPHN0ZDo6dW5pcXVlX3B0cjxCTVBJbWFnZVJlYWRlcj4+IEJNUFJlYWRlcnM7CiAg
ICAgICAgIEJNUFJlYWRlcnMgbV9ibXBSZWFkZXJzOwotICAgICAgICB0eXBlZGVmIFZlY3Rvcjxz
dGQ6OnVuaXF1ZV9wdHI8UE5HSW1hZ2VEZWNvZGVyPj4gUE5HRGVjb2RlcnM7CisgICAgICAgIHR5
cGVkZWYgVmVjdG9yPFJlZlB0cjxJbWFnZURlY29kZXI+PiBQTkdEZWNvZGVyczsKICAgICAgICAg
UE5HRGVjb2RlcnMgbV9wbmdEZWNvZGVyczsKIAogICAgICAgICAvLyBWYWxpZCBvbmx5IHdoaWxl
IGEgQk1QSW1hZ2VSZWFkZXIgaXMgZGVjb2RpbmcsIHRoaXMgaG9sZHMgdGhlIHNpemUK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>308078</attachid>
            <date>2017-04-25 02:30:48 -0700</date>
            <delta_ts>2017-04-25 05:35:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-171211-20170425113046.patch</filename>
            <type>text/plain</type>
            <size>12587</size>
            <attacher name="Miguel Gomez">magomez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE1NjgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmQ3MDdjOTBlZWFlZjk3
NTRlNjYyMmE1NGY4NGMyZjFkOTNhNjJkZS4uMmI1MzI4MDA0YzIwNzhiYTYzYmJmZjY4NWMyMGQ1
ZWFiNmNiYjU1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE3LTA0LTI1ICBNaWd1
ZWwgR29tZXogIDxtYWdvbWV6QGlnYWxpYS5jb20+CisKKyAgICAgICAgSW1hZ2UgZGVjb2RlcnMg
bXVzdCBoYXZlIHByaXZhdGUgY29uc3RydWN0b3JzIHRvIGF2b2lkIHJlZmNvdW50IG1pc3VzZTog
QVNTRVJUSU9OIEZBSUxFRDogbV9kZWxldGlvbkhhc0JlZ3VuIHdoZW4gZGVzdHJveWluZyBJbWFn
ZURlY29kZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE3MTIxMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFkZCBhIGNyZWF0ZSBtZXRob2QgdG8gZWFjaCBvZiB0aGUgZGVjb2RlcnMgYW5kIHNldCB0aGVp
ciBjb25zdHJ1Y3RvcnMgYXMgcHJpdmF0ZS4gQ2hhbmdlCisgICAgICAgIElDT0ltYWdlRGVjb2Rl
ciB0byBzdG9yZSBpdHMgaW50ZXJuYWwgUE5HIGRlY29kZXJzIGFzIFJlZlB0ciBhbmQgdXNlIHRo
ZSBuZXcgY3JlYXRlIG1ldGhvZCwgYW5kCisgICAgICAgIGNoYW5nZSBJbWFnZURlY29kZXIgdG8g
dXNlIHRoZSBjcmVhdGUgbWV0aG9kcyBhcyB3ZWxsLgorCisgICAgICAgIENvdmVyZWQgYnkgZXhp
c3RlbnQgdGVzdHMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9JbWFnZURl
Y29kZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VEZWNvZGVyOjpjcmVhdGUpOgorICAg
ICAgICAqIHBsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2JtcC9CTVBJbWFnZURlY29kZXIuaDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9naWYvR0lGSW1hZ2VEZWNvZGVyLmg6Cisg
ICAgICAgICogcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvaWNvL0lDT0ltYWdlRGVjb2Rlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpJQ09JbWFnZURlY29kZXI6OmRlY29kZUF0SW5kZXgpOgorICAg
ICAgICAqIHBsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2ljby9JQ09JbWFnZURlY29kZXIuaDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9qcGVnL0pQRUdJbWFnZURlY29kZXIuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9wbmcvUE5HSW1hZ2VEZWNvZGVyLmg6
CisgICAgICAgICogcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvd2VicC9XRUJQSW1hZ2VEZWNvZGVy
Lmg6CisKIDIwMTctMDQtMjMgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3Jn
PgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyMTU2NTcgYW5kIHIyMTU2NzYu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9JbWFn
ZURlY29kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvSW1h
Z2VEZWNvZGVyLmNwcAppbmRleCBiYWY5ZTQ2NGRjODZlOGQxNWY2ZDVjZWZlYTBiM2E4Njk3MWQw
M2Y0Li5hMGUxMzA5YTBkNTdmMDc2NTg4NGE4ZTBlNzBiMGU5MzkyNzhjY2YyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9JbWFnZURlY29kZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL0ltYWdlRGVjb2Rl
ci5jcHAKQEAgLTEwNSwyNCArMTA1LDI0IEBAIFJlZlB0cjxJbWFnZURlY29kZXI+IEltYWdlRGVj
b2Rlcjo6Y3JlYXRlKGNvbnN0IFNoYXJlZEJ1ZmZlciYgZGF0YSwgQWxwaGFPcHRpb24KICAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CiAKICAgICBpZiAobWF0Y2hlc0dJRlNpZ25hdHVyZShjb250ZW50
cykpCi0gICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEdJRkltYWdlRGVjb2RlcihhbHBoYU9w
dGlvbiwgZ2FtbWFBbmRDb2xvclByb2ZpbGVPcHRpb24pKTsKKyAgICAgICAgcmV0dXJuIEdJRklt
YWdlRGVjb2Rlcjo6Y3JlYXRlKGFscGhhT3B0aW9uLCBnYW1tYUFuZENvbG9yUHJvZmlsZU9wdGlv
bik7CiAKICAgICBpZiAobWF0Y2hlc1BOR1NpZ25hdHVyZShjb250ZW50cykpCi0gICAgICAgIHJl
dHVybiBhZG9wdFJlZigqbmV3IFBOR0ltYWdlRGVjb2RlcihhbHBoYU9wdGlvbiwgZ2FtbWFBbmRD
b2xvclByb2ZpbGVPcHRpb24pKTsKKyAgICAgICAgcmV0dXJuIFBOR0ltYWdlRGVjb2Rlcjo6Y3Jl
YXRlKGFscGhhT3B0aW9uLCBnYW1tYUFuZENvbG9yUHJvZmlsZU9wdGlvbik7CiAKICAgICBpZiAo
bWF0Y2hlc0lDT1NpZ25hdHVyZShjb250ZW50cykgfHwgbWF0Y2hlc0NVUlNpZ25hdHVyZShjb250
ZW50cykpCi0gICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IElDT0ltYWdlRGVjb2RlcihhbHBo
YU9wdGlvbiwgZ2FtbWFBbmRDb2xvclByb2ZpbGVPcHRpb24pKTsKKyAgICAgICAgcmV0dXJuIElD
T0ltYWdlRGVjb2Rlcjo6Y3JlYXRlKGFscGhhT3B0aW9uLCBnYW1tYUFuZENvbG9yUHJvZmlsZU9w
dGlvbik7CiAKICAgICBpZiAobWF0Y2hlc0pQRUdTaWduYXR1cmUoY29udGVudHMpKQotICAgICAg
ICByZXR1cm4gYWRvcHRSZWYoKm5ldyBKUEVHSW1hZ2VEZWNvZGVyKGFscGhhT3B0aW9uLCBnYW1t
YUFuZENvbG9yUHJvZmlsZU9wdGlvbikpOworICAgICAgICByZXR1cm4gSlBFR0ltYWdlRGVjb2Rl
cjo6Y3JlYXRlKGFscGhhT3B0aW9uLCBnYW1tYUFuZENvbG9yUHJvZmlsZU9wdGlvbik7CiAKICNp
ZiBVU0UoV0VCUCkKICAgICBpZiAobWF0Y2hlc1dlYlBTaWduYXR1cmUoY29udGVudHMpKQotICAg
ICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBXRUJQSW1hZ2VEZWNvZGVyKGFscGhhT3B0aW9uLCBn
YW1tYUFuZENvbG9yUHJvZmlsZU9wdGlvbikpOworICAgICAgICByZXR1cm4gV0VCUEltYWdlRGVj
b2Rlcjo6Y3JlYXRlKGFscGhhT3B0aW9uLCBnYW1tYUFuZENvbG9yUHJvZmlsZU9wdGlvbik7CiAj
ZW5kaWYKIAogICAgIGlmIChtYXRjaGVzQk1QU2lnbmF0dXJlKGNvbnRlbnRzKSkKLSAgICAgICAg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgQk1QSW1hZ2VEZWNvZGVyKGFscGhhT3B0aW9uLCBnYW1tYUFu
ZENvbG9yUHJvZmlsZU9wdGlvbikpOworICAgICAgICByZXR1cm4gQk1QSW1hZ2VEZWNvZGVyOjpj
cmVhdGUoYWxwaGFPcHRpb24sIGdhbW1hQW5kQ29sb3JQcm9maWxlT3B0aW9uKTsKIAogICAgIHJl
dHVybiBudWxscHRyOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1h
Z2UtZGVjb2RlcnMvYm1wL0JNUEltYWdlRGVjb2Rlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vaW1hZ2UtZGVjb2RlcnMvYm1wL0JNUEltYWdlRGVjb2Rlci5oCmluZGV4IDhlMmViZGM1MDIy
NWIwNWMyNDZmNGUxMjIyNGM2MGYwNzNjOGM5YWQuLjRiOTA3ZTRiYjRmZDg0NDE5YzBhNTgyMDNh
ZDE0NjljN2M2ZGE4NWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdl
LWRlY29kZXJzL2JtcC9CTVBJbWFnZURlY29kZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9pbWFnZS1kZWNvZGVycy9ibXAvQk1QSW1hZ2VEZWNvZGVyLmgKQEAgLTM3LDcgKzM3LDEw
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAvLyBUaGlzIGNsYXNzIGRlY29kZXMgdGhlIEJN
UCBpbWFnZSBmb3JtYXQuCiAgICAgY2xhc3MgQk1QSW1hZ2VEZWNvZGVyIGZpbmFsIDogcHVibGlj
IEltYWdlRGVjb2RlciB7CiAgICAgcHVibGljOgotICAgICAgICBCTVBJbWFnZURlY29kZXIoQWxw
aGFPcHRpb24sIEdhbW1hQW5kQ29sb3JQcm9maWxlT3B0aW9uKTsKKyAgICAgICAgc3RhdGljIFJl
ZjxJbWFnZURlY29kZXI+IGNyZWF0ZShBbHBoYU9wdGlvbiBhbHBoYU9wdGlvbiwgR2FtbWFBbmRD
b2xvclByb2ZpbGVPcHRpb24gZ2FtbWFBbmRDb2xvclByb2ZpbGVPcHRpb24pCisgICAgICAgIHsK
KyAgICAgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEJNUEltYWdlRGVjb2RlcihhbHBoYU9w
dGlvbiwgZ2FtbWFBbmRDb2xvclByb2ZpbGVPcHRpb24pKTsKKyAgICAgICAgfQogCiAgICAgICAg
IC8vIEltYWdlRGVjb2RlcgogICAgICAgICBTdHJpbmcgZmlsZW5hbWVFeHRlbnNpb24oKSBjb25z
dCBvdmVycmlkZSB7IHJldHVybiAiYm1wIjsgfQpAQCAtNTAsNiArNTMsOCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgICAgIGJvb2wgc2V0RmFpbGVkKCkgb3ZlcnJpZGU7CiAKICAgICBwcml2
YXRlOgorICAgICAgICBCTVBJbWFnZURlY29kZXIoQWxwaGFPcHRpb24sIEdhbW1hQW5kQ29sb3JQ
cm9maWxlT3B0aW9uKTsKKwogICAgICAgICBpbmxpbmUgdWludDMyX3QgcmVhZFVpbnQzMihpbnQg
b2Zmc2V0KSBjb25zdAogICAgICAgICB7CiAgICAgICAgICAgICByZXR1cm4gQk1QSW1hZ2VSZWFk
ZXI6OnJlYWRVaW50MzIobV9kYXRhLmdldCgpLCBtX2RlY29kZWRPZmZzZXQgKyBvZmZzZXQpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvZ2lmL0dJ
RkltYWdlRGVjb2Rlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMv
Z2lmL0dJRkltYWdlRGVjb2Rlci5oCmluZGV4IGVhOWFhZmY0M2NhNjBkOGZmODEyZjI3ODRmYzEx
Mjc1NzUwOGFkYjYuLmZlOTM4NjgxMGVlNTIxMWUzNjdlM2U5YjM3YjkxNjQwZjg5YzFkNDYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2dpZi9HSUZJ
bWFnZURlY29kZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVy
cy9naWYvR0lGSW1hZ2VEZWNvZGVyLmgKQEAgLTM1LDcgKzM1LDExIEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICAvLyBUaGlzIGNsYXNzIGRlY29kZXMgdGhlIEdJRiBpbWFnZSBmb3JtYXQuCiAg
ICAgY2xhc3MgR0lGSW1hZ2VEZWNvZGVyIGZpbmFsIDogcHVibGljIEltYWdlRGVjb2RlciB7CiAg
ICAgcHVibGljOgotICAgICAgICBHSUZJbWFnZURlY29kZXIoQWxwaGFPcHRpb24sIEdhbW1hQW5k
Q29sb3JQcm9maWxlT3B0aW9uKTsKKyAgICAgICAgc3RhdGljIFJlZjxJbWFnZURlY29kZXI+IGNy
ZWF0ZShBbHBoYU9wdGlvbiBhbHBoYU9wdGlvbiwgR2FtbWFBbmRDb2xvclByb2ZpbGVPcHRpb24g
Z2FtbWFBbmRDb2xvclByb2ZpbGVPcHRpb24pCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVy
biBhZG9wdFJlZigqbmV3IEdJRkltYWdlRGVjb2RlcihhbHBoYU9wdGlvbiwgZ2FtbWFBbmRDb2xv
clByb2ZpbGVPcHRpb24pKTsKKyAgICAgICAgfQorCiAgICAgICAgIHZpcnR1YWwgfkdJRkltYWdl
RGVjb2RlcigpOwogCiAgICAgICAgIGVudW0gR0lGUXVlcnkgeyBHSUZGdWxsUXVlcnksIEdJRlNp
emVRdWVyeSwgR0lGRnJhbWVDb3VudFF1ZXJ5IH07CkBAIC02MCw2ICs2NCw4IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCBnaWZDb21wbGV0ZSgpOwogCiAgICAgcHJpdmF0ZToK
KyAgICAgICAgR0lGSW1hZ2VEZWNvZGVyKEFscGhhT3B0aW9uLCBHYW1tYUFuZENvbG9yUHJvZmls
ZU9wdGlvbik7CisKICAgICAgICAgLy8gSWYgdGhlIHF1ZXJ5IGlzIEdJRkZ1bGxRdWVyeSwgZGVj
b2RlcyB0aGUgaW1hZ2UgdXAgdG8gKGJ1dCBub3QKICAgICAgICAgLy8gaW5jbHVkaW5nKSB8aGFs
dEF0RnJhbWV8LiAgT3RoZXJ3aXNlLCBkZWNvZGVzIGFzIG11Y2ggYXMgaXMgbmVlZGVkIHRvCiAg
ICAgICAgIC8vIGFuc3dlciB0aGUgcXVlcnksIGlnbm9yaW5nIGJpdG1hcCBkYXRhLiAgSWYgZGVj
b2RpbmcgZmFpbHMgYnV0IHRoZXJlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9pbWFnZS1kZWNvZGVycy9pY28vSUNPSW1hZ2VEZWNvZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2ljby9JQ09JbWFnZURlY29kZXIuY3BwCmluZGV4IGNk
OGRkNGI4MzUzYjJiN2ZiNDkxMTYzZjQyYWEyYmRlZTU1MzM1NjIuLmIwMDM0MjJkNGM3MWNmNTdm
ZjIwYTMzYWRiMjVjYmZhNWFjNmE3OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2ltYWdlLWRlY29kZXJzL2ljby9JQ09JbWFnZURlY29kZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2ljby9JQ09JbWFnZURlY29kZXIuY3BwCkBA
IC0yMTYsOSArMjE2LDcgQEAgYm9vbCBJQ09JbWFnZURlY29kZXI6OmRlY29kZUF0SW5kZXgoc2l6
ZV90IGluZGV4KQogICAgIH0KIAogICAgIGlmICghbV9wbmdEZWNvZGVyc1tpbmRleF0pIHsKLSAg
ICAgICAgbV9wbmdEZWNvZGVyc1tpbmRleF0gPSBzdGQ6Om1ha2VfdW5pcXVlPAotICAgICAgICAg
ICAgUE5HSW1hZ2VEZWNvZGVyPihtX3ByZW11bHRpcGx5QWxwaGEgPyBBbHBoYU9wdGlvbjo6UHJl
bXVsdGlwbGllZCA6IEFscGhhT3B0aW9uOjpOb3RQcmVtdWx0aXBsaWVkLAotICAgICAgICAgICAg
ICAgIG1faWdub3JlR2FtbWFBbmRDb2xvclByb2ZpbGUgPyBHYW1tYUFuZENvbG9yUHJvZmlsZU9w
dGlvbjo6SWdub3JlZCA6IEdhbW1hQW5kQ29sb3JQcm9maWxlT3B0aW9uOjpBcHBsaWVkKTsKKyAg
ICAgICAgbV9wbmdEZWNvZGVyc1tpbmRleF0gPSBQTkdJbWFnZURlY29kZXI6OmNyZWF0ZShtX3By
ZW11bHRpcGx5QWxwaGEgPyBBbHBoYU9wdGlvbjo6UHJlbXVsdGlwbGllZCA6IEFscGhhT3B0aW9u
OjpOb3RQcmVtdWx0aXBsaWVkLCBtX2lnbm9yZUdhbW1hQW5kQ29sb3JQcm9maWxlID8gR2FtbWFB
bmRDb2xvclByb2ZpbGVPcHRpb246Oklnbm9yZWQgOiBHYW1tYUFuZENvbG9yUHJvZmlsZU9wdGlv
bjo6QXBwbGllZCk7CiAgICAgICAgIHNldERhdGFGb3JQTkdEZWNvZGVyQXRJbmRleChpbmRleCk7
CiAgICAgfQogICAgIC8vIEZhaWwgaWYgdGhlIHNpemUgdGhlIFBOR0ltYWdlRGVjb2RlciBjYWxj
dWxhdGVkIGRvZXMgbm90IG1hdGNoIHRoZSBzaXplCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9pY28vSUNPSW1hZ2VEZWNvZGVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9pY28vSUNPSW1hZ2VEZWNvZGVyLmgKaW5k
ZXggMzZkZGI4Zjc4ZWZhNTdlMmM3OGM0MWNkMGIzYTMxZmI3N2YzY2Q4NS4uOWFkYjBiOTkwNzAx
Y2IzYzlhNzM4Mzg0MDBkMjUyZjQ3ODM5YzY5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvaWNvL0lDT0ltYWdlRGVjb2Rlci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2ljby9JQ09JbWFnZURlY29kZXIuaApA
QCAtMzMsMTMgKzMzLDE0IEBACiAjaW5jbHVkZSAiQk1QSW1hZ2VSZWFkZXIuaCIKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewotCi0gICAgY2xhc3MgUE5HSW1hZ2VEZWNvZGVyOwotCiAgICAgLy8gVGhp
cyBjbGFzcyBkZWNvZGVzIHRoZSBJQ08gYW5kIENVUiBpbWFnZSBmb3JtYXRzLgogICAgIGNsYXNz
IElDT0ltYWdlRGVjb2RlciBmaW5hbCA6IHB1YmxpYyBJbWFnZURlY29kZXIgewogICAgIHB1Ymxp
YzoKLSAgICAgICAgSUNPSW1hZ2VEZWNvZGVyKEFscGhhT3B0aW9uLCBHYW1tYUFuZENvbG9yUHJv
ZmlsZU9wdGlvbik7CisgICAgICAgIHN0YXRpYyBSZWY8SW1hZ2VEZWNvZGVyPiBjcmVhdGUoQWxw
aGFPcHRpb24gYWxwaGFPcHRpb24sIEdhbW1hQW5kQ29sb3JQcm9maWxlT3B0aW9uIGdhbW1hQW5k
Q29sb3JQcm9maWxlT3B0aW9uKQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gYWRvcHRS
ZWYoKm5ldyBJQ09JbWFnZURlY29kZXIoYWxwaGFPcHRpb24sIGdhbW1hQW5kQ29sb3JQcm9maWxl
T3B0aW9uKSk7CisgICAgICAgIH0KKwogICAgICAgICB2aXJ0dWFsIH5JQ09JbWFnZURlY29kZXIo
KTsKIAogICAgICAgICAvLyBJbWFnZURlY29kZXIKQEAgLTc2LDYgKzc3LDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgICAgICAgICAgdWludDMyX3QgbV9pbWFnZU9mZnNldDsKICAgICAgICAg
fTsKIAorICAgICAgICBJQ09JbWFnZURlY29kZXIoQWxwaGFPcHRpb24sIEdhbW1hQW5kQ29sb3JQ
cm9maWxlT3B0aW9uKTsKKwogICAgICAgICAvLyBSZXR1cm5zIHRydWUgaWYgfGF8IGlzIGEgcHJl
ZmVyYWJsZSBpY29uIGVudHJ5IHRvIHxifC4KICAgICAgICAgLy8gTGFyZ2VyIHNpemVzLCBvciBn
cmVhdGVyIGJpdGRlcHRocyBhdCB0aGUgc2FtZSBzaXplLCBhcmUgcHJlZmVyYWJsZS4KICAgICAg
ICAgc3RhdGljIGJvb2wgY29tcGFyZUVudHJpZXMoY29uc3QgSWNvbkRpcmVjdG9yeUVudHJ5JiBh
LCBjb25zdCBJY29uRGlyZWN0b3J5RW50cnkmIGIpOwpAQCAtMTQxLDcgKzE0NCw3IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAgICAgLy8gVGhlIGltYWdlIGRlY29kZXJzIGZvciB0aGUgdmFy
aW91cyBmcmFtZXMuCiAgICAgICAgIHR5cGVkZWYgVmVjdG9yPHN0ZDo6dW5pcXVlX3B0cjxCTVBJ
bWFnZVJlYWRlcj4+IEJNUFJlYWRlcnM7CiAgICAgICAgIEJNUFJlYWRlcnMgbV9ibXBSZWFkZXJz
OwotICAgICAgICB0eXBlZGVmIFZlY3RvcjxzdGQ6OnVuaXF1ZV9wdHI8UE5HSW1hZ2VEZWNvZGVy
Pj4gUE5HRGVjb2RlcnM7CisgICAgICAgIHR5cGVkZWYgVmVjdG9yPFJlZlB0cjxJbWFnZURlY29k
ZXI+PiBQTkdEZWNvZGVyczsKICAgICAgICAgUE5HRGVjb2RlcnMgbV9wbmdEZWNvZGVyczsKIAog
ICAgICAgICAvLyBWYWxpZCBvbmx5IHdoaWxlIGEgQk1QSW1hZ2VSZWFkZXIgaXMgZGVjb2Rpbmcs
IHRoaXMgaG9sZHMgdGhlIHNpemUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2ltYWdlLWRlY29kZXJzL2pwZWcvSlBFR0ltYWdlRGVjb2Rlci5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvanBlZy9KUEVHSW1hZ2VEZWNvZGVyLmgKaW5kZXggMWFl
YjMwMGIzODU3Y2U3ZjI4MTA0YjU5NGE2Nzk2OTY0OTc4ZGZiNi4uNmYyM2IxOTlhZjJmODZiOTgz
MzE5MjZjNDdlZDdmOWQwZmQ3N2YyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vaW1hZ2UtZGVjb2RlcnMvanBlZy9KUEVHSW1hZ2VEZWNvZGVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvanBlZy9KUEVHSW1hZ2VEZWNvZGVyLmgKQEAg
LTQzLDcgKzQzLDExIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAvLyBUaGlzIGNsYXNzIGRl
Y29kZXMgdGhlIEpQRUcgaW1hZ2UgZm9ybWF0LgogICAgIGNsYXNzIEpQRUdJbWFnZURlY29kZXIg
ZmluYWwgOiBwdWJsaWMgSW1hZ2VEZWNvZGVyIHsKICAgICBwdWJsaWM6Ci0gICAgICAgIEpQRUdJ
bWFnZURlY29kZXIoQWxwaGFPcHRpb24sIEdhbW1hQW5kQ29sb3JQcm9maWxlT3B0aW9uKTsKKyAg
ICAgICAgc3RhdGljIFJlZjxJbWFnZURlY29kZXI+IGNyZWF0ZShBbHBoYU9wdGlvbiBhbHBoYU9w
dGlvbiwgR2FtbWFBbmRDb2xvclByb2ZpbGVPcHRpb24gZ2FtbWFBbmRDb2xvclByb2ZpbGVPcHRp
b24pCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEpQRUdJbWFn
ZURlY29kZXIoYWxwaGFPcHRpb24sIGdhbW1hQW5kQ29sb3JQcm9maWxlT3B0aW9uKSk7CisgICAg
ICAgIH0KKwogICAgICAgICB2aXJ0dWFsIH5KUEVHSW1hZ2VEZWNvZGVyKCk7CiAKICAgICAgICAg
Ly8gSW1hZ2VEZWNvZGVyCkBAIC02OCw2ICs3Miw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICAgICAgdm9pZCBzZXRPcmllbnRhdGlvbihJbWFnZU9yaWVudGF0aW9uIG9yaWVudGF0aW9uKSB7
IG1fb3JpZW50YXRpb24gPSBvcmllbnRhdGlvbjsgfQogCiAgICAgcHJpdmF0ZToKKyAgICAgICAg
SlBFR0ltYWdlRGVjb2RlcihBbHBoYU9wdGlvbiwgR2FtbWFBbmRDb2xvclByb2ZpbGVPcHRpb24p
OworCiAgICAgICAgIC8vIERlY29kZXMgdGhlIGltYWdlLiAgSWYgfG9ubHlTaXplfCBpcyB0cnVl
LCBzdG9wcyBkZWNvZGluZyBhZnRlcgogICAgICAgICAvLyBjYWxjdWxhdGluZyB0aGUgaW1hZ2Ug
c2l6ZS4gIElmIGRlY29kaW5nIGZhaWxzIGJ1dCB0aGVyZSBpcyBubyBtb3JlCiAgICAgICAgIC8v
IGRhdGEgY29taW5nLCBzZXRzIHRoZSAiZGVjb2RlIGZhaWx1cmUiIGZsYWcuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9wbmcvUE5HSW1hZ2VEZWNv
ZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9wbmcvUE5HSW1h
Z2VEZWNvZGVyLmgKaW5kZXggZGNkYjgwYzgyOTRlOThhNzI5NzFlZjM2YTk5OGQ4OGRhNzI4Y2Y4
Mi4uZGQ1OTFhODk1ZWYyZWQ3ZTUxYjJjNGJiYTVhNjRhMmJmN2VlMGIyOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvcG5nL1BOR0ltYWdlRGVjb2Rl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL3BuZy9QTkdJ
bWFnZURlY29kZXIuaApAQCAtMzcsNyArMzcsMTEgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
IC8vIFRoaXMgY2xhc3MgZGVjb2RlcyB0aGUgUE5HIGltYWdlIGZvcm1hdC4KICAgICBjbGFzcyBQ
TkdJbWFnZURlY29kZXIgZmluYWwgOiBwdWJsaWMgSW1hZ2VEZWNvZGVyIHsKICAgICBwdWJsaWM6
Ci0gICAgICAgIFBOR0ltYWdlRGVjb2RlcihBbHBoYU9wdGlvbiwgR2FtbWFBbmRDb2xvclByb2Zp
bGVPcHRpb24pOworICAgICAgICBzdGF0aWMgUmVmPEltYWdlRGVjb2Rlcj4gY3JlYXRlKEFscGhh
T3B0aW9uIGFscGhhT3B0aW9uLCBHYW1tYUFuZENvbG9yUHJvZmlsZU9wdGlvbiBnYW1tYUFuZENv
bG9yUHJvZmlsZU9wdGlvbikKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIGFkb3B0UmVm
KCpuZXcgUE5HSW1hZ2VEZWNvZGVyKGFscGhhT3B0aW9uLCBnYW1tYUFuZENvbG9yUHJvZmlsZU9w
dGlvbikpOworICAgICAgICB9CisKICAgICAgICAgdmlydHVhbCB+UE5HSW1hZ2VEZWNvZGVyKCk7
CiAKICAgICAgICAgLy8gSW1hZ2VEZWNvZGVyCkBAIC04NSw2ICs4OSw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAgICAgfQogCiAgICAgcHJpdmF0ZToKKyAgICAgICAgUE5HSW1hZ2VEZWNv
ZGVyKEFscGhhT3B0aW9uLCBHYW1tYUFuZENvbG9yUHJvZmlsZU9wdGlvbik7CisKICAgICAgICAg
Ly8gRGVjb2RlcyB0aGUgaW1hZ2UuICBJZiB8b25seVNpemV8IGlzIHRydWUsIHN0b3BzIGRlY29k
aW5nIGFmdGVyCiAgICAgICAgIC8vIGNhbGN1bGF0aW5nIHRoZSBpbWFnZSBzaXplLiAgSWYgZGVj
b2RpbmcgZmFpbHMgYnV0IHRoZXJlIGlzIG5vIG1vcmUKICAgICAgICAgLy8gZGF0YSBjb21pbmcs
IHNldHMgdGhlICJkZWNvZGUgZmFpbHVyZSIgZmxhZy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL3dlYnAvV0VCUEltYWdlRGVjb2Rlci5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvd2VicC9XRUJQSW1hZ2VEZWNvZGVy
LmgKaW5kZXggYmU5Nzk1ZTU2NWFiZGNlMWUzMTI5OTMzMzdmZTRjMzA2ZmJkYWFjMC4uNzlmMzhi
NWU5ZDIyMGI3NmE3MTA2OTBmMDY0OWYzYzVkMjJiZmI5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvd2VicC9XRUJQSW1hZ2VEZWNvZGVyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvd2VicC9XRUJQSW1hZ2VE
ZWNvZGVyLmgKQEAgLTM4LDcgKzM4LDExIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3Mg
V0VCUEltYWdlRGVjb2RlciBmaW5hbCA6IHB1YmxpYyBJbWFnZURlY29kZXIgewogcHVibGljOgot
ICAgIFdFQlBJbWFnZURlY29kZXIoQWxwaGFPcHRpb24sIEdhbW1hQW5kQ29sb3JQcm9maWxlT3B0
aW9uKTsKKyAgICBzdGF0aWMgUmVmPEltYWdlRGVjb2Rlcj4gY3JlYXRlKEFscGhhT3B0aW9uIGFs
cGhhT3B0aW9uLCBHYW1tYUFuZENvbG9yUHJvZmlsZU9wdGlvbiBnYW1tYUFuZENvbG9yUHJvZmls
ZU9wdGlvbikKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFdFQlBJbWFnZURl
Y29kZXIoYWxwaGFPcHRpb24sIGdhbW1hQW5kQ29sb3JQcm9maWxlT3B0aW9uKSk7CisgICAgfQor
CiAgICAgdmlydHVhbCB+V0VCUEltYWdlRGVjb2RlcigpOwogCiAgICAgU3RyaW5nIGZpbGVuYW1l
RXh0ZW5zaW9uKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gIndlYnAiOyB9CkBAIC00Niw2ICs1
MCw4IEBAIHB1YmxpYzoKICAgICBJbWFnZUZyYW1lKiBmcmFtZUJ1ZmZlckF0SW5kZXgoc2l6ZV90
IGluZGV4KSBvdmVycmlkZTsKIAogcHJpdmF0ZToKKyAgICBXRUJQSW1hZ2VEZWNvZGVyKEFscGhh
T3B0aW9uLCBHYW1tYUFuZENvbG9yUHJvZmlsZU9wdGlvbik7CisKICAgICBib29sIGRlY29kZShi
b29sIG9ubHlTaXplKTsKIAogICAgIFdlYlBJRGVjb2RlciogbV9kZWNvZGVyOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>