<?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>109540</bug_id>
          
          <creation_ts>2013-02-11 19:59:44 -0800</creation_ts>
          <short_desc>[TexMap] Apply frames-per-second debug counter to WK1.</short_desc>
          <delta_ts>2013-02-12 05:51:04 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</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>107942</dependson>
          <blocked>109428</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dongseong Hwang">dongseong.hwang</reporter>
          <assigned_to name="Dongseong Hwang">dongseong.hwang</assigned_to>
          <cc>bruno.abinader</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>noam</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>830483</commentid>
    <comment_count>0</comment_count>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2013-02-11 19:59:44 -0800</bug_when>
    <thetext>r142524 implemented frames-per-second debug counter on WK2. This patch applies frames-per-second debug counter to WK1 also.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>830489</commentid>
    <comment_count>1</comment_count>
      <attachid>187762</attachid>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2013-02-11 20:09:51 -0800</bug_when>
    <thetext>Created attachment 187762
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>830514</commentid>
    <comment_count>2</comment_count>
      <attachid>187766</attachid>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2013-02-11 20:37:29 -0800</bug_when>
    <thetext>Created attachment 187766
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>830587</commentid>
    <comment_count>3</comment_count>
      <attachid>187766</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2013-02-11 23:13:05 -0800</bug_when>
    <thetext>Comment on attachment 187766
Patch

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

&gt; Source/WebCore/platform/graphics/texmap/TextureMapperFPSCounter.cpp:48
&gt; +void TextureMapperFPSCounter::update(TextureMapper* textureMapper, const FloatPoint&amp; location, const TransformationMatrix&amp; matrix)

The name update is a bit ambiguous.
How about incrementFrameCountAndDisplay</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>830602</commentid>
    <comment_count>4</comment_count>
      <attachid>187766</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2013-02-11 23:32:48 -0800</bug_when>
    <thetext>Comment on attachment 187766
Patch

I&apos;m not sure that painting to clip.location() is always right. 
In WK2 this is somewhat acceptable because the viewport is always painted in full, but in WK1 it would cause strange artifacts if partial updates occur.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>830620</commentid>
    <comment_count>5</comment_count>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2013-02-12 00:02:58 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 187766 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=187766&amp;action=review
&gt; The name update is a bit ambiguous.
&gt; How about incrementFrameCountAndDisplay

ok, I&apos;ll change incrementFrameCountAndDisplay

(In reply to comment #4)
&gt; (From update of attachment 187766 [details])
&gt; I&apos;m not sure that painting to clip.location() is always right. 
&gt; In WK2 this is somewhat acceptable because the viewport is always painted in full, but in WK1 it would cause strange artifacts if partial updates occur.

In WK1, we will set location to IntPoint::zero().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>830634</commentid>
    <comment_count>6</comment_count>
      <attachid>187788</attachid>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2013-02-12 00:11:57 -0800</bug_when>
    <thetext>Created attachment 187788
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>830641</commentid>
    <comment_count>7</comment_count>
      <attachid>187791</attachid>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2013-02-12 00:24:18 -0800</bug_when>
    <thetext>Created attachment 187791
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>830645</commentid>
    <comment_count>8</comment_count>
      <attachid>187791</attachid>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2013-02-12 00:26:14 -0800</bug_when>
    <thetext>Comment on attachment 187791
Patch

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

&gt; Source/WebCore/platform/graphics/texmap/TextureMapperFPSCounter.cpp:48
&gt; +void TextureMapperFPSCounter::updateFPSAndDisplay(TextureMapper* textureMapper, const FloatPoint&amp; location, const TransformationMatrix&amp; matrix)

Rename from incrementFrameCountAndDisplay to updateFPSAndDisplay because incrementing frame count is implementation detail and the goal is to update FPS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>830663</commentid>
    <comment_count>9</comment_count>
      <attachid>187791</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2013-02-12 00:46:52 -0800</bug_when>
    <thetext>Comment on attachment 187791
Patch

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

&gt; Source/WebCore/platform/graphics/texmap/TextureMapperFPSCounter.cpp:4
&gt; +    Copyright (C) 2012, 2013 Company 100, Inc.
&gt; +

Bruno from BasysKom has written the original change.
Bruno, if you want to add a BasysKom copyright header feel free :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>830672</commentid>
    <comment_count>10</comment_count>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2013-02-12 00:54:15 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; (From update of attachment 187791 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=187791&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/texmap/TextureMapperFPSCounter.cpp:4
&gt; &gt; +    Copyright (C) 2012, 2013 Company 100, Inc.
&gt; &gt; +
&gt; 
&gt; Bruno from BasysKom has written the original change.
&gt; Bruno, if you want to add a BasysKom copyright header feel free :)

Aha. I&apos;m waiting for Bruno&apos;s comment before cq+ :)

If you comment, I&apos;ll cq+ with the copyright!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>830673</commentid>
    <comment_count>11</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2013-02-12 00:55:14 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; (In reply to comment #9)
&gt; &gt; (From update of attachment 187791 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=187791&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/platform/graphics/texmap/TextureMapperFPSCounter.cpp:4
&gt; &gt; &gt; +    Copyright (C) 2012, 2013 Company 100, Inc.
&gt; &gt; &gt; +
&gt; &gt; 
&gt; &gt; Bruno from BasysKom has written the original change.
&gt; &gt; Bruno, if you want to add a BasysKom copyright header feel free :)
&gt; 
&gt; Aha. I&apos;m waiting for Bruno&apos;s comment before cq+ :)
&gt; 
&gt; If you comment, I&apos;ll cq+ with the copyright!
I think you can commit. Bruno can add the copyright later if he wishes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>830679</commentid>
    <comment_count>12</comment_count>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2013-02-12 01:06:02 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; I think you can commit. Bruno can add the copyright later if he wishes.

ok, could you cq+? I don&apos;t have a committer authority yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>830692</commentid>
    <comment_count>13</comment_count>
      <attachid>187791</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-12 01:36:19 -0800</bug_when>
    <thetext>Comment on attachment 187791
Patch

Clearing flags on attachment: 187791

Committed r142595: &lt;http://trac.webkit.org/changeset/142595&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>830693</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-12 01:36:24 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>830775</commentid>
    <comment_count>15</comment_count>
    <who name="Bruno Abinader (history only)">bruno.abinader</who>
    <bug_when>2013-02-12 04:31:13 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; (In reply to comment #10)
&gt; &gt; (In reply to comment #9)
&gt; &gt; &gt; (From update of attachment 187791 [details] [details] [details])
&gt; &gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=187791&amp;action=review
&gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Source/WebCore/platform/graphics/texmap/TextureMapperFPSCounter.cpp:4
&gt; &gt; &gt; &gt; +    Copyright (C) 2012, 2013 Company 100, Inc.
&gt; &gt; &gt; &gt; +
&gt; &gt; &gt; 
&gt; &gt; &gt; Bruno from BasysKom has written the original change.
&gt; &gt; &gt; Bruno, if you want to add a BasysKom copyright header feel free :)
&gt; &gt; 
&gt; &gt; Aha. I&apos;m waiting for Bruno&apos;s comment before cq+ :)
&gt; &gt; 
&gt; &gt; If you comment, I&apos;ll cq+ with the copyright!
&gt; I think you can commit. Bruno can add the copyright later if he wishes.

Hi guys, sorry, different timezones here! (Manaus, Brazil -04:00 GMT). Yes, please do, shall I add a one-liner patch to this bug to add the copyright info?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>830780</commentid>
    <comment_count>16</comment_count>
    <who name="Bruno Abinader (history only)">bruno.abinader</who>
    <bug_when>2013-02-12 04:46:57 -0800</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>830781</commentid>
    <comment_count>17</comment_count>
      <attachid>187832</attachid>
    <who name="Bruno Abinader (history only)">bruno.abinader</who>
    <bug_when>2013-02-12 04:47:04 -0800</bug_when>
    <thetext>Created attachment 187832
Complementary patch (basysKom copyright)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>830843</commentid>
    <comment_count>18</comment_count>
      <attachid>187832</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-12 05:50:59 -0800</bug_when>
    <thetext>Comment on attachment 187832
Complementary patch (basysKom copyright)

Clearing flags on attachment: 187832

Committed r142608: &lt;http://trac.webkit.org/changeset/142608&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>830844</commentid>
    <comment_count>19</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-12 05:51:04 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>187762</attachid>
            <date>2013-02-11 20:09:51 -0800</date>
            <delta_ts>2013-02-11 20:37:25 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-109540-20130212130543.patch</filename>
            <type>text/plain</type>
            <size>29568</size>
            <attacher name="Dongseong Hwang">dongseong.hwang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyNTY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzZmMWJmNGJlOGZmZGU2
ZmNmNTY0YWQyNDAxYjdmYWVhNzU2ODAyZS4uOWU2YjBhNWM3N2U1M2U3M2FmZTE2ODg5NWUyOGI1
MmQ4NzcyNzcyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ3IEBACiAyMDEzLTAyLTExICBIdWFu
ZyBEb25nc3VuZyAgPGx1eHRlbGxhQGNvbXBhbnkxMDAubmV0PgogCisgICAgICAgIFtUZXhNYXBd
IEFwcGx5IGZyYW1lcy1wZXItc2Vjb25kIGRlYnVnIGNvdW50ZXIgdG8gV0sxLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA5NTQwCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgcjE0MjUyNCBpbXBsZW1lbnRl
ZCBmcmFtZXMtcGVyLXNlY29uZCBkZWJ1ZyBjb3VudGVyIG9uIFdLMi4gVGhpcyBwYXRjaAorICAg
ICAgICBhcHBsaWVzIGZyYW1lcy1wZXItc2Vjb25kIGRlYnVnIGNvdW50ZXIgdG8gV0sxIGFsc28u
CisKKyAgICAgICAgVmlzdWFsIGRlYnVnZ2luZyBmZWF0dXJlLCBubyBuZWVkIGZvciBuZXcgdGVz
dHMuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5s
aXN0LmFtOgorICAgICAgICAqIFRhcmdldC5wcmk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvdGV4bWFwL1RleHR1cmVNYXBwZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90
ZXhtYXAvVGV4dHVyZU1hcHBlckZQU0NvdW50ZXIuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNv
cmUpOgorICAgICAgICAoV2ViQ29yZTo6VGV4dHVyZU1hcHBlckZQU0NvdW50ZXI6OlRleHR1cmVN
YXBwZXJGUFNDb3VudGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHR1cmVNYXBwZXJGUFNDb3Vu
dGVyOjp1cGRhdGUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJl
TWFwcGVyRlBTQ291bnRlci5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAo
VGV4dHVyZU1hcHBlckZQU0NvdW50ZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3Rl
eG1hcC9UZXh0dXJlTWFwcGVyR0wuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4dHVyZU1hcHBl
ckdMOjpkcmF3TnVtYmVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4
dHVyZU1hcHBlckdMLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1
cmVNYXBwZXJJbWFnZUJ1ZmZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUZXh0dXJlTWFwcGVy
SW1hZ2VCdWZmZXI6OmRyYXdOdW1iZXIpOgorICAgICAgICAgIFJlbmFtZSBmcm9tIGRyYXdSZXBh
aW50Q291bnRlciB0byBkcmF3TnVtYmVyLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3Rl
eG1hcC9UZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXIuaDoKKyAgICAgICAgKFRleHR1cmVNYXBwZXJJ
bWFnZUJ1ZmZlcik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVN
YXBwZXJUaWxlZEJhY2tpbmdTdG9yZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUZXh0dXJlTWFw
cGVyVGlsZWRCYWNraW5nU3RvcmU6OmRyYXdSZXBhaW50Q291bnRlcik6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkQmFja2luZ1N0b3Jl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvb3JkaW5hdGVkQmFja2luZ1N0b3JlOjpkcmF3UmVw
YWludENvdW50ZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGlu
YXRlZC9Db29yZGluYXRlZEdyYXBoaWNzU2NlbmUuY3BwOgorICAgICAgICAgIE1vdmUgZnJhbWVz
LXBlci1zZWNvbmQgZGVidWcgY291bnRlciBjb2RlIHRvIFRleHR1cmVNYXBwZXJGUFNDb3VudGVy
LgorICAgICAgICAoV2ViQ29yZTo6Q29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjpDb29yZGluYXRl
ZEdyYXBoaWNzU2NlbmUpOgorICAgICAgICAoV2ViQ29yZTo6Q29vcmRpbmF0ZWRHcmFwaGljc1Nj
ZW5lOjpwYWludFRvQ3VycmVudEdMQ29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpDb29yZGlu
YXRlZEdyYXBoaWNzU2NlbmU6OnBhaW50VG9HcmFwaGljc0NvbnRleHQpOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzU2Nl
bmUuaDoKKworMjAxMy0wMi0xMSAgSHVhbmcgRG9uZ3N1bmcgIDxsdXh0ZWxsYUBjb21wYW55MTAw
Lm5ldD4KKwogICAgICAgICBDb29yZGluYXRlZCBHcmFwaGljczogcmVtb3ZlIHRoZSBEaWRDaGFu
Z2VTY3JvbGxQb3NpdGlvbiBtZXNzYWdlLgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTA4MDUxCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZs
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwppbmRleCA2YjdkYzAyNzIy
ZWE2YjA4MDdmMjU5NDNmNjJlMTFjODJiMGRmMjFkLi40NjMxODllN2U4YzQzYzFhMjAxOGY2M2Iw
NGVhNjkyYzRhNGI0OWM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTMt
MDItMTEgIEh1YW5nIERvbmdzdW5nICA8bHV4dGVsbGFAY29tcGFueTEwMC5uZXQ+CisKKyAgICAg
ICAgW1RleE1hcF0gQXBwbHkgZnJhbWVzLXBlci1zZWNvbmQgZGVidWcgY291bnRlciB0byBXSzEu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDk1NDAK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYWtlIEFj
Y2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0RWZsIHVzZSBUZXh0dXJlTWFwcGVyRlBTQ291bnRl
ci4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250
ZXh0RWZsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250
ZXh0OjpyZW5kZXJMYXllcnMpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0FjY2VsZXJhdGVk
Q29tcG9zaXRpbmdDb250ZXh0RWZsLmg6CisgICAgICAgIChBY2NlbGVyYXRlZENvbXBvc2l0aW5n
Q29udGV4dCk6CisKIDIwMTMtMDItMDggIEJlbmphbWluIFBvdWxhaW4gIDxicG91bGFpbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgTW92ZSB3b3JrZXJUaHJlYWRDb3VudCBmcm9tIFRlc3RSdW5uZXIg
dG8gV2ViQ29yZSBJbnRlcm5hbHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwppbmRleCBhYzc1Y2E2MzQ4MWJjOGJh
NTlmZDlkNzk3Y2NhOTEzMWNmYzM3MTk4Li5hZjU1ZGMwYmFhZjdjZjEwZjdiMDIyZmY0MjI0MTJi
ODk5ZGU0M2U4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTMtMDItMTEg
IEh1YW5nIERvbmdzdW5nICA8bHV4dGVsbGFAY29tcGFueTEwMC5uZXQ+CisKKyAgICAgICAgW1Rl
eE1hcF0gQXBwbHkgZnJhbWVzLXBlci1zZWNvbmQgZGVidWcgY291bnRlciB0byBXSzEuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDk1NDAKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYWtlIEFjY2VsZXJh
dGVkQ29tcG9zaXRpbmdDb250ZXh0IHVzZSBUZXh0dXJlTWFwcGVyRlBTQ291bnRlci4KKworICAg
ICAgICAqIFdlYkNvcmVTdXBwb3J0L0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0Lmg6Cisg
ICAgICAgICogV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHRHTC5j
cHA6CisgICAgICAgIChXZWJLaXQ6OkFjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0Ojpjb21w
b3NpdGVMYXllcnNUb0NvbnRleHQpOgorCiAyMDEzLTAyLTExICBCZW5qYW1pbiBQb3VsYWluICA8
YmVuamFtaW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBLaWxsIFRlc3RSdW5uZXI6OnNldE1pbmlt
dW1UaW1lckludGVydmFsOyBpbXBsZW1lbnQgdGhlIGZlYXR1cmUgd2l0aCBJbnRlcm5hbFNldHRp
bmdzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJL
aXQvcXQvQ2hhbmdlTG9nCmluZGV4IGVkYzI3ODM1Y2I0NjlkZTYzYjc5YWYzZjI5ZTY0YWYzZTVk
NmExYzYuLjg0ZWU4N2JiMWViMmM4MjU3MzVmMDAzNTY4YTVmMWRkMmQyYWY4MmYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTMtMDItMTEgIEh1YW5nIERvbmdzdW5nICA8bHV4
dGVsbGFAY29tcGFueTEwMC5uZXQ+CisKKyAgICAgICAgW1RleE1hcF0gQXBwbHkgZnJhbWVzLXBl
ci1zZWNvbmQgZGVidWcgY291bnRlciB0byBXSzEuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDk1NDAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBNYWtlIFRleHR1cmVNYXBwZXJMYXllckNsaWVudFF0IHVz
ZSBUZXh0dXJlTWFwcGVyRlBTQ291bnRlci4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1Rl
eHR1cmVNYXBwZXJMYXllckNsaWVudFF0LmNwcDoKKyAgICAgICAgKFRleHR1cmVNYXBwZXJMYXll
ckNsaWVudFF0OjpyZW5kZXJDb21wb3NpdGVkTGF5ZXJzKToKKyAgICAgICAgKiBXZWJDb3JlU3Vw
cG9ydC9UZXh0dXJlTWFwcGVyTGF5ZXJDbGllbnRRdC5oOgorICAgICAgICAoVGV4dHVyZU1hcHBl
ckxheWVyQ2xpZW50UXQpOgorCiAyMDEzLTAyLTExICBCZW5qYW1pbiBQb3VsYWluICA8YmVuamFt
aW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBLaWxsIFRlc3RSdW5uZXI6OnNldE1pbmltdW1UaW1l
ckludGVydmFsOyBpbXBsZW1lbnQgdGhlIGZlYXR1cmUgd2l0aCBJbnRlcm5hbFNldHRpbmdzCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3Jl
L0NNYWtlTGlzdHMudHh0CmluZGV4IGQzMzFhZWI4MGNkN2NmMjY3NTQ2MmU2NDc4ZTMzMzg0MTQ0
YjFmZmEuLmFlYTM1N2JjMTU3MWE1ODU5M2NjYzRkYjgwNzdlMDI5MDIzMjMyNjkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0CkBAIC0yMDAwLDYgKzIwMDAsNyBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAg
ICAgcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL1VwZGF0ZUF0bGFzLmNwcAog
ICAgIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyLmNwcAogICAgIHBsYXRm
b3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyQmFja2luZ1N0b3JlLmNwcAorICAgIHBs
YXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyRlBTQ291bnRlci5jcHAKICAgICBw
bGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckltYWdlQnVmZmVyLmNwcAogICAg
IHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyTGF5ZXIuY3BwCiAgICAgcGxh
dGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJTdXJmYWNlQmFja2luZ1N0b3JlLmNw
cApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJj
ZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggMmI5YjFiZTNkNGI3NDdhNThmNmNi
MDMyMzJkYWFiNWM0OGE3NmUwZS4uMDIxMDYyYjA4NTQ5YTRhZmE1YjdhMzliNDg1YzE0Y2Y1ODMw
Y2M5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC02NDgyLDYgKzY0ODIsOCBA
QCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9UZXh0dXJlTWFwcGVyQmFja2luZ1N0b3JlLmggXAogCVNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyLmNwcCBcCiAJU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXIuaCBcCisJU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJGUFNDb3VudGVyLmNw
cCBcCisJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBw
ZXJGUFNDb3VudGVyLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1h
cC9UZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXIuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckltYWdlQnVmZmVyLmggXAogCVNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyTGF5ZXIuY3BwIFwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9U
YXJnZXQucHJpCmluZGV4IDlhYWUxNmM3MDdlMmUxYmIxZTJjMDFkYjdmZjA0OTJjMWVhNjkwYmEu
LjQzMmJlNTk1ZDRhNmRlNDE3MTFjOGRmNDJjNmFiYjg2MWRiYjE0NjAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQpA
QCAtMjI3MCw2ICsyMjcwLDcgQEAgSEVBREVSUyArPSBcCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3Mv
dGV4bWFwL0dyYXBoaWNzTGF5ZXJUZXh0dXJlTWFwcGVyLmggXAogICAgIHBsYXRmb3JtL2dyYXBo
aWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyLmggXAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1h
cC9UZXh0dXJlTWFwcGVyQmFja2luZ1N0b3JlLmggXAorICAgIHBsYXRmb3JtL2dyYXBoaWNzL3Rl
eG1hcC9UZXh0dXJlTWFwcGVyRlBTQ291bnRlci5oIFwKICAgICBwbGF0Zm9ybS9ncmFwaGljcy90
ZXhtYXAvVGV4dHVyZU1hcHBlckltYWdlQnVmZmVyLmggXAogICAgIHBsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9UZXh0dXJlTWFwcGVyTGF5ZXIuaCBcCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvdGV4
bWFwL1RleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyLmggXApAQCAtMjkwNiw2ICsyOTA3LDcgQEAg
U09VUkNFUyArPSBcCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0dyYXBoaWNzTGF5ZXJU
ZXh0dXJlTWFwcGVyLmNwcCBcCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVN
YXBwZXIuY3BwIFwKICAgICBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckJh
Y2tpbmdTdG9yZS5jcHAgXAorICAgIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFw
cGVyRlBTQ291bnRlci5jcHAgXAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJl
TWFwcGVySW1hZ2VCdWZmZXIuY3BwIFwKICAgICBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4
dHVyZU1hcHBlckxheWVyLmNwcCBcCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1
cmVNYXBwZXJTdXJmYWNlQmFja2luZ1N0b3JlLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlci5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXIuaAppbmRleCBkOTYx
MTZiNzA5OTM2OGFkNDQ1NTk5NmMxYjczMjAxNjI3MGRlZWMyLi5hZGVhZjNlNzE4ZTEzMjUwMzgy
OWM5MDRmYzBhMmQyNzUyYzQ2MTg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyLmgKQEAgLTEzMCw3ICsxMzAsNyBA
QCBwdWJsaWM6CiAgICAgfTsKIAogICAgIHZpcnR1YWwgdm9pZCBkcmF3Qm9yZGVyKGNvbnN0IENv
bG9yJiwgZmxvYXQgYm9yZGVyV2lkdGgsIGNvbnN0IEZsb2F0UmVjdCYsIGNvbnN0IFRyYW5zZm9y
bWF0aW9uTWF0cml4JikgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBkcmF3UmVwYWludENvdW50ZXIo
aW50IHJlcGFpbnRDb3VudCwgY29uc3QgQ29sb3ImLCBjb25zdCBGbG9hdFBvaW50JiwgY29uc3Qg
VHJhbnNmb3JtYXRpb25NYXRyaXgmKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGRyYXdOdW1iZXIo
aW50IG51bWJlciwgY29uc3QgQ29sb3ImLCBjb25zdCBGbG9hdFBvaW50JiwgY29uc3QgVHJhbnNm
b3JtYXRpb25NYXRyaXgmKSA9IDA7CiAKICAgICB2aXJ0dWFsIHZvaWQgZHJhd1RleHR1cmUoY29u
c3QgQml0bWFwVGV4dHVyZSYsIGNvbnN0IEZsb2F0UmVjdCYgdGFyZ2V0LCBjb25zdCBUcmFuc2Zv
cm1hdGlvbk1hdHJpeCYgbW9kZWxWaWV3TWF0cml4ID0gVHJhbnNmb3JtYXRpb25NYXRyaXgoKSwg
ZmxvYXQgb3BhY2l0eSA9IDEuMGYsIGNvbnN0IEJpdG1hcFRleHR1cmUqIG1hc2tUZXh0dXJlID0g
MCwgdW5zaWduZWQgZXhwb3NlZEVkZ2VzID0gQWxsRWRnZXMpID0gMDsKICAgICB2aXJ0dWFsIHZv
aWQgZHJhd1NvbGlkQ29sb3IoY29uc3QgRmxvYXRSZWN0JiwgY29uc3QgVHJhbnNmb3JtYXRpb25N
YXRyaXgmLCBjb25zdCBDb2xvciYpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyRlBTQ291bnRlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckZQU0NvdW50
ZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmEwYzkwZWJhMGM3MTkyN2I5NGE0MWRlZjkxOGMxMzJlODFiNDEz
MGQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90
ZXhtYXAvVGV4dHVyZU1hcHBlckZQU0NvdW50ZXIuY3BwCkBAIC0wLDAgKzEsNjcgQEAKKy8qCisg
ICAgQ29weXJpZ2h0IChDKSAyMDEyIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lk
aWFyeSgtaWVzKQorICAgIENvcHlyaWdodCAoQykgMjAxMiBDb21wYW55IDEwMCwgSW5jLgorCisg
ICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0
IGFuZC9vcgorICAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljCisgICAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgICAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBv
ciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorCisgICAgVGhpcyBsaWJyYXJ5
IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgICAg
YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu
dHkgb2YKKyAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UuICBTZWUgdGhlIEdOVQorICAgIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBm
b3IgbW9yZSBkZXRhaWxzLgorCisgICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv
ZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICAgIGFsb25nIHdpdGgg
dGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRv
CisgICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3Ry
ZWV0LCBGaWZ0aCBGbG9vciwKKyAgICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyovCisK
KyNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykK
KworI2luY2x1ZGUgIlRleHR1cmVNYXBwZXJGUFNDb3VudGVyLmgiCisKKyNpbmNsdWRlICJUZXh0
dXJlTWFwcGVyLmgiCisjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworVGV4dHVyZU1hcHBlckZQU0NvdW50ZXI6OlRleHR1cmVNYXBwZXJGUFNDb3Vu
dGVyKCkKKyAgICA6IG1faXNTaG93aW5nRlBTKGZhbHNlKQorICAgICwgbV9mcHNJbnRlcnZhbCgw
KQorICAgICwgbV9mcHNUaW1lc3RhbXAoMCkKKyAgICAsIG1fbGFzdEZQUygwKQorICAgICwgbV9m
cmFtZUNvdW50KDApCit7CisgICAgU3RyaW5nIHNob3dGUFNFbnZpcm9ubWVudCA9IGdldGVudigi
V0VCS0lUX1NIT1dfRlBTIik7CisgICAgYm9vbCBvayA9IGZhbHNlOworICAgIG1fZnBzSW50ZXJ2
YWwgPSBzaG93RlBTRW52aXJvbm1lbnQudG9Eb3VibGUoJm9rKTsKKyAgICBpZiAob2sgJiYgbV9m
cHNJbnRlcnZhbCkgeworICAgICAgICBtX2lzU2hvd2luZ0ZQUyA9IHRydWU7CisgICAgICAgIG1f
ZnBzVGltZXN0YW1wID0gV1RGOjpjdXJyZW50VGltZSgpOworICAgIH0KK30KKwordm9pZCBUZXh0
dXJlTWFwcGVyRlBTQ291bnRlcjo6dXBkYXRlKFRleHR1cmVNYXBwZXIqIHRleHR1cmVNYXBwZXIs
IGNvbnN0IEZsb2F0UG9pbnQmIGxvY2F0aW9uLCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYg
bWF0cml4KQoreworICAgIGlmICghbV9pc1Nob3dpbmdGUFMpCisgICAgICAgIHJldHVybjsKKwor
ICAgIG1fZnJhbWVDb3VudCsrOworICAgIGRvdWJsZSBkZWx0YSA9IFdURjo6Y3VycmVudFRpbWUo
KSAtIG1fZnBzVGltZXN0YW1wOworICAgIGlmIChkZWx0YSA+PSBtX2Zwc0ludGVydmFsKSB7Cisg
ICAgICAgIG1fbGFzdEZQUyA9IGludChtX2ZyYW1lQ291bnQgLyBkZWx0YSk7CisgICAgICAgIG1f
ZnJhbWVDb3VudCA9IDA7CisgICAgICAgIG1fZnBzVGltZXN0YW1wICs9IGRlbHRhOworICAgIH0K
KworICAgIC8vIEZJWE1FOiBkcmF3TnVtYmVyKCkgc2hvdWxkIHNhdmUgYSBudW1iZXIgdGV4dHVy
ZS1hdGxhcyBhbmQgcmUtdXNlIHdoZW5ldmVyIHBvc3NpYmxlLgorICAgIHRleHR1cmVNYXBwZXIt
PmRyYXdOdW1iZXIobV9sYXN0RlBTLCBDb2xvcjo6YmxhY2ssIGxvY2F0aW9uLCBtYXRyaXgpOwor
fQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBVU0UoQUNDRUxFUkFURURf
Q09NUE9TSVRJTkcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy90ZXhtYXAvVGV4dHVyZU1hcHBlckZQU0NvdW50ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyRlBTQ291bnRlci5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjE1MzQ1Y2IxZTdkOWY3YTBjN2Q1NDU2ODg4MGI0YTc3MDlkZmRlNWIKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBl
ckZQU0NvdW50ZXIuaApAQCAtMCwwICsxLDUzIEBACisvKgorICAgIENvcHlyaWdodCAoQykgMjAx
MiBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKKyAgICBDb3B5
cmlnaHQgKEMpIDIwMTIgQ29tcGFueSAxMDAsIEluYy4KKworICAgIFRoaXMgbGlicmFyeSBpcyBm
cmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAgICBtb2RpZnkg
aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICAg
IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVp
dGhlcgorICAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBh
bnkgbGF0ZXIgdmVyc2lvbi4KKworICAgIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0
aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJS
QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgICAgTUVSQ0hBTlRB
QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUK
KyAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKwor
ICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljIExpY2Vuc2UKKyAgICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRo
ZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICAgIHRoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisg
ICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisqLworCisjaWZuZGVmIFRleHR1cmVNYXBw
ZXJGUFNDb3VudGVyX2gKKyNkZWZpbmUgVGV4dHVyZU1hcHBlckZQU0NvdW50ZXJfaAorCisjaWYg
VVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQorI2luY2x1ZGUgIkZsb2F0UG9pbnQuaCIKKyNp
bmNsdWRlICJUcmFuc2Zvcm1hdGlvbk1hdHJpeC5oIgorI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBUZXh0dXJlTWFwcGVyOworCitjbGFz
cyBUZXh0dXJlTWFwcGVyRlBTQ291bnRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGV4
dHVyZU1hcHBlckZQU0NvdW50ZXIpOworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVi
bGljOgorICAgIFRleHR1cmVNYXBwZXJGUFNDb3VudGVyKCk7CisgICAgdm9pZCB1cGRhdGUoVGV4
dHVyZU1hcHBlciosIGNvbnN0IEZsb2F0UG9pbnQmID0gRmxvYXRQb2ludDo6emVybygpLCBjb25z
dCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgPSBUcmFuc2Zvcm1hdGlvbk1hdHJpeCgpKTsKKworcHJp
dmF0ZToKKyAgICBib29sIG1faXNTaG93aW5nRlBTOworICAgIGRvdWJsZSBtX2Zwc0ludGVydmFs
OworICAgIGRvdWJsZSBtX2Zwc1RpbWVzdGFtcDsKKyAgICBpbnQgbV9sYXN0RlBTOworICAgIGlu
dCBtX2ZyYW1lQ291bnQ7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAv
LyBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCisKKyNlbmRpZiAvLyBUZXh0dXJlTWFwcGVy
RlBTQ291bnRlcl9oCisKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJHTC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmNwcAppbmRleCBiMmUwZTA1NGZiMDA1
OWEwMTg4NWQxOTg4ZWY4NTI4YTQ4Mzc3ZmQxLi5lODE1YmE5YjQ0MzNiZTM3YmI5MzVlMDc0N2U1
ZDdhMmY4MGNlMjEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy90ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmNwcApAQCAtMzIxLDExICszMjEsMTEg
QEAgdm9pZCBUZXh0dXJlTWFwcGVyR0w6OmRyYXdCb3JkZXIoY29uc3QgQ29sb3ImIGNvbG9yLCBm
bG9hdCB3aWR0aCwgY29uc3QgRmxvYXRSZWMKICAgICBkcmF3KHRhcmdldFJlY3QsIG1vZGVsVmll
d01hdHJpeCwgcHJvZ3JhbS5nZXQoKSwgR3JhcGhpY3NDb250ZXh0M0Q6OkxJTkVfTE9PUCwgY29s
b3IuaGFzQWxwaGEoKSA/IFNob3VsZEJsZW5kIDogMCk7CiB9CiAKLXZvaWQgVGV4dHVyZU1hcHBl
ckdMOjpkcmF3UmVwYWludENvdW50ZXIoaW50IHJlcGFpbnRDb3VudCwgY29uc3QgQ29sb3ImIGNv
bG9yLCBjb25zdCBGbG9hdFBvaW50JiB0YXJnZXRQb2ludCwgY29uc3QgVHJhbnNmb3JtYXRpb25N
YXRyaXgmIG1vZGVsVmlld01hdHJpeCkKK3ZvaWQgVGV4dHVyZU1hcHBlckdMOjpkcmF3TnVtYmVy
KGludCBudW1iZXIsIGNvbnN0IENvbG9yJiBjb2xvciwgY29uc3QgRmxvYXRQb2ludCYgdGFyZ2V0
UG9pbnQsIGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBtb2RlbFZpZXdNYXRyaXgpCiB7CiAg
ICAgaW50IHBvaW50U2l6ZSA9IDg7CiAjaWYgUExBVEZPUk0oUVQpCi0gICAgUVN0cmluZyBjb3Vu
dGVyU3RyaW5nID0gUVN0cmluZzo6bnVtYmVyKHJlcGFpbnRDb3VudCk7CisgICAgUVN0cmluZyBj
b3VudGVyU3RyaW5nID0gUVN0cmluZzo6bnVtYmVyKG51bWJlcik7CiAKICAgICBRRm9udCBmb250
KFFTdHJpbmc6OmZyb21MYXRpbjEoIk1vbm9zcGFjZSIpLCBwb2ludFNpemUsIFFGb250OjpCb2xk
KTsKICAgICBmb250LnNldFN0eWxlSGludChRRm9udDo6VHlwZVdyaXRlcik7CkBAIC0zNTEsNyAr
MzUxLDcgQEAgdm9pZCBUZXh0dXJlTWFwcGVyR0w6OmRyYXdSZXBhaW50Q291bnRlcihpbnQgcmVw
YWludENvdW50LCBjb25zdCBDb2xvciYgY29sb3IsIGMKICAgICBkcmF3VGV4dHVyZSgqdGV4dHVy
ZSwgdGFyZ2V0UmVjdCwgbW9kZWxWaWV3TWF0cml4LCAxLjBmLCAwLCBBbGxFZGdlcyk7CiAKICNl
bGlmIFVTRShDQUlSTykKLSAgICBDU3RyaW5nIGNvdW50ZXJTdHJpbmcgPSBTdHJpbmc6Om51bWJl
cihyZXBhaW50Q291bnQpLmFzY2lpKCk7CisgICAgQ1N0cmluZyBjb3VudGVyU3RyaW5nID0gU3Ry
aW5nOjpudW1iZXIobnVtYmVyKS5hc2NpaSgpOwogICAgIC8vIGNhaXJvX3RleHRfZXh0ZW50cygp
IHJlcXVpcmVzIGEgY2Fpcm9fdCwgc28gZGltZW5zaW9ucyBuZWVkIHRvIGJlIGd1ZXNzdGltYXRl
ZC4KICAgICBpbnQgd2lkdGggPSBjb3VudGVyU3RyaW5nLmxlbmd0aCgpICogcG9pbnRTaXplICog
MS4yOwogICAgIGludCBoZWlnaHQgPSBwb2ludFNpemUgKiAxLjU7CkBAIC0zODUsNyArMzg1LDcg
QEAgdm9pZCBUZXh0dXJlTWFwcGVyR0w6OmRyYXdSZXBhaW50Q291bnRlcihpbnQgcmVwYWludENv
dW50LCBjb25zdCBDb2xvciYgY29sb3IsIGMKICAgICBjYWlyb19kZXN0cm95KGNyKTsKIAogI2Vs
c2UKLSAgICBVTlVTRURfUEFSQU0ocmVwYWludENvdW50KTsKKyAgICBVTlVTRURfUEFSQU0obnVt
YmVyKTsKICAgICBVTlVTRURfUEFSQU0ocG9pbnRTaXplKTsKICAgICBVTlVTRURfUEFSQU0odGFy
Z2V0UG9pbnQpOwogICAgIFVOVVNFRF9QQVJBTShtb2RlbFZpZXdNYXRyaXgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJH
TC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBw
ZXJHTC5oCmluZGV4IDk4M2UyYTA2YzNjNDNkNjNhYTllYmExYWY2YzFhMWQ4ZGY1OTNkZGQuLjNl
ODBhMTc4MmVjMTQ4OTFmZDdiY2NjMmU5OTA5M2I5NmRkZGUzMTUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckdM
LmgKQEAgLTUzLDcgKzUzLDcgQEAgcHVibGljOgogCiAgICAgLy8gVGV4dHVyZU1hcHBlciBpbXBs
ZW1lbnRhdGlvbgogICAgIHZpcnR1YWwgdm9pZCBkcmF3Qm9yZGVyKGNvbnN0IENvbG9yJiwgZmxv
YXQgYm9yZGVyV2lkdGgsIGNvbnN0IEZsb2F0UmVjdCYsIGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0
cml4JikgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCB2b2lkIGRyYXdSZXBhaW50Q291bnRlcihpbnQg
cmVwYWludENvdW50LCBjb25zdCBDb2xvciYsIGNvbnN0IEZsb2F0UG9pbnQmLCBjb25zdCBUcmFu
c2Zvcm1hdGlvbk1hdHJpeCYpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBkcmF3TnVtYmVy
KGludCBudW1iZXIsIGNvbnN0IENvbG9yJiwgY29uc3QgRmxvYXRQb2ludCYsIGNvbnN0IFRyYW5z
Zm9ybWF0aW9uTWF0cml4JikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGRyYXdUZXh0dXJl
KGNvbnN0IEJpdG1hcFRleHR1cmUmLCBjb25zdCBGbG9hdFJlY3QmLCBjb25zdCBUcmFuc2Zvcm1h
dGlvbk1hdHJpeCYsIGZsb2F0IG9wYWNpdHksIGNvbnN0IEJpdG1hcFRleHR1cmUqIG1hc2tUZXh0
dXJlLCB1bnNpZ25lZCBleHBvc2VkRWRnZXMpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBk
cmF3VGV4dHVyZShQbGF0Zm9ybTNET2JqZWN0IHRleHR1cmUsIEZsYWdzLCBjb25zdCBJbnRTaXpl
JiB0ZXh0dXJlU2l6ZSwgY29uc3QgRmxvYXRSZWN0JiB0YXJnZXRSZWN0LCBjb25zdCBUcmFuc2Zv
cm1hdGlvbk1hdHJpeCYgbW9kZWxWaWV3TWF0cml4LCBmbG9hdCBvcGFjaXR5LCBjb25zdCBCaXRt
YXBUZXh0dXJlKiBtYXNrVGV4dHVyZSwgdW5zaWduZWQgZXhwb3NlZEVkZ2VzID0gQWxsRWRnZXMp
OwogICAgIHZpcnR1YWwgdm9pZCBkcmF3U29saWRDb2xvcihjb25zdCBGbG9hdFJlY3QmLCBjb25z
dCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYsIGNvbnN0IENvbG9yJikgT1ZFUlJJREU7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBl
ckltYWdlQnVmZmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1h
cC9UZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXIuY3BwCmluZGV4IGI0ZTEyMmQyY2Q4ZGEwOTcwNWY3
OWM0YmVjZGNjNjNmMGFhODMyMmEuLjFlNDlmOWI2ZWNhODhkNmE3Y2ZkOTMxOTEyMjJjMDQ4MTEw
MzlkNzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1h
cC9UZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXIuY3BwCkBAIC0xNzAs
NyArMTcwLDcgQEAgdm9pZCBUZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXI6OmRyYXdCb3JkZXIoY29u
c3QgQ29sb3ImLCBmbG9hdCAvKiBib3JkZXJXaWR0aCAqLywKICAgICBub3RJbXBsZW1lbnRlZCgp
OwogfQogCi12b2lkIFRleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlcjo6ZHJhd1JlcGFpbnRDb3VudGVy
KGludCAvKiByZXBhaW50Q291bnQgKi8sIGNvbnN0IENvbG9yJiwgY29uc3QgRmxvYXRQb2ludCYs
IGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JikKK3ZvaWQgVGV4dHVyZU1hcHBlckltYWdlQnVm
ZmVyOjpkcmF3TnVtYmVyKGludCAvKiBudW1iZXIgKi8sIGNvbnN0IENvbG9yJiwgY29uc3QgRmxv
YXRQb2ludCYsIGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JikKIHsKICAgICBub3RJbXBsZW1l
bnRlZCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
dGV4bWFwL1RleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlci5oCmluZGV4IDViMmU5
NzgzZDY5YzA1ODYzOTI3MmEyYjYzMWM3NmFlMTA1NzNkM2MuLjgwZTY5NDQwNTkwNTQ3NjA3ZTcw
MzI2MWU3OTMxNTVkZGUzYzIwZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckltYWdlQnVmZmVy
LmgKQEAgLTU0LDcgKzU0LDcgQEAgcHVibGljOgogCiAgICAgLy8gVGV4dHVyZU1hcHBlciBpbXBs
ZW1lbnRhdGlvbgogICAgIHZpcnR1YWwgdm9pZCBkcmF3Qm9yZGVyKGNvbnN0IENvbG9yJiwgZmxv
YXQgYm9yZGVyV2lkdGgsIGNvbnN0IEZsb2F0UmVjdCYsIGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0
cml4JikgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCB2b2lkIGRyYXdSZXBhaW50Q291bnRlcihpbnQg
cmVwYWludENvdW50LCBjb25zdCBDb2xvciYsIGNvbnN0IEZsb2F0UG9pbnQmLCBjb25zdCBUcmFu
c2Zvcm1hdGlvbk1hdHJpeCYpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBkcmF3TnVtYmVy
KGludCBudW1iZXIsIGNvbnN0IENvbG9yJiwgY29uc3QgRmxvYXRQb2ludCYsIGNvbnN0IFRyYW5z
Zm9ybWF0aW9uTWF0cml4JikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGRyYXdUZXh0dXJl
KGNvbnN0IEJpdG1hcFRleHR1cmUmLCBjb25zdCBGbG9hdFJlY3QmIHRhcmdldFJlY3QsIGNvbnN0
IFRyYW5zZm9ybWF0aW9uTWF0cml4JiwgZmxvYXQgb3BhY2l0eSwgY29uc3QgQml0bWFwVGV4dHVy
ZSogbWFza1RleHR1cmUsIHVuc2lnbmVkIGV4cG9zZWRFZGdlcykgT1ZFUlJJREU7CiAgICAgdmly
dHVhbCB2b2lkIGRyYXdTb2xpZENvbG9yKGNvbnN0IEZsb2F0UmVjdCYsIGNvbnN0IFRyYW5zZm9y
bWF0aW9uTWF0cml4JiwgY29uc3QgQ29sb3ImKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQg
YmVnaW5DbGlwKGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiwgY29uc3QgRmxvYXRSZWN0Jikg
T1ZFUlJJREU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90
ZXhtYXAvVGV4dHVyZU1hcHBlclRpbGVkQmFja2luZ1N0b3JlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyVGlsZWRCYWNraW5nU3RvcmUu
Y3BwCmluZGV4IDM1MTZmMGY0YTUxYjA2ZjkzNDQ0NzRlNTdiZmQ2MGM0OTRhYzdjMmUuLjgwOTc5
MjIyNjdlOTkwYTgxMGYyMDJkNDU3YTYyZmFmOWZiODhkMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyVGlsZWRCYWNraW5n
U3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9U
ZXh0dXJlTWFwcGVyVGlsZWRCYWNraW5nU3RvcmUuY3BwCkBAIC02Niw3ICs2Niw3IEBAIHZvaWQg
VGV4dHVyZU1hcHBlclRpbGVkQmFja2luZ1N0b3JlOjpkcmF3UmVwYWludENvdW50ZXIoVGV4dHVy
ZU1hcHBlciogdGV4dHVyZU1hCiB7CiAgICAgVHJhbnNmb3JtYXRpb25NYXRyaXggYWRqdXN0ZWRU
cmFuc2Zvcm0gPSB0cmFuc2Zvcm0gKiBhZGp1c3RlZFRyYW5zZm9ybUZvclJlY3QodGFyZ2V0UmVj
dCk7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBtX3RpbGVzLnNpemUoKTsgKytpKQotICAg
ICAgICB0ZXh0dXJlTWFwcGVyLT5kcmF3UmVwYWludENvdW50ZXIocmVwYWludENvdW50LCBib3Jk
ZXJDb2xvciwgbV90aWxlc1tpXS5yZWN0KCkubG9jYXRpb24oKSwgYWRqdXN0ZWRUcmFuc2Zvcm0p
OworICAgICAgICB0ZXh0dXJlTWFwcGVyLT5kcmF3TnVtYmVyKHJlcGFpbnRDb3VudCwgYm9yZGVy
Q29sb3IsIG1fdGlsZXNbaV0ucmVjdCgpLmxvY2F0aW9uKCksIGFkanVzdGVkVHJhbnNmb3JtKTsK
IH0KIAogdm9pZCBUZXh0dXJlTWFwcGVyVGlsZWRCYWNraW5nU3RvcmU6OmNyZWF0ZU9yRGVzdHJv
eVRpbGVzSWZOZWVkZWQoY29uc3QgRmxvYXRTaXplJiBzaXplLCBjb25zdCBJbnRTaXplJiB0aWxl
U2l6ZSwgYm9vbCBoYXNBbHBoYSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEJhY2tpbmdTdG9yZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29v
cmRpbmF0ZWRCYWNraW5nU3RvcmUuY3BwCmluZGV4IDk1ZGEyYjhmYjVmNGE4ZDlkMmM5ODc5ZTkz
YWNiODVjMGYzYzliOGIuLjY4MTI5YzczZDJiNjBhODY0MzIyYzQ1ZjQ3YjBlMDEwZDMxMmQ4Mzgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29y
ZGluYXRlZC9Db29yZGluYXRlZEJhY2tpbmdTdG9yZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkQmFja2luZ1N0
b3JlLmNwcApAQCAtMTY5LDcgKzE2OSw3IEBAIHZvaWQgQ29vcmRpbmF0ZWRCYWNraW5nU3RvcmU6
OmRyYXdSZXBhaW50Q291bnRlcihUZXh0dXJlTWFwcGVyKiB0ZXh0dXJlTWFwcGVyLCBpCiAgICAg
VHJhbnNmb3JtYXRpb25NYXRyaXggYWRqdXN0ZWRUcmFuc2Zvcm0gPSB0cmFuc2Zvcm0gKiBhZGp1
c3RlZFRyYW5zZm9ybUZvclJlY3QodGFyZ2V0UmVjdCk7CiAgICAgQ29vcmRpbmF0ZWRCYWNraW5n
U3RvcmVUaWxlTWFwOjppdGVyYXRvciBlbmQgPSBtX3RpbGVzLmVuZCgpOwogICAgIGZvciAoQ29v
cmRpbmF0ZWRCYWNraW5nU3RvcmVUaWxlTWFwOjppdGVyYXRvciBpdCA9IG1fdGlsZXMuYmVnaW4o
KTsgaXQgIT0gZW5kOyArK2l0KQotICAgICAgICB0ZXh0dXJlTWFwcGVyLT5kcmF3UmVwYWludENv
dW50ZXIocmVwYWludENvdW50LCBib3JkZXJDb2xvciwgaXQtPnZhbHVlLnJlY3QoKS5sb2NhdGlv
bigpLCBhZGp1c3RlZFRyYW5zZm9ybSk7CisgICAgICAgIHRleHR1cmVNYXBwZXItPmRyYXdOdW1i
ZXIocmVwYWludENvdW50LCBib3JkZXJDb2xvciwgaXQtPnZhbHVlLnJlY3QoKS5sb2NhdGlvbigp
LCBhZGp1c3RlZFRyYW5zZm9ybSk7CiB9CiAKIHZvaWQgQ29vcmRpbmF0ZWRCYWNraW5nU3RvcmU6
OmNvbW1pdFRpbGVPcGVyYXRpb25zKFRleHR1cmVNYXBwZXIqIHRleHR1cmVNYXBwZXIpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0
ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzU2NlbmUuY3Bw
CmluZGV4IGI2MDk3MzZiMmVjMjAxNTBhNzM5OGUyMmQ4NzhhNDBjNGI0M2NjMzkuLmNhNjM1NTY0
MzQyYmM3NzIxZjJlZWQ3ZGQzMzQ4OWJjMTM1YWI1M2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBo
aWNzU2NlbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1h
cC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzU2NlbmUuY3BwCkBAIC0zMiw3ICszMiw2
IEBACiAjaW5jbHVkZSAiVGV4dHVyZU1hcHBlckxheWVyLmgiCiAjaW5jbHVkZSA8T3BlbkdMU2hp
bXMuaD4KICNpbmNsdWRlIDx3dGYvQXRvbWljcy5oPgotI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGlt
ZS5oPgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CiAKICNpZiBFTkFCTEUoQ1NTX1NIQURF
UlMpCkBAIC03NywyMSArNzYsOCBAQCBDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6OkNvb3JkaW5h
dGVkR3JhcGhpY3NTY2VuZShDb29yZGluYXRlZEdyYXBoaWNzU2NlbmVDbGllbgogI2VuZGlmCiAg
ICAgLCBtX2JhY2tncm91bmRDb2xvcihDb2xvcjo6d2hpdGUpCiAgICAgLCBtX3NldERyYXdzQmFj
a2dyb3VuZChmYWxzZSkKLSAgICAsIG1faXNTaG93aW5nRlBTKGZhbHNlKQotICAgICwgbV9mcHNJ
bnRlcnZhbCgwKQotICAgICwgbV9mcHNUaW1lc3RhbXAoMCkKLSAgICAsIG1fbGFzdEZQUygwKQot
ICAgICwgbV9mcmFtZUNvdW50KDApCiB7CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKLQot
ICAgIFN0cmluZyBzaG93RlBTRW52aXJvbm1lbnQgPSBnZXRlbnYoIldFQktJVF9TSE9XX0ZQUyIp
OwotICAgIGJvb2wgb2sgPSBmYWxzZTsKLSAgICBtX2Zwc0ludGVydmFsID0gc2hvd0ZQU0Vudmly
b25tZW50LnRvRG91YmxlKCZvayk7Ci0gICAgaWYgKG9rICYmIG1fZnBzSW50ZXJ2YWwpIHsKLSAg
ICAgICAgbV9pc1Nob3dpbmdGUFMgPSB0cnVlOwotICAgICAgICBtX2Zwc1RpbWVzdGFtcCA9IFdU
Rjo6Y3VycmVudFRpbWUoKTsKLSAgICB9CiB9CiAKIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6
fkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZSgpCkBAIC0xMzgsOCArMTI0LDcgQEAgdm9pZCBDb29y
ZGluYXRlZEdyYXBoaWNzU2NlbmU6OnBhaW50VG9DdXJyZW50R0xDb250ZXh0KGNvbnN0IFRyYW5z
Zm9ybWF0aW9uTWF0cmkKICAgICB9CiAKICAgICBsYXllci0+cGFpbnQoKTsKLSAgICBpZiAobV9p
c1Nob3dpbmdGUFMpCi0gICAgICAgIHVwZGF0ZUZQUyhjbGlwUmVjdC5sb2NhdGlvbigpLCBtYXRy
aXgpOworICAgIG1fZnBzQ291bnRlci51cGRhdGUobV90ZXh0dXJlTWFwcGVyLmdldCgpLCBjbGlw
UmVjdC5sb2NhdGlvbigpLCBtYXRyaXgpOwogICAgIG1fdGV4dHVyZU1hcHBlci0+ZW5kQ2xpcCgp
OwogICAgIG1fdGV4dHVyZU1hcHBlci0+ZW5kUGFpbnRpbmcoKTsKIApAQCAtMTkyLDggKzE3Nyw3
IEBAIHZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjpwYWludFRvR3JhcGhpY3NDb250ZXh0
KGNhaXJvX3QqIHBhaW50ZXIpCiAgICAgICAgIG1fdGV4dHVyZU1hcHBlci0+ZHJhd1NvbGlkQ29s
b3IoY2xpcFJlY3QsIFRyYW5zZm9ybWF0aW9uTWF0cml4KCksIG1fYmFja2dyb3VuZENvbG9yKTsK
IAogICAgIGxheWVyLT5wYWludCgpOwotICAgIGlmIChtX2lzU2hvd2luZ0ZQUykKLSAgICAgICAg
dXBkYXRlRlBTKGNsaXBSZWN0LmxvY2F0aW9uKCkpOworICAgIG1fZnBzQ291bnRlci51cGRhdGUo
bV90ZXh0dXJlTWFwcGVyLmdldCgpLCBjbGlwUmVjdC5sb2NhdGlvbigpKTsKICAgICBtX3RleHR1
cmVNYXBwZXItPmVuZFBhaW50aW5nKCk7CiAgICAgbV90ZXh0dXJlTWFwcGVyLT5zZXRHcmFwaGlj
c0NvbnRleHQoMCk7CiB9CkBAIC03MDcsMjAgKzY5MSw2IEBAIHZvaWQgQ29vcmRpbmF0ZWRHcmFw
aGljc1NjZW5lOjpzZXRCYWNrZ3JvdW5kQ29sb3IoY29uc3QgQ29sb3ImIGNvbG9yKQogICAgIG1f
YmFja2dyb3VuZENvbG9yID0gY29sb3I7CiB9CiAKLXZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc1Nj
ZW5lOjp1cGRhdGVGUFMoY29uc3QgRmxvYXRQb2ludCYgbG9jYXRpb24sIGNvbnN0IFRyYW5zZm9y
bWF0aW9uTWF0cml4JiBtYXRyaXgpCi17Ci0gICAgbV9mcmFtZUNvdW50Kys7Ci0gICAgZG91Ymxl
IGRlbHRhID0gV1RGOjpjdXJyZW50VGltZSgpIC0gbV9mcHNUaW1lc3RhbXA7Ci0gICAgaWYgKGRl
bHRhID49IG1fZnBzSW50ZXJ2YWwpIHsKLSAgICAgICAgbV9sYXN0RlBTID0gaW50KG1fZnJhbWVD
b3VudCAvIGRlbHRhKTsKLSAgICAgICAgbV9mcmFtZUNvdW50ID0gMDsKLSAgICAgICAgbV9mcHNU
aW1lc3RhbXAgKz0gZGVsdGE7Ci0gICAgfQotCi0gICAgLy8gRklYTUU6IGRyYXdSZXBhaW50Q291
bnRlcigpIHNob3VsZCBzYXZlIGEgdGV4dHVyZSBhbmQgcmUtdXNlIHdoZW5ldmVyIHBvc3NpYmxl
LgotICAgIG1fdGV4dHVyZU1hcHBlci0+ZHJhd1JlcGFpbnRDb3VudGVyKG1fbGFzdEZQUywgQ29s
b3I6OmJsYWNrLCBsb2NhdGlvbiwgbWF0cml4KTsKLX0KLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQogCiAjZW5kaWYgLy8gVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5h
dGVkR3JhcGhpY3NTY2VuZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4
bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZS5oCmluZGV4IDBiOGQ1ZGJj
ZThmZDQxZjU4MzFjNDBkMmVkMDkzYzVkYWRjNzY5MTkuLmE1YmNlYmZiNGRlNGNiMGYwZjY4M2Rk
YjJmOGEzZGU3OTQ4YTEzZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzU2NlbmUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29v
cmRpbmF0ZWRHcmFwaGljc1NjZW5lLmgKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJSdW5M
b29wLmgiCiAjaW5jbHVkZSAiVGV4dHVyZU1hcHBlci5oIgogI2luY2x1ZGUgIlRleHR1cmVNYXBw
ZXJCYWNraW5nU3RvcmUuaCIKKyNpbmNsdWRlICJUZXh0dXJlTWFwcGVyRlBTQ291bnRlci5oIgog
I2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSA8d3RmL0Z1bmN0aW9uYWwuaD4KICNpbmNsdWRl
IDx3dGYvSGFzaFNldC5oPgpAQCAtMTczLDggKzE3NCw2IEBAIHByaXZhdGU6CiAgICAgdm9pZCBy
ZW1vdmVCYWNraW5nU3RvcmVJZk5lZWRlZChHcmFwaGljc0xheWVyKik7CiAgICAgdm9pZCByZXNl
dEJhY2tpbmdTdG9yZVNpemVUb0xheWVyU2l6ZShHcmFwaGljc0xheWVyKik7CiAKLSAgICB2b2lk
IHVwZGF0ZUZQUyhjb25zdCBGbG9hdFBvaW50JiwgY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgm
ID0gVHJhbnNmb3JtYXRpb25NYXRyaXgoKSk7Ci0KICAgICBGbG9hdFNpemUgbV9jb250ZW50c1Np
emU7CiAgICAgRmxvYXRSZWN0IG1fdmlzaWJsZUNvbnRlbnRzUmVjdDsKIApAQCAtMjI1LDExICsy
MjQsNyBAQCBwcml2YXRlOgogICAgIEN1c3RvbUZpbHRlclByb2dyYW1NYXAgbV9jdXN0b21GaWx0
ZXJQcm9ncmFtczsKICNlbmRpZgogCi0gICAgYm9vbCBtX2lzU2hvd2luZ0ZQUzsKLSAgICBkb3Vi
bGUgbV9mcHNJbnRlcnZhbDsKLSAgICBkb3VibGUgbV9mcHNUaW1lc3RhbXA7Ci0gICAgaW50IG1f
bGFzdEZQUzsKLSAgICBpbnQgbV9mcmFtZUNvdW50OworICAgIFRleHR1cmVNYXBwZXJGUFNDb3Vu
dGVyIG1fZnBzQ291bnRlcjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0FjY2VsZXJhdGVkQ29tcG9zaXRp
bmdDb250ZXh0RWZsLmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0FjY2Vs
ZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0RWZsLmNwcAppbmRleCA4YTNhMjQ5YmUyMDBiZWYzNTky
ZmNhOGM0YmQwMGI0NTNhYzNiZGIzLi5iNDVlOWIzNTg5MDJiNmE1YjgwYTIzMDM1MmFjMzU2Yjlh
YzE3YmRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9BY2Nl
bGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dEVmbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9lZmwv
V2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHRFZmwuY3BwCkBAIC04
OSw2ICs4OSw3IEBAIHZvaWQgQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6OnJlbmRlckxh
eWVycygpCiAKICAgICBtX3RleHR1cmVNYXBwZXItPmJlZ2luUGFpbnRpbmcoKTsKICAgICBtX3Jv
b3RUZXh0dXJlTWFwcGVyTGF5ZXItPnBhaW50KCk7CisgICAgbV9mcHNDb3VudGVyLnVwZGF0ZSht
X3RleHR1cmVNYXBwZXIuZ2V0KCkpOwogICAgIG1fdGV4dHVyZU1hcHBlci0+ZW5kUGFpbnRpbmco
KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQWNj
ZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHRFZmwuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNv
cmVTdXBwb3J0L0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0RWZsLmgKaW5kZXggNTBiODli
OWNhYzMzMjc2OGRjMzQzOTVhY2U0Yjg1YzViNDRlMGI1NS4uZDI4NjlhNDhkNjg2MzVkOTFlN2Fh
ZDBlM2Q3MmZjYTU1YTU2MzY0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29y
ZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHRFZmwuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dEVm
bC5oCkBAIC0yNSw2ICsyNSw3IEBACiAKICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcp
ICYmIFVTRShURVhUVVJFX01BUFBFUl9HTCkKIAorI2luY2x1ZGUgIlRleHR1cmVNYXBwZXJGUFND
b3VudGVyLmgiCiAjaW5jbHVkZSAiZXdrX3ByaXZhdGUuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewpAQCAtNTYsNiArNTcsNyBAQCBwcml2YXRlOgogICAgIFRleHR1cmVNYXBwZXJMYXllciogbV9y
b290VGV4dHVyZU1hcHBlckxheWVyOwogCiAgICAgUmVmUHRyPEdyYXBoaWNzQ29udGV4dDNEPiBt
X2NvbnRleHQzRDsKKyAgICBUZXh0dXJlTWFwcGVyRlBTQ291bnRlciBtX2Zwc0NvdW50ZXI7CiB9
OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0
ay9XZWJDb3JlU3VwcG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dC5oIGIvU291cmNl
L1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQu
aAppbmRleCBiMGY5NzQzNGRiODg0NjE2OGViNDY3NDMwMDkwMWZjMjI1NDAyMmFhLi4yYWIwNTJl
NGFmMTkwOTE1ZDk5MzRkMThjYWIyNGM2MGMyZTcyZjE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dC5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0FjY2VsZXJhdGVkQ29tcG9zaXRp
bmdDb250ZXh0LmgKQEAgLTM0LDYgKzM0LDcgQEAKICNpZiBVU0UoVEVYVFVSRV9NQVBQRVJfR0wp
CiAjaW5jbHVkZSAiR0xDb250ZXh0LmgiCiAjaW5jbHVkZSAiUmVkaXJlY3RlZFhDb21wb3NpdGVX
aW5kb3cuaCIKKyNpbmNsdWRlICJUZXh0dXJlTWFwcGVyRlBTQ291bnRlci5oIgogI2VuZGlmCiAK
ICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCkBAIC04OCw2ICs4OSw3IEBAIHByaXZh
dGU6CiAgICAgZG91YmxlIG1fbGFzdEZsdXNoVGltZTsKICAgICBkb3VibGUgbV9yZWRyYXdQZW5k
aW5nVGltZTsKICAgICBib29sIG1fbmVlZHNFeHRyYUZsdXNoOworICAgIFdlYkNvcmU6OlRleHR1
cmVNYXBwZXJGUFNDb3VudGVyIG1fZnBzQ291bnRlcjsKIAogICAgIHZvaWQgbGF5ZXJGbHVzaFRp
bWVyRmlyZWQoKTsKICAgICB2b2lkIHN0b3BBbnlQZW5kaW5nTGF5ZXJGbHVzaCgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3Np
dGluZ0NvbnRleHRHTC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9BY2Nl
bGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dEdMLmNwcAppbmRleCBjMjNkZTYyYTEwYTFjMTQxZTc0
YTBkMzIyMDNlNDU5M2JkZjgyMDcxLi4xOTZiODA1ZDZmMjI0YTVmYjIzYzMzYmJhOTUzNDcyZjVh
NTAyODc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9BY2Nl
bGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dEdMLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9X
ZWJDb3JlU3VwcG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dEdMLmNwcApAQCAtMTg5
LDYgKzE4OSw3IEBAIHZvaWQgQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6OmNvbXBvc2l0
ZUxheWVyc1RvQ29udGV4dChDb21wb3NpdGVQdXJwb3NlIHB1CiAKICAgICBtX3RleHR1cmVNYXBw
ZXItPmJlZ2luUGFpbnRpbmcoKTsKICAgICB0b1RleHR1cmVNYXBwZXJMYXllcihtX3Jvb3RMYXll
ci5nZXQoKSktPnBhaW50KCk7CisgICAgbV9mcHNDb3VudGVyLnVwZGF0ZShtX3RleHR1cmVNYXBw
ZXIuZ2V0KCkpOwogICAgIG1fdGV4dHVyZU1hcHBlci0+ZW5kUGFpbnRpbmcoKTsKIAogICAgIGNv
bnRleHQtPnN3YXBCdWZmZXJzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNv
cmVTdXBwb3J0L1RleHR1cmVNYXBwZXJMYXllckNsaWVudFF0LmNwcCBiL1NvdXJjZS9XZWJLaXQv
cXQvV2ViQ29yZVN1cHBvcnQvVGV4dHVyZU1hcHBlckxheWVyQ2xpZW50UXQuY3BwCmluZGV4IDY2
YjhkMGY5NmQ0YTcyNjZlMTZkYmRjYWUxYTliZjU4ZjMxOTg3MDguLmE2YWMzODY2MmEyZWU0Mzkx
NjU2YTAwMWQzYTM4MWU1YmM3MGMyNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvV2Vi
Q29yZVN1cHBvcnQvVGV4dHVyZU1hcHBlckxheWVyQ2xpZW50UXQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvVGV4dHVyZU1hcHBlckxheWVyQ2xpZW50UXQuY3BwCkBA
IC0xMjIsNiArMTIyLDcgQEAgdm9pZCBUZXh0dXJlTWFwcGVyTGF5ZXJDbGllbnRRdDo6cmVuZGVy
Q29tcG9zaXRlZExheWVycyhHcmFwaGljc0NvbnRleHQqIGNvbnRleHQKICAgICBtX3RleHR1cmVN
YXBwZXItPmJlZ2luUGFpbnRpbmcoKTsKICAgICBtX3RleHR1cmVNYXBwZXItPmJlZ2luQ2xpcCht
YXRyaXgsIGNsaXApOwogICAgIG1fcm9vdFRleHR1cmVNYXBwZXJMYXllci0+cGFpbnQoKTsKKyAg
ICBtX2Zwc0NvdW50ZXIudXBkYXRlKG1fdGV4dHVyZU1hcHBlci5nZXQoKSwgY2xpcC5sb2NhdGlv
bigpLCBtYXRyaXgpOwogICAgIG1fdGV4dHVyZU1hcHBlci0+ZW5kQ2xpcCgpOwogICAgIG1fdGV4
dHVyZU1hcHBlci0+ZW5kUGFpbnRpbmcoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
cXQvV2ViQ29yZVN1cHBvcnQvVGV4dHVyZU1hcHBlckxheWVyQ2xpZW50UXQuaCBiL1NvdXJjZS9X
ZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvVGV4dHVyZU1hcHBlckxheWVyQ2xpZW50UXQuaAppbmRl
eCA2NzMyOGNjOTljY2VkZTZiY2QzYzM5ZDBhOWE1N2RhYWM3MGE4Mzc1Li4yZmZiNWYwYWE0NmI3
ODY2MWE4NzcxYzU5NTVlOTYxMjlhOGQ1ZTQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0
L1dlYkNvcmVTdXBwb3J0L1RleHR1cmVNYXBwZXJMYXllckNsaWVudFF0LmgKKysrIGIvU291cmNl
L1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9UZXh0dXJlTWFwcGVyTGF5ZXJDbGllbnRRdC5oCkBA
IC0yNSw2ICsyNSw3IEBAIGNsYXNzIFFXZWJGcmFtZUFkYXB0ZXI7CiAKICNpbmNsdWRlICJHcmFw
aGljc0xheWVyLmgiCiAjaW5jbHVkZSAiVGV4dHVyZU1hcHBlci5oIgorI2luY2x1ZGUgIlRleHR1
cmVNYXBwZXJGUFNDb3VudGVyLmgiCiAjaW5jbHVkZSAiVGltZXIuaCIKICNpbmNsdWRlIDx3dGYv
T3duUHRyLmg+CiAKQEAgLTUzLDYgKzU0LDcgQEAgcHJpdmF0ZToKICAgICBUaW1lcjxUZXh0dXJl
TWFwcGVyTGF5ZXJDbGllbnRRdD4gbV9zeW5jVGltZXI7CiAgICAgV2ViQ29yZTo6VGV4dHVyZU1h
cHBlckxheWVyKiBtX3Jvb3RUZXh0dXJlTWFwcGVyTGF5ZXI7CiAgICAgT3duUHRyPFdlYkNvcmU6
OlRleHR1cmVNYXBwZXI+IG1fdGV4dHVyZU1hcHBlcjsKKyAgICBXZWJDb3JlOjpUZXh0dXJlTWFw
cGVyRlBTQ291bnRlciBtX2Zwc0NvdW50ZXI7CiB9OwogI2VuZGlmCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>187766</attachid>
            <date>2013-02-11 20:37:29 -0800</date>
            <delta_ts>2013-02-12 00:11:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-109540-20130212133322.patch</filename>
            <type>text/plain</type>
            <size>29596</size>
            <attacher name="Dongseong Hwang">dongseong.hwang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyNTY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzZmMWJmNGJlOGZmZGU2
ZmNmNTY0YWQyNDAxYjdmYWVhNzU2ODAyZS4uMTg4YmNmYTc5MTY2YjQ1MjhmOWQxMGExMDkwMmM4
YTNlMDRmMDVmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ4IEBACiAyMDEzLTAyLTExICBIdWFu
ZyBEb25nc3VuZyAgPGx1eHRlbGxhQGNvbXBhbnkxMDAubmV0PgogCisgICAgICAgIFtUZXhNYXBd
IEFwcGx5IGZyYW1lcy1wZXItc2Vjb25kIGRlYnVnIGNvdW50ZXIgdG8gV0sxLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA5NTQwCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgcjE0MjUyNCBpbXBsZW1lbnRl
ZCBmcmFtZXMtcGVyLXNlY29uZCBkZWJ1ZyBjb3VudGVyIG9uIFdLMi4gVGhpcyBwYXRjaAorICAg
ICAgICBhcHBsaWVzIGZyYW1lcy1wZXItc2Vjb25kIGRlYnVnIGNvdW50ZXIgdG8gV0sxIGFsc28u
CisKKyAgICAgICAgVmlzdWFsIGRlYnVnZ2luZyBmZWF0dXJlLCBubyBuZWVkIGZvciBuZXcgdGVz
dHMuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5s
aXN0LmFtOgorICAgICAgICAqIFRhcmdldC5wcmk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvdGV4bWFwL1RleHR1cmVNYXBwZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90
ZXhtYXAvVGV4dHVyZU1hcHBlckZQU0NvdW50ZXIuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNv
cmUpOgorICAgICAgICAoV2ViQ29yZTo6VGV4dHVyZU1hcHBlckZQU0NvdW50ZXI6OlRleHR1cmVN
YXBwZXJGUFNDb3VudGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHR1cmVNYXBwZXJGUFNDb3Vu
dGVyOjp1cGRhdGUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJl
TWFwcGVyRlBTQ291bnRlci5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAo
VGV4dHVyZU1hcHBlckZQU0NvdW50ZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3Rl
eG1hcC9UZXh0dXJlTWFwcGVyR0wuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChX
ZWJDb3JlOjpUZXh0dXJlTWFwcGVyR0w6OmRyYXdOdW1iZXIpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckltYWdlQnVmZmVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlRleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlcjo6ZHJhd051bWJlcik6CisgICAgICAgICAg
UmVuYW1lIGZyb20gZHJhd1JlcGFpbnRDb3VudGVyIHRvIGRyYXdOdW1iZXIuCisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlci5oOgorICAg
ICAgICAoVGV4dHVyZU1hcHBlckltYWdlQnVmZmVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlclRpbGVkQmFja2luZ1N0b3JlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlRleHR1cmVNYXBwZXJUaWxlZEJhY2tpbmdTdG9yZTo6ZHJhd1JlcGFpbnRDb3Vu
dGVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29v
cmRpbmF0ZWRCYWNraW5nU3RvcmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29vcmRpbmF0ZWRC
YWNraW5nU3RvcmU6OmRyYXdSZXBhaW50Q291bnRlcik6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZS5jcHA6Cisg
ICAgICAgICAgTW92ZSBmcmFtZXMtcGVyLXNlY29uZCBkZWJ1ZyBjb3VudGVyIGNvZGUgdG8gVGV4
dHVyZU1hcHBlckZQU0NvdW50ZXIuCisgICAgICAgIChXZWJDb3JlOjpDb29yZGluYXRlZEdyYXBo
aWNzU2NlbmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZSk6CisgICAgICAgIChXZWJDb3JlOjpD
b29yZGluYXRlZEdyYXBoaWNzU2NlbmU6OnBhaW50VG9DdXJyZW50R0xDb250ZXh0KToKKyAgICAg
ICAgKFdlYkNvcmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6cGFpbnRUb0dyYXBoaWNzQ29u
dGV4dCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nv
b3JkaW5hdGVkR3JhcGhpY3NTY2VuZS5oOgorCisyMDEzLTAyLTExICBIdWFuZyBEb25nc3VuZyAg
PGx1eHRlbGxhQGNvbXBhbnkxMDAubmV0PgorCiAgICAgICAgIENvb3JkaW5hdGVkIEdyYXBoaWNz
OiByZW1vdmUgdGhlIERpZENoYW5nZVNjcm9sbFBvc2l0aW9uIG1lc3NhZ2UuCiAgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDgwNTEKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdl
TG9nCmluZGV4IDZiN2RjMDI3MjJlYTZiMDgwN2YyNTk0M2Y2MmUxMWM4MmIwZGYyMWQuLjQ2MzE4
OWU3ZThjNDNjMWEyMDE4ZjYzYjA0ZWE2OTJjNGE0YjQ5YzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvZWZsL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNyBAQAorMjAxMy0wMi0xMSAgSHVhbmcgRG9uZ3N1bmcgIDxsdXh0ZWxsYUBjb21w
YW55MTAwLm5ldD4KKworICAgICAgICBbVGV4TWFwXSBBcHBseSBmcmFtZXMtcGVyLXNlY29uZCBk
ZWJ1ZyBjb3VudGVyIHRvIFdLMS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEwOTU0MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIE1ha2UgQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHRFZmwgdXNlIFRl
eHR1cmVNYXBwZXJGUFNDb3VudGVyLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQWNjZWxl
cmF0ZWRDb21wb3NpdGluZ0NvbnRleHRFZmwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZWxl
cmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6OnJlbmRlckxheWVycyk6CisgICAgICAgICogV2ViQ29y
ZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHRFZmwuaDoKKyAgICAgICAgKEFj
Y2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0KToKKwogMjAxMy0wMi0wOCAgQmVuamFtaW4gUG91
bGFpbiAgPGJwb3VsYWluQGFwcGxlLmNvbT4KIAogICAgICAgICBNb3ZlIHdvcmtlclRocmVhZENv
dW50IGZyb20gVGVzdFJ1bm5lciB0byBXZWJDb3JlIEludGVybmFscwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCmlu
ZGV4IGFjNzVjYTYzNDgxYmM4YmE1OWZkOWQ3OTdjY2E5MTMxY2ZjMzcxOTguLmFmNTVkYzBiYWFm
N2NmMTBmN2IwMjJmZjQyMjQxMmI4OTlkZTQzZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Z3RrL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNiBAQAorMjAxMy0wMi0xMSAgSHVhbmcgRG9uZ3N1bmcgIDxsdXh0ZWxsYUBjb21wYW55MTAw
Lm5ldD4KKworICAgICAgICBbVGV4TWFwXSBBcHBseSBmcmFtZXMtcGVyLXNlY29uZCBkZWJ1ZyBj
b3VudGVyIHRvIFdLMS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEwOTU0MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIE1ha2UgQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQgdXNlIFRleHR1cmVNYXBw
ZXJGUFNDb3VudGVyLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21w
b3NpdGluZ0NvbnRleHQuaDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9BY2NlbGVyYXRlZENv
bXBvc2l0aW5nQ29udGV4dEdMLmNwcDoKKyAgICAgICAgKFdlYktpdDo6QWNjZWxlcmF0ZWRDb21w
b3NpdGluZ0NvbnRleHQ6OmNvbXBvc2l0ZUxheWVyc1RvQ29udGV4dCk6CisKIDIwMTMtMDItMTEg
IEJlbmphbWluIFBvdWxhaW4gIDxiZW5qYW1pbkB3ZWJraXQub3JnPgogCiAgICAgICAgIEtpbGwg
VGVzdFJ1bm5lcjo6c2V0TWluaW11bVRpbWVySW50ZXJ2YWw7IGltcGxlbWVudCB0aGUgZmVhdHVy
ZSB3aXRoIEludGVybmFsU2V0dGluZ3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKaW5kZXggZWRjMjc4MzVjYjQ2OWRl
NjNiNzlhZjNmMjllNjRhZjNlNWQ2YTFjNi4uODRlZTg3YmIxZWIyYzgyNTczNWYwMDM1NjhhNWYx
ZGQyZDJhZjgyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMy0wMi0xMSAg
SHVhbmcgRG9uZ3N1bmcgIDxsdXh0ZWxsYUBjb21wYW55MTAwLm5ldD4KKworICAgICAgICBbVGV4
TWFwXSBBcHBseSBmcmFtZXMtcGVyLXNlY29uZCBkZWJ1ZyBjb3VudGVyIHRvIFdLMS4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwOTU0MAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1ha2UgVGV4dHVyZU1h
cHBlckxheWVyQ2xpZW50UXQgdXNlIFRleHR1cmVNYXBwZXJGUFNDb3VudGVyLgorCisgICAgICAg
ICogV2ViQ29yZVN1cHBvcnQvVGV4dHVyZU1hcHBlckxheWVyQ2xpZW50UXQuY3BwOgorICAgICAg
ICAoVGV4dHVyZU1hcHBlckxheWVyQ2xpZW50UXQ6OnJlbmRlckNvbXBvc2l0ZWRMYXllcnMpOgor
ICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1RleHR1cmVNYXBwZXJMYXllckNsaWVudFF0Lmg6Cisg
ICAgICAgIChUZXh0dXJlTWFwcGVyTGF5ZXJDbGllbnRRdCk6CisKIDIwMTMtMDItMTEgIEJlbmph
bWluIFBvdWxhaW4gIDxiZW5qYW1pbkB3ZWJraXQub3JnPgogCiAgICAgICAgIEtpbGwgVGVzdFJ1
bm5lcjo6c2V0TWluaW11bVRpbWVySW50ZXJ2YWw7IGltcGxlbWVudCB0aGUgZmVhdHVyZSB3aXRo
IEludGVybmFsU2V0dGluZ3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMu
dHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggZDMzMWFlYjgwY2Q3Y2Yy
Njc1NDYyZTY0NzhlMzMzODQxNDRiMWZmYS4uYWVhMzU3YmMxNTcxYTU4NTkzY2NjNGRiODA3N2Uw
MjkwMjMyMzI2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysr
IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTIwMDAsNiArMjAwMCw3IEBAIHNl
dChXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0
ZWQvVXBkYXRlQXRsYXMuY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVN
YXBwZXIuY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJCYWNr
aW5nU3RvcmUuY3BwCisgICAgcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJG
UFNDb3VudGVyLmNwcAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVy
SW1hZ2VCdWZmZXIuY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBw
ZXJMYXllci5jcHAKICAgICBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlclN1
cmZhY2VCYWNraW5nU3RvcmUuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtl
ZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCAy
YjliMWJlM2Q0Yjc0N2E1OGY2Y2IwMzIzMmRhYWI1YzQ4YTc2ZTBlLi4wMjEwNjJiMDg1NDlhNGFm
YTViN2EzOWI0ODVjMTRjZjU4MzBjYzkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVt
YWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0K
QEAgLTY0ODIsNiArNjQ4Miw4IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJCYWNraW5nU3RvcmUuaCBc
CiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXIu
Y3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1h
cHBlci5oIFwKKwlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVy
ZU1hcHBlckZQU0NvdW50ZXIuY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy90ZXhtYXAvVGV4dHVyZU1hcHBlckZQU0NvdW50ZXIuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlci5jcHAgXAogCVNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVySW1hZ2VC
dWZmZXIuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1
cmVNYXBwZXJMYXllci5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnBy
aSBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXggOWFhZTE2YzcwN2UyZTFiYjFlMmMw
MWRiN2ZmMDQ5MmMxZWE2OTBiYS4uNDMyYmU1OTVkNGE2ZGU0MTcxMWM4ZGY0MmM2YWJiODYxZGJi
MTQ2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9UYXJnZXQucHJpCkBAIC0yMjcwLDYgKzIyNzAsNyBAQCBIRUFERVJTICs9IFwKICAg
ICBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvR3JhcGhpY3NMYXllclRleHR1cmVNYXBwZXIuaCBc
CiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXIuaCBcCiAgICAgcGxh
dGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJCYWNraW5nU3RvcmUuaCBcCisgICAg
cGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJGUFNDb3VudGVyLmggXAogICAg
IHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXIuaCBcCiAg
ICAgcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJMYXllci5oIFwKICAgICBw
bGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXIuaCBcCkBA
IC0yOTA2LDYgKzI5MDcsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBwbGF0Zm9ybS9ncmFwaGljcy90
ZXhtYXAvR3JhcGhpY3NMYXllclRleHR1cmVNYXBwZXIuY3BwIFwKICAgICBwbGF0Zm9ybS9ncmFw
aGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlci5jcHAgXAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL3Rl
eG1hcC9UZXh0dXJlTWFwcGVyQmFja2luZ1N0b3JlLmNwcCBcCisgICAgcGxhdGZvcm0vZ3JhcGhp
Y3MvdGV4bWFwL1RleHR1cmVNYXBwZXJGUFNDb3VudGVyLmNwcCBcCiAgICAgcGxhdGZvcm0vZ3Jh
cGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlci5jcHAgXAogICAgIHBsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyTGF5ZXIuY3BwIFwKICAgICBwbGF0Zm9ybS9n
cmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlclN1cmZhY2VCYWNraW5nU3RvcmUuY3BwIFwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJl
TWFwcGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVy
ZU1hcHBlci5oCmluZGV4IGQ5NjExNmI3MDk5MzY4YWQ0NDU1OTk2YzFiNzMyMDE2MjcwZGVlYzIu
LmFkZWFmM2U3MThlMTMyNTAzODI5YzkwNGZjMGEyZDI3NTJjNDYxODYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXIu
aApAQCAtMTMwLDcgKzEzMCw3IEBAIHB1YmxpYzoKICAgICB9OwogCiAgICAgdmlydHVhbCB2b2lk
IGRyYXdCb3JkZXIoY29uc3QgQ29sb3ImLCBmbG9hdCBib3JkZXJXaWR0aCwgY29uc3QgRmxvYXRS
ZWN0JiwgY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lk
IGRyYXdSZXBhaW50Q291bnRlcihpbnQgcmVwYWludENvdW50LCBjb25zdCBDb2xvciYsIGNvbnN0
IEZsb2F0UG9pbnQmLCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYpID0gMDsKKyAgICB2aXJ0
dWFsIHZvaWQgZHJhd051bWJlcihpbnQgbnVtYmVyLCBjb25zdCBDb2xvciYsIGNvbnN0IEZsb2F0
UG9pbnQmLCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYpID0gMDsKIAogICAgIHZpcnR1YWwg
dm9pZCBkcmF3VGV4dHVyZShjb25zdCBCaXRtYXBUZXh0dXJlJiwgY29uc3QgRmxvYXRSZWN0JiB0
YXJnZXQsIGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBtb2RlbFZpZXdNYXRyaXggPSBUcmFu
c2Zvcm1hdGlvbk1hdHJpeCgpLCBmbG9hdCBvcGFjaXR5ID0gMS4wZiwgY29uc3QgQml0bWFwVGV4
dHVyZSogbWFza1RleHR1cmUgPSAwLCB1bnNpZ25lZCBleHBvc2VkRWRnZXMgPSBBbGxFZGdlcykg
PSAwOwogICAgIHZpcnR1YWwgdm9pZCBkcmF3U29saWRDb2xvcihjb25zdCBGbG9hdFJlY3QmLCBj
b25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYsIGNvbnN0IENvbG9yJikgPSAwOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJG
UFNDb3VudGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9U
ZXh0dXJlTWFwcGVyRlBTQ291bnRlci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmQ4ZmJmZTI1MDU5NDhkNzAw
ZWUyZmRjYmVjOWE0MTNjN2E5MDhkNAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyRlBTQ291bnRlci5jcHAKQEAg
LTAsMCArMSw2NiBAQAorLyoKKyAgICBDb3B5cmlnaHQgKEMpIDIwMTIgTm9raWEgQ29ycG9yYXRp
b24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCisgICAgQ29weXJpZ2h0IChDKSAyMDEyLCAy
MDEzIENvbXBhbnkgMTAwLCBJbmMuCisKKyAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2Fy
ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgICAgbW9kaWZ5IGl0IHVuZGVyIHRo
ZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAgICBMaWNlbnNlIGFz
IHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAgICB2
ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl
cnNpb24uCisKKyAgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh
dCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv
dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICAgIE1FUkNIQU5UQUJJTElUWSBvciBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgICAgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKyAgICBZb3Ugc2hv
dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlCisgICAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZ
SU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICAgIEJvc3Rvbiwg
TUEgMDIxMTAtMTMwMSwgVVNBLgorKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgVVNF
KEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQorCisjaW5jbHVkZSAiVGV4dHVyZU1hcHBlckZQU0Nv
dW50ZXIuaCIKKworI2luY2x1ZGUgIlRleHR1cmVNYXBwZXIuaCIKKyNpbmNsdWRlIDx3dGYvQ3Vy
cmVudFRpbWUuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitUZXh0dXJlTWFwcGVyRlBTQ291
bnRlcjo6VGV4dHVyZU1hcHBlckZQU0NvdW50ZXIoKQorICAgIDogbV9pc1Nob3dpbmdGUFMoZmFs
c2UpCisgICAgLCBtX2Zwc0ludGVydmFsKDApCisgICAgLCBtX2Zwc1RpbWVzdGFtcCgwKQorICAg
ICwgbV9sYXN0RlBTKDApCisgICAgLCBtX2ZyYW1lQ291bnQoMCkKK3sKKyAgICBTdHJpbmcgc2hv
d0ZQU0Vudmlyb25tZW50ID0gZ2V0ZW52KCJXRUJLSVRfU0hPV19GUFMiKTsKKyAgICBib29sIG9r
ID0gZmFsc2U7CisgICAgbV9mcHNJbnRlcnZhbCA9IHNob3dGUFNFbnZpcm9ubWVudC50b0RvdWJs
ZSgmb2spOworICAgIGlmIChvayAmJiBtX2Zwc0ludGVydmFsKSB7CisgICAgICAgIG1faXNTaG93
aW5nRlBTID0gdHJ1ZTsKKyAgICAgICAgbV9mcHNUaW1lc3RhbXAgPSBXVEY6OmN1cnJlbnRUaW1l
KCk7CisgICAgfQorfQorCit2b2lkIFRleHR1cmVNYXBwZXJGUFNDb3VudGVyOjp1cGRhdGUoVGV4
dHVyZU1hcHBlciogdGV4dHVyZU1hcHBlciwgY29uc3QgRmxvYXRQb2ludCYgbG9jYXRpb24sIGNv
bnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBtYXRyaXgpCit7CisgICAgaWYgKCFtX2lzU2hvd2lu
Z0ZQUykKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9mcmFtZUNvdW50Kys7CisgICAgZG91Ymxl
IGRlbHRhID0gV1RGOjpjdXJyZW50VGltZSgpIC0gbV9mcHNUaW1lc3RhbXA7CisgICAgaWYgKGRl
bHRhID49IG1fZnBzSW50ZXJ2YWwpIHsKKyAgICAgICAgbV9sYXN0RlBTID0gaW50KG1fZnJhbWVD
b3VudCAvIGRlbHRhKTsKKyAgICAgICAgbV9mcmFtZUNvdW50ID0gMDsKKyAgICAgICAgbV9mcHNU
aW1lc3RhbXAgKz0gZGVsdGE7CisgICAgfQorCisgICAgdGV4dHVyZU1hcHBlci0+ZHJhd051bWJl
cihtX2xhc3RGUFMsIENvbG9yOjpibGFjaywgbG9jYXRpb24sIG1hdHJpeCk7Cit9CisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElO
RykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9U
ZXh0dXJlTWFwcGVyRlBTQ291bnRlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvdGV4bWFwL1RleHR1cmVNYXBwZXJGUFNDb3VudGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWFhOTQ5MDFh
NmRhMzhhMzI0ODYwMTYyMzdlZjZmZjEwYmQ5MzUzNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyRlBTQ291bnRl
ci5oCkBAIC0wLDAgKzEsNTMgQEAKKy8qCisgICAgQ29weXJpZ2h0IChDKSAyMDEyIE5va2lhIENv
cnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQorICAgIENvcHlyaWdodCAoQykg
MjAxMiwgMjAxMyBDb21wYW55IDEwMCwgSW5jLgorCisgICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUg
c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICAgIG1vZGlmeSBpdCB1
bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgICAgTGlj
ZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVy
CisgICAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBs
YXRlciB2ZXJzaW9uLgorCisgICAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo
b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZ
OyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAgICBNRVJDSEFOVEFCSUxJ
VFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICAg
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCisgICAg
WW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMgTGljZW5zZQorICAgIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZp
bGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgICAgdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAgICBC
b3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyovCisKKyNpZm5kZWYgVGV4dHVyZU1hcHBlckZQ
U0NvdW50ZXJfaAorI2RlZmluZSBUZXh0dXJlTWFwcGVyRlBTQ291bnRlcl9oCisKKyNpZiBVU0Uo
QUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCisjaW5jbHVkZSAiRmxvYXRQb2ludC5oIgorI2luY2x1
ZGUgIlRyYW5zZm9ybWF0aW9uTWF0cml4LmgiCisjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNzIFRleHR1cmVNYXBwZXI7CisKK2NsYXNzIFRl
eHR1cmVNYXBwZXJGUFNDb3VudGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUZXh0dXJl
TWFwcGVyRlBTQ291bnRlcik7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6
CisgICAgVGV4dHVyZU1hcHBlckZQU0NvdW50ZXIoKTsKKyAgICB2b2lkIHVwZGF0ZShUZXh0dXJl
TWFwcGVyKiwgY29uc3QgRmxvYXRQb2ludCYgPSBGbG9hdFBvaW50Ojp6ZXJvKCksIGNvbnN0IFRy
YW5zZm9ybWF0aW9uTWF0cml4JiA9IFRyYW5zZm9ybWF0aW9uTWF0cml4KCkpOworCitwcml2YXRl
OgorICAgIGJvb2wgbV9pc1Nob3dpbmdGUFM7CisgICAgZG91YmxlIG1fZnBzSW50ZXJ2YWw7Cisg
ICAgZG91YmxlIG1fZnBzVGltZXN0YW1wOworICAgIGludCBtX2xhc3RGUFM7CisgICAgaW50IG1f
ZnJhbWVDb3VudDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIFVT
RShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKKworI2VuZGlmIC8vIFRleHR1cmVNYXBwZXJGUFND
b3VudGVyX2gKKworCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy90ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wuY3BwCmluZGV4IGIyZTBlMDU0ZmIwMDU5YTAx
ODg1ZDE5ODhlZjg1MjhhNDgzNzdmZDEuLjNjZGRjOTM2MzExMDNjZTg3NzdhNDUzMTg5ZmU4YTc4
YmJjODE2ODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Rl
eG1hcC9UZXh0dXJlTWFwcGVyR0wuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wuY3BwCkBAIC0zMjEsMTEgKzMyMSwxMiBAQCB2
b2lkIFRleHR1cmVNYXBwZXJHTDo6ZHJhd0JvcmRlcihjb25zdCBDb2xvciYgY29sb3IsIGZsb2F0
IHdpZHRoLCBjb25zdCBGbG9hdFJlYwogICAgIGRyYXcodGFyZ2V0UmVjdCwgbW9kZWxWaWV3TWF0
cml4LCBwcm9ncmFtLmdldCgpLCBHcmFwaGljc0NvbnRleHQzRDo6TElORV9MT09QLCBjb2xvci5o
YXNBbHBoYSgpID8gU2hvdWxkQmxlbmQgOiAwKTsKIH0KIAotdm9pZCBUZXh0dXJlTWFwcGVyR0w6
OmRyYXdSZXBhaW50Q291bnRlcihpbnQgcmVwYWludENvdW50LCBjb25zdCBDb2xvciYgY29sb3Is
IGNvbnN0IEZsb2F0UG9pbnQmIHRhcmdldFBvaW50LCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJp
eCYgbW9kZWxWaWV3TWF0cml4KQorLy8gRklYTUU6IGRyYXdOdW1iZXIoKSBzaG91bGQgc2F2ZSBh
IG51bWJlciB0ZXh0dXJlLWF0bGFzIGFuZCByZS11c2Ugd2hlbmV2ZXIgcG9zc2libGUuCit2b2lk
IFRleHR1cmVNYXBwZXJHTDo6ZHJhd051bWJlcihpbnQgbnVtYmVyLCBjb25zdCBDb2xvciYgY29s
b3IsIGNvbnN0IEZsb2F0UG9pbnQmIHRhcmdldFBvaW50LCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1h
dHJpeCYgbW9kZWxWaWV3TWF0cml4KQogewogICAgIGludCBwb2ludFNpemUgPSA4OwogI2lmIFBM
QVRGT1JNKFFUKQotICAgIFFTdHJpbmcgY291bnRlclN0cmluZyA9IFFTdHJpbmc6Om51bWJlcihy
ZXBhaW50Q291bnQpOworICAgIFFTdHJpbmcgY291bnRlclN0cmluZyA9IFFTdHJpbmc6Om51bWJl
cihudW1iZXIpOwogCiAgICAgUUZvbnQgZm9udChRU3RyaW5nOjpmcm9tTGF0aW4xKCJNb25vc3Bh
Y2UiKSwgcG9pbnRTaXplLCBRRm9udDo6Qm9sZCk7CiAgICAgZm9udC5zZXRTdHlsZUhpbnQoUUZv
bnQ6OlR5cGVXcml0ZXIpOwpAQCAtMzUxLDcgKzM1Miw3IEBAIHZvaWQgVGV4dHVyZU1hcHBlckdM
OjpkcmF3UmVwYWludENvdW50ZXIoaW50IHJlcGFpbnRDb3VudCwgY29uc3QgQ29sb3ImIGNvbG9y
LCBjCiAgICAgZHJhd1RleHR1cmUoKnRleHR1cmUsIHRhcmdldFJlY3QsIG1vZGVsVmlld01hdHJp
eCwgMS4wZiwgMCwgQWxsRWRnZXMpOwogCiAjZWxpZiBVU0UoQ0FJUk8pCi0gICAgQ1N0cmluZyBj
b3VudGVyU3RyaW5nID0gU3RyaW5nOjpudW1iZXIocmVwYWludENvdW50KS5hc2NpaSgpOworICAg
IENTdHJpbmcgY291bnRlclN0cmluZyA9IFN0cmluZzo6bnVtYmVyKG51bWJlcikuYXNjaWkoKTsK
ICAgICAvLyBjYWlyb190ZXh0X2V4dGVudHMoKSByZXF1aXJlcyBhIGNhaXJvX3QsIHNvIGRpbWVu
c2lvbnMgbmVlZCB0byBiZSBndWVzc3RpbWF0ZWQuCiAgICAgaW50IHdpZHRoID0gY291bnRlclN0
cmluZy5sZW5ndGgoKSAqIHBvaW50U2l6ZSAqIDEuMjsKICAgICBpbnQgaGVpZ2h0ID0gcG9pbnRT
aXplICogMS41OwpAQCAtMzg1LDcgKzM4Niw3IEBAIHZvaWQgVGV4dHVyZU1hcHBlckdMOjpkcmF3
UmVwYWludENvdW50ZXIoaW50IHJlcGFpbnRDb3VudCwgY29uc3QgQ29sb3ImIGNvbG9yLCBjCiAg
ICAgY2Fpcm9fZGVzdHJveShjcik7CiAKICNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKHJlcGFpbnRD
b3VudCk7CisgICAgVU5VU0VEX1BBUkFNKG51bWJlcik7CiAgICAgVU5VU0VEX1BBUkFNKHBvaW50
U2l6ZSk7CiAgICAgVU5VU0VEX1BBUkFNKHRhcmdldFBvaW50KTsKICAgICBVTlVTRURfUEFSQU0o
bW9kZWxWaWV3TWF0cml4KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wuaAppbmRleCA5ODNlMmEwNmMzYzQzZDYz
YWE5ZWJhMWFmNmMxYTFkOGRmNTkzZGRkLi4zZTgwYTE3ODJlYzE0ODkxZmQ3YmNjYzJlOTkwOTNi
OTZkZGRlMzE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90
ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJHTC5oCkBAIC01Myw3ICs1Myw3IEBAIHB1YmxpYzoK
IAogICAgIC8vIFRleHR1cmVNYXBwZXIgaW1wbGVtZW50YXRpb24KICAgICB2aXJ0dWFsIHZvaWQg
ZHJhd0JvcmRlcihjb25zdCBDb2xvciYsIGZsb2F0IGJvcmRlcldpZHRoLCBjb25zdCBGbG9hdFJl
Y3QmLCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYpIE9WRVJSSURFOwotICAgIHZpcnR1YWwg
dm9pZCBkcmF3UmVwYWludENvdW50ZXIoaW50IHJlcGFpbnRDb3VudCwgY29uc3QgQ29sb3ImLCBj
b25zdCBGbG9hdFBvaW50JiwgY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmKSBPVkVSUklERTsK
KyAgICB2aXJ0dWFsIHZvaWQgZHJhd051bWJlcihpbnQgbnVtYmVyLCBjb25zdCBDb2xvciYsIGNv
bnN0IEZsb2F0UG9pbnQmLCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYpIE9WRVJSSURFOwog
ICAgIHZpcnR1YWwgdm9pZCBkcmF3VGV4dHVyZShjb25zdCBCaXRtYXBUZXh0dXJlJiwgY29uc3Qg
RmxvYXRSZWN0JiwgY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmLCBmbG9hdCBvcGFjaXR5LCBj
b25zdCBCaXRtYXBUZXh0dXJlKiBtYXNrVGV4dHVyZSwgdW5zaWduZWQgZXhwb3NlZEVkZ2VzKSBP
VkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgZHJhd1RleHR1cmUoUGxhdGZvcm0zRE9iamVjdCB0
ZXh0dXJlLCBGbGFncywgY29uc3QgSW50U2l6ZSYgdGV4dHVyZVNpemUsIGNvbnN0IEZsb2F0UmVj
dCYgdGFyZ2V0UmVjdCwgY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIG1vZGVsVmlld01hdHJp
eCwgZmxvYXQgb3BhY2l0eSwgY29uc3QgQml0bWFwVGV4dHVyZSogbWFza1RleHR1cmUsIHVuc2ln
bmVkIGV4cG9zZWRFZGdlcyA9IEFsbEVkZ2VzKTsKICAgICB2aXJ0dWFsIHZvaWQgZHJhd1NvbGlk
Q29sb3IoY29uc3QgRmxvYXRSZWN0JiwgY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmLCBjb25z
dCBDb2xvciYpIE9WRVJSSURFOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckltYWdlQnVmZmVyLmNw
cAppbmRleCBiNGUxMjJkMmNkOGRhMDk3MDVmNzljNGJlY2RjYzYzZjBhYTgzMjJhLi4xZTQ5Zjli
NmVjYTg4ZDZhN2NmZDkzMTkxMjIyYzA0ODExMDM5ZDc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckltYWdlQnVmZmVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1h
cHBlckltYWdlQnVmZmVyLmNwcApAQCAtMTcwLDcgKzE3MCw3IEBAIHZvaWQgVGV4dHVyZU1hcHBl
ckltYWdlQnVmZmVyOjpkcmF3Qm9yZGVyKGNvbnN0IENvbG9yJiwgZmxvYXQgLyogYm9yZGVyV2lk
dGggKi8sCiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAotdm9pZCBUZXh0dXJlTWFwcGVySW1h
Z2VCdWZmZXI6OmRyYXdSZXBhaW50Q291bnRlcihpbnQgLyogcmVwYWludENvdW50ICovLCBjb25z
dCBDb2xvciYsIGNvbnN0IEZsb2F0UG9pbnQmLCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYp
Cit2b2lkIFRleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlcjo6ZHJhd051bWJlcihpbnQgLyogbnVtYmVy
ICovLCBjb25zdCBDb2xvciYsIGNvbnN0IEZsb2F0UG9pbnQmLCBjb25zdCBUcmFuc2Zvcm1hdGlv
bk1hdHJpeCYpCiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVySW1hZ2VCdWZm
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFw
cGVySW1hZ2VCdWZmZXIuaAppbmRleCA1YjJlOTc4M2Q2OWMwNTg2MzkyNzJhMmI2MzFjNzZhZTEw
NTczZDNjLi44MGU2OTQ0MDU5MDU0NzYwN2U3MDMyNjFlNzkzMTU1ZGRlM2MyMGQ1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBl
ckltYWdlQnVmZmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4
bWFwL1RleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlci5oCkBAIC01NCw3ICs1NCw3IEBAIHB1YmxpYzoK
IAogICAgIC8vIFRleHR1cmVNYXBwZXIgaW1wbGVtZW50YXRpb24KICAgICB2aXJ0dWFsIHZvaWQg
ZHJhd0JvcmRlcihjb25zdCBDb2xvciYsIGZsb2F0IGJvcmRlcldpZHRoLCBjb25zdCBGbG9hdFJl
Y3QmLCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYpIE9WRVJSSURFOwotICAgIHZpcnR1YWwg
dm9pZCBkcmF3UmVwYWludENvdW50ZXIoaW50IHJlcGFpbnRDb3VudCwgY29uc3QgQ29sb3ImLCBj
b25zdCBGbG9hdFBvaW50JiwgY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmKSBPVkVSUklERTsK
KyAgICB2aXJ0dWFsIHZvaWQgZHJhd051bWJlcihpbnQgbnVtYmVyLCBjb25zdCBDb2xvciYsIGNv
bnN0IEZsb2F0UG9pbnQmLCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYpIE9WRVJSSURFOwog
ICAgIHZpcnR1YWwgdm9pZCBkcmF3VGV4dHVyZShjb25zdCBCaXRtYXBUZXh0dXJlJiwgY29uc3Qg
RmxvYXRSZWN0JiB0YXJnZXRSZWN0LCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYsIGZsb2F0
IG9wYWNpdHksIGNvbnN0IEJpdG1hcFRleHR1cmUqIG1hc2tUZXh0dXJlLCB1bnNpZ25lZCBleHBv
c2VkRWRnZXMpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBkcmF3U29saWRDb2xvcihjb25z
dCBGbG9hdFJlY3QmLCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYsIGNvbnN0IENvbG9yJikg
T1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGJlZ2luQ2xpcChjb25zdCBUcmFuc2Zvcm1hdGlv
bk1hdHJpeCYsIGNvbnN0IEZsb2F0UmVjdCYpIE9WRVJSSURFOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJUaWxlZEJhY2tp
bmdTdG9yZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4
dHVyZU1hcHBlclRpbGVkQmFja2luZ1N0b3JlLmNwcAppbmRleCAzNTE2ZjBmNGE1MWIwNmY5MzQ0
NDc0ZTU3YmZkNjBjNDk0YWM3YzJlLi44MDk3OTIyMjY3ZTk5MGE4MTBmMjAyZDQ1N2E2MmZhZjlm
Yjg4ZDBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXht
YXAvVGV4dHVyZU1hcHBlclRpbGVkQmFja2luZ1N0b3JlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlclRpbGVkQmFja2luZ1N0b3Jl
LmNwcApAQCAtNjYsNyArNjYsNyBAQCB2b2lkIFRleHR1cmVNYXBwZXJUaWxlZEJhY2tpbmdTdG9y
ZTo6ZHJhd1JlcGFpbnRDb3VudGVyKFRleHR1cmVNYXBwZXIqIHRleHR1cmVNYQogewogICAgIFRy
YW5zZm9ybWF0aW9uTWF0cml4IGFkanVzdGVkVHJhbnNmb3JtID0gdHJhbnNmb3JtICogYWRqdXN0
ZWRUcmFuc2Zvcm1Gb3JSZWN0KHRhcmdldFJlY3QpOwogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBp
IDwgbV90aWxlcy5zaXplKCk7ICsraSkKLSAgICAgICAgdGV4dHVyZU1hcHBlci0+ZHJhd1JlcGFp
bnRDb3VudGVyKHJlcGFpbnRDb3VudCwgYm9yZGVyQ29sb3IsIG1fdGlsZXNbaV0ucmVjdCgpLmxv
Y2F0aW9uKCksIGFkanVzdGVkVHJhbnNmb3JtKTsKKyAgICAgICAgdGV4dHVyZU1hcHBlci0+ZHJh
d051bWJlcihyZXBhaW50Q291bnQsIGJvcmRlckNvbG9yLCBtX3RpbGVzW2ldLnJlY3QoKS5sb2Nh
dGlvbigpLCBhZGp1c3RlZFRyYW5zZm9ybSk7CiB9CiAKIHZvaWQgVGV4dHVyZU1hcHBlclRpbGVk
QmFja2luZ1N0b3JlOjpjcmVhdGVPckRlc3Ryb3lUaWxlc0lmTmVlZGVkKGNvbnN0IEZsb2F0U2l6
ZSYgc2l6ZSwgY29uc3QgSW50U2l6ZSYgdGlsZVNpemUsIGJvb2wgaGFzQWxwaGEpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQv
Q29vcmRpbmF0ZWRCYWNraW5nU3RvcmUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkQmFja2luZ1N0b3JlLmNwcAppbmRl
eCA5NWRhMmI4ZmI1ZjRhOGQ5ZDJjOTg3OWU5M2FjYjg1YzBmM2M5YjhiLi42ODEyOWM3M2QyYjYw
YTg2NDMyMmM0NWY0N2IwZTAxMGQzMTJkODM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRCYWNraW5nU3Rv
cmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29y
ZGluYXRlZC9Db29yZGluYXRlZEJhY2tpbmdTdG9yZS5jcHAKQEAgLTE2OSw3ICsxNjksNyBAQCB2
b2lkIENvb3JkaW5hdGVkQmFja2luZ1N0b3JlOjpkcmF3UmVwYWludENvdW50ZXIoVGV4dHVyZU1h
cHBlciogdGV4dHVyZU1hcHBlciwgaQogICAgIFRyYW5zZm9ybWF0aW9uTWF0cml4IGFkanVzdGVk
VHJhbnNmb3JtID0gdHJhbnNmb3JtICogYWRqdXN0ZWRUcmFuc2Zvcm1Gb3JSZWN0KHRhcmdldFJl
Y3QpOwogICAgIENvb3JkaW5hdGVkQmFja2luZ1N0b3JlVGlsZU1hcDo6aXRlcmF0b3IgZW5kID0g
bV90aWxlcy5lbmQoKTsKICAgICBmb3IgKENvb3JkaW5hdGVkQmFja2luZ1N0b3JlVGlsZU1hcDo6
aXRlcmF0b3IgaXQgPSBtX3RpbGVzLmJlZ2luKCk7IGl0ICE9IGVuZDsgKytpdCkKLSAgICAgICAg
dGV4dHVyZU1hcHBlci0+ZHJhd1JlcGFpbnRDb3VudGVyKHJlcGFpbnRDb3VudCwgYm9yZGVyQ29s
b3IsIGl0LT52YWx1ZS5yZWN0KCkubG9jYXRpb24oKSwgYWRqdXN0ZWRUcmFuc2Zvcm0pOworICAg
ICAgICB0ZXh0dXJlTWFwcGVyLT5kcmF3TnVtYmVyKHJlcGFpbnRDb3VudCwgYm9yZGVyQ29sb3Is
IGl0LT52YWx1ZS5yZWN0KCkubG9jYXRpb24oKSwgYWRqdXN0ZWRUcmFuc2Zvcm0pOwogfQogCiB2
b2lkIENvb3JkaW5hdGVkQmFja2luZ1N0b3JlOjpjb21taXRUaWxlT3BlcmF0aW9ucyhUZXh0dXJl
TWFwcGVyKiB0ZXh0dXJlTWFwcGVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQv
Q29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmNwcAppbmRleCBiNjA5NzM2YjJlYzIwMTUwYTczOThl
MjJkODc4YTQwYzRiNDNjYzM5Li5jYTYzNTU2NDM0MmJjNzcyMWYyZWVkN2RkMzM0ODliYzEzNWFi
NTNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAv
Y29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFw
aGljc1NjZW5lLmNwcApAQCAtMzIsNyArMzIsNiBAQAogI2luY2x1ZGUgIlRleHR1cmVNYXBwZXJM
YXllci5oIgogI2luY2x1ZGUgPE9wZW5HTFNoaW1zLmg+CiAjaW5jbHVkZSA8d3RmL0F0b21pY3Mu
aD4KLSNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KICNpbmNsdWRlIDx3dGYvTWFpblRocmVh
ZC5oPgogCiAjaWYgRU5BQkxFKENTU19TSEFERVJTKQpAQCAtNzcsMjEgKzc2LDggQEAgQ29vcmRp
bmF0ZWRHcmFwaGljc1NjZW5lOjpDb29yZGluYXRlZEdyYXBoaWNzU2NlbmUoQ29vcmRpbmF0ZWRH
cmFwaGljc1NjZW5lQ2xpZW4KICNlbmRpZgogICAgICwgbV9iYWNrZ3JvdW5kQ29sb3IoQ29sb3I6
OndoaXRlKQogICAgICwgbV9zZXREcmF3c0JhY2tncm91bmQoZmFsc2UpCi0gICAgLCBtX2lzU2hv
d2luZ0ZQUyhmYWxzZSkKLSAgICAsIG1fZnBzSW50ZXJ2YWwoMCkKLSAgICAsIG1fZnBzVGltZXN0
YW1wKDApCi0gICAgLCBtX2xhc3RGUFMoMCkKLSAgICAsIG1fZnJhbWVDb3VudCgwKQogewogICAg
IEFTU0VSVChpc01haW5UaHJlYWQoKSk7Ci0KLSAgICBTdHJpbmcgc2hvd0ZQU0Vudmlyb25tZW50
ID0gZ2V0ZW52KCJXRUJLSVRfU0hPV19GUFMiKTsKLSAgICBib29sIG9rID0gZmFsc2U7Ci0gICAg
bV9mcHNJbnRlcnZhbCA9IHNob3dGUFNFbnZpcm9ubWVudC50b0RvdWJsZSgmb2spOwotICAgIGlm
IChvayAmJiBtX2Zwc0ludGVydmFsKSB7Ci0gICAgICAgIG1faXNTaG93aW5nRlBTID0gdHJ1ZTsK
LSAgICAgICAgbV9mcHNUaW1lc3RhbXAgPSBXVEY6OmN1cnJlbnRUaW1lKCk7Ci0gICAgfQogfQog
CiBDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6On5Db29yZGluYXRlZEdyYXBoaWNzU2NlbmUoKQpA
QCAtMTM4LDggKzEyNCw3IEBAIHZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjpwYWludFRv
Q3VycmVudEdMQ29udGV4dChjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpCiAgICAgfQogCiAgICAg
bGF5ZXItPnBhaW50KCk7Ci0gICAgaWYgKG1faXNTaG93aW5nRlBTKQotICAgICAgICB1cGRhdGVG
UFMoY2xpcFJlY3QubG9jYXRpb24oKSwgbWF0cml4KTsKKyAgICBtX2Zwc0NvdW50ZXIudXBkYXRl
KG1fdGV4dHVyZU1hcHBlci5nZXQoKSwgY2xpcFJlY3QubG9jYXRpb24oKSwgbWF0cml4KTsKICAg
ICBtX3RleHR1cmVNYXBwZXItPmVuZENsaXAoKTsKICAgICBtX3RleHR1cmVNYXBwZXItPmVuZFBh
aW50aW5nKCk7CiAKQEAgLTE5Miw4ICsxNzcsNyBAQCB2b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NT
Y2VuZTo6cGFpbnRUb0dyYXBoaWNzQ29udGV4dChjYWlyb190KiBwYWludGVyKQogICAgICAgICBt
X3RleHR1cmVNYXBwZXItPmRyYXdTb2xpZENvbG9yKGNsaXBSZWN0LCBUcmFuc2Zvcm1hdGlvbk1h
dHJpeCgpLCBtX2JhY2tncm91bmRDb2xvcik7CiAKICAgICBsYXllci0+cGFpbnQoKTsKLSAgICBp
ZiAobV9pc1Nob3dpbmdGUFMpCi0gICAgICAgIHVwZGF0ZUZQUyhjbGlwUmVjdC5sb2NhdGlvbigp
KTsKKyAgICBtX2Zwc0NvdW50ZXIudXBkYXRlKG1fdGV4dHVyZU1hcHBlci5nZXQoKSwgY2xpcFJl
Y3QubG9jYXRpb24oKSk7CiAgICAgbV90ZXh0dXJlTWFwcGVyLT5lbmRQYWludGluZygpOwogICAg
IG1fdGV4dHVyZU1hcHBlci0+c2V0R3JhcGhpY3NDb250ZXh0KDApOwogfQpAQCAtNzA3LDIwICs2
OTEsNiBAQCB2b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6c2V0QmFja2dyb3VuZENvbG9y
KGNvbnN0IENvbG9yJiBjb2xvcikKICAgICBtX2JhY2tncm91bmRDb2xvciA9IGNvbG9yOwogfQog
Ci12b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6dXBkYXRlRlBTKGNvbnN0IEZsb2F0UG9p
bnQmIGxvY2F0aW9uLCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgbWF0cml4KQotewotICAg
IG1fZnJhbWVDb3VudCsrOwotICAgIGRvdWJsZSBkZWx0YSA9IFdURjo6Y3VycmVudFRpbWUoKSAt
IG1fZnBzVGltZXN0YW1wOwotICAgIGlmIChkZWx0YSA+PSBtX2Zwc0ludGVydmFsKSB7Ci0gICAg
ICAgIG1fbGFzdEZQUyA9IGludChtX2ZyYW1lQ291bnQgLyBkZWx0YSk7Ci0gICAgICAgIG1fZnJh
bWVDb3VudCA9IDA7Ci0gICAgICAgIG1fZnBzVGltZXN0YW1wICs9IGRlbHRhOwotICAgIH0KLQot
ICAgIC8vIEZJWE1FOiBkcmF3UmVwYWludENvdW50ZXIoKSBzaG91bGQgc2F2ZSBhIHRleHR1cmUg
YW5kIHJlLXVzZSB3aGVuZXZlciBwb3NzaWJsZS4KLSAgICBtX3RleHR1cmVNYXBwZXItPmRyYXdS
ZXBhaW50Q291bnRlcihtX2xhc3RGUFMsIENvbG9yOjpibGFjaywgbG9jYXRpb24sIG1hdHJpeCk7
Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIFVTRShDT09SRElOQVRF
RF9HUkFQSElDUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzU2NlbmUuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdy
YXBoaWNzU2NlbmUuaAppbmRleCAwYjhkNWRiY2U4ZmQ0MWY1ODMxYzQwZDJlZDA5M2M1ZGFkYzc2
OTE5Li5hNWJjZWJmYjRkZTRjYjBmMGY2ODNkZGIyZjhhM2RlNzk0OGExM2U3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29v
cmRpbmF0ZWRHcmFwaGljc1NjZW5lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZS5oCkBAIC0z
Miw2ICszMiw3IEBACiAjaW5jbHVkZSAiUnVuTG9vcC5oIgogI2luY2x1ZGUgIlRleHR1cmVNYXBw
ZXIuaCIKICNpbmNsdWRlICJUZXh0dXJlTWFwcGVyQmFja2luZ1N0b3JlLmgiCisjaW5jbHVkZSAi
VGV4dHVyZU1hcHBlckZQU0NvdW50ZXIuaCIKICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUg
PHd0Zi9GdW5jdGlvbmFsLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KQEAgLTE3Myw4ICsx
NzQsNiBAQCBwcml2YXRlOgogICAgIHZvaWQgcmVtb3ZlQmFja2luZ1N0b3JlSWZOZWVkZWQoR3Jh
cGhpY3NMYXllciopOwogICAgIHZvaWQgcmVzZXRCYWNraW5nU3RvcmVTaXplVG9MYXllclNpemUo
R3JhcGhpY3NMYXllciopOwogCi0gICAgdm9pZCB1cGRhdGVGUFMoY29uc3QgRmxvYXRQb2ludCYs
IGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiA9IFRyYW5zZm9ybWF0aW9uTWF0cml4KCkpOwot
CiAgICAgRmxvYXRTaXplIG1fY29udGVudHNTaXplOwogICAgIEZsb2F0UmVjdCBtX3Zpc2libGVD
b250ZW50c1JlY3Q7CiAKQEAgLTIyNSwxMSArMjI0LDcgQEAgcHJpdmF0ZToKICAgICBDdXN0b21G
aWx0ZXJQcm9ncmFtTWFwIG1fY3VzdG9tRmlsdGVyUHJvZ3JhbXM7CiAjZW5kaWYKIAotICAgIGJv
b2wgbV9pc1Nob3dpbmdGUFM7Ci0gICAgZG91YmxlIG1fZnBzSW50ZXJ2YWw7Ci0gICAgZG91Ymxl
IG1fZnBzVGltZXN0YW1wOwotICAgIGludCBtX2xhc3RGUFM7Ci0gICAgaW50IG1fZnJhbWVDb3Vu
dDsKKyAgICBUZXh0dXJlTWFwcGVyRlBTQ291bnRlciBtX2Zwc0NvdW50ZXI7CiB9OwogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3Jl
U3VwcG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dEVmbC5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dEVmbC5j
cHAKaW5kZXggOGEzYTI0OWJlMjAwYmVmMzU5MmZjYThjNGJkMDBiNDUzYWMzYmRiMy4uYjQ1ZTli
MzU4OTAyYjZhNWI4MGEyMzAzNTJhYzM1NmI5YWMxN2JkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHRFZmwu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0FjY2VsZXJhdGVkQ29t
cG9zaXRpbmdDb250ZXh0RWZsLmNwcApAQCAtODksNiArODksNyBAQCB2b2lkIEFjY2VsZXJhdGVk
Q29tcG9zaXRpbmdDb250ZXh0OjpyZW5kZXJMYXllcnMoKQogCiAgICAgbV90ZXh0dXJlTWFwcGVy
LT5iZWdpblBhaW50aW5nKCk7CiAgICAgbV9yb290VGV4dHVyZU1hcHBlckxheWVyLT5wYWludCgp
OworICAgIG1fZnBzQ291bnRlci51cGRhdGUobV90ZXh0dXJlTWFwcGVyLmdldCgpKTsKICAgICBt
X3RleHR1cmVNYXBwZXItPmVuZFBhaW50aW5nKCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0RWZs
LmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0
aW5nQ29udGV4dEVmbC5oCmluZGV4IDUwYjg5YjljYWMzMzI3NjhkYzM0Mzk1YWNlNGI4NWM1YjQ0
ZTBiNTUuLmQyODY5YTQ4ZDY4NjM1ZDkxZTdhYWQwZTNkNzJmY2E1NWE1NjM2NDggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0FjY2VsZXJhdGVkQ29tcG9zaXRp
bmdDb250ZXh0RWZsLmgKKysrIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQWNj
ZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHRFZmwuaApAQCAtMjUsNiArMjUsNyBAQAogCiAjaWYg
VVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKSAmJiBVU0UoVEVYVFVSRV9NQVBQRVJfR0wpCiAK
KyNpbmNsdWRlICJUZXh0dXJlTWFwcGVyRlBTQ291bnRlci5oIgogI2luY2x1ZGUgImV3a19wcml2
YXRlLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTU2LDYgKzU3LDcgQEAgcHJpdmF0ZToK
ICAgICBUZXh0dXJlTWFwcGVyTGF5ZXIqIG1fcm9vdFRleHR1cmVNYXBwZXJMYXllcjsKIAogICAg
IFJlZlB0cjxHcmFwaGljc0NvbnRleHQzRD4gbV9jb250ZXh0M0Q7CisgICAgVGV4dHVyZU1hcHBl
ckZQU0NvdW50ZXIgbV9mcHNDb3VudGVyOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0ZWRD
b21wb3NpdGluZ0NvbnRleHQuaCBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Fj
Y2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0LmgKaW5kZXggYjBmOTc0MzRkYjg4NDYxNjhlYjQ2
NzQzMDA5MDFmYzIyNTQwMjJhYS4uMmFiMDUyZTRhZjE5MDkxNWQ5OTM0ZDE4Y2FiMjRjNjBjMmU3
MmYxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQWNjZWxl
cmF0ZWRDb21wb3NpdGluZ0NvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3Jl
U3VwcG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dC5oCkBAIC0zNCw2ICszNCw3IEBA
CiAjaWYgVVNFKFRFWFRVUkVfTUFQUEVSX0dMKQogI2luY2x1ZGUgIkdMQ29udGV4dC5oIgogI2lu
Y2x1ZGUgIlJlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93LmgiCisjaW5jbHVkZSAiVGV4dHVyZU1h
cHBlckZQU0NvdW50ZXIuaCIKICNlbmRpZgogCiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lU
SU5HKQpAQCAtODgsNiArODksNyBAQCBwcml2YXRlOgogICAgIGRvdWJsZSBtX2xhc3RGbHVzaFRp
bWU7CiAgICAgZG91YmxlIG1fcmVkcmF3UGVuZGluZ1RpbWU7CiAgICAgYm9vbCBtX25lZWRzRXh0
cmFGbHVzaDsKKyAgICBXZWJDb3JlOjpUZXh0dXJlTWFwcGVyRlBTQ291bnRlciBtX2Zwc0NvdW50
ZXI7CiAKICAgICB2b2lkIGxheWVyRmx1c2hUaW1lckZpcmVkKCk7CiAgICAgdm9pZCBzdG9wQW55
UGVuZGluZ0xheWVyRmx1c2goKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNv
cmVTdXBwb3J0L0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0R0wuY3BwIGIvU291cmNlL1dl
YktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHRHTC5j
cHAKaW5kZXggYzIzZGU2MmExMGExYzE0MWU3NGEwZDMyMjAzZTQ1OTNiZGY4MjA3MS4uMTk2Yjgw
NWQ2ZjIyNGE1ZmIyM2MzM2JiYTk1MzQ3MmY1YTUwMjg3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHRHTC5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21w
b3NpdGluZ0NvbnRleHRHTC5jcHAKQEAgLTE4OSw2ICsxODksNyBAQCB2b2lkIEFjY2VsZXJhdGVk
Q29tcG9zaXRpbmdDb250ZXh0Ojpjb21wb3NpdGVMYXllcnNUb0NvbnRleHQoQ29tcG9zaXRlUHVy
cG9zZSBwdQogCiAgICAgbV90ZXh0dXJlTWFwcGVyLT5iZWdpblBhaW50aW5nKCk7CiAgICAgdG9U
ZXh0dXJlTWFwcGVyTGF5ZXIobV9yb290TGF5ZXIuZ2V0KCkpLT5wYWludCgpOworICAgIG1fZnBz
Q291bnRlci51cGRhdGUobV90ZXh0dXJlTWFwcGVyLmdldCgpKTsKICAgICBtX3RleHR1cmVNYXBw
ZXItPmVuZFBhaW50aW5nKCk7CiAKICAgICBjb250ZXh0LT5zd2FwQnVmZmVycygpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9UZXh0dXJlTWFwcGVyTGF5ZXJD
bGllbnRRdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1RleHR1cmVNYXBw
ZXJMYXllckNsaWVudFF0LmNwcAppbmRleCA2NmI4ZDBmOTZkNGE3MjY2ZTE2ZGJkY2FlMWE5YmY1
OGYzMTk4NzA4Li5hNmFjMzg2NjJhMmVlNDM5MTY1NmEwMDFkM2EzODFlNWJjNzBjMjc5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1RleHR1cmVNYXBwZXJMYXll
ckNsaWVudFF0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1RleHR1
cmVNYXBwZXJMYXllckNsaWVudFF0LmNwcApAQCAtMTIyLDYgKzEyMiw3IEBAIHZvaWQgVGV4dHVy
ZU1hcHBlckxheWVyQ2xpZW50UXQ6OnJlbmRlckNvbXBvc2l0ZWRMYXllcnMoR3JhcGhpY3NDb250
ZXh0KiBjb250ZXh0CiAgICAgbV90ZXh0dXJlTWFwcGVyLT5iZWdpblBhaW50aW5nKCk7CiAgICAg
bV90ZXh0dXJlTWFwcGVyLT5iZWdpbkNsaXAobWF0cml4LCBjbGlwKTsKICAgICBtX3Jvb3RUZXh0
dXJlTWFwcGVyTGF5ZXItPnBhaW50KCk7CisgICAgbV9mcHNDb3VudGVyLnVwZGF0ZShtX3RleHR1
cmVNYXBwZXIuZ2V0KCksIGNsaXAubG9jYXRpb24oKSwgbWF0cml4KTsKICAgICBtX3RleHR1cmVN
YXBwZXItPmVuZENsaXAoKTsKICAgICBtX3RleHR1cmVNYXBwZXItPmVuZFBhaW50aW5nKCk7CiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1RleHR1cmVNYXBw
ZXJMYXllckNsaWVudFF0LmggYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1RleHR1
cmVNYXBwZXJMYXllckNsaWVudFF0LmgKaW5kZXggNjczMjhjYzk5Y2NlZGU2YmNkM2MzOWQwYTlh
NTdkYWFjNzBhODM3NS4uMmZmYjVmMGFhNDZiNzg2NjFhODc3MWM1OTU1ZTk2MTI5YThkNWU0NCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9UZXh0dXJlTWFwcGVy
TGF5ZXJDbGllbnRRdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvVGV4
dHVyZU1hcHBlckxheWVyQ2xpZW50UXQuaApAQCAtMjUsNiArMjUsNyBAQCBjbGFzcyBRV2ViRnJh
bWVBZGFwdGVyOwogCiAjaW5jbHVkZSAiR3JhcGhpY3NMYXllci5oIgogI2luY2x1ZGUgIlRleHR1
cmVNYXBwZXIuaCIKKyNpbmNsdWRlICJUZXh0dXJlTWFwcGVyRlBTQ291bnRlci5oIgogI2luY2x1
ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogCkBAIC01Myw2ICs1NCw3IEBA
IHByaXZhdGU6CiAgICAgVGltZXI8VGV4dHVyZU1hcHBlckxheWVyQ2xpZW50UXQ+IG1fc3luY1Rp
bWVyOwogICAgIFdlYkNvcmU6OlRleHR1cmVNYXBwZXJMYXllciogbV9yb290VGV4dHVyZU1hcHBl
ckxheWVyOwogICAgIE93blB0cjxXZWJDb3JlOjpUZXh0dXJlTWFwcGVyPiBtX3RleHR1cmVNYXBw
ZXI7CisgICAgV2ViQ29yZTo6VGV4dHVyZU1hcHBlckZQU0NvdW50ZXIgbV9mcHNDb3VudGVyOwog
fTsKICNlbmRpZgogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>187788</attachid>
            <date>2013-02-12 00:11:57 -0800</date>
            <delta_ts>2013-02-12 00:24:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-109540-20130212170748.patch</filename>
            <type>text/plain</type>
            <size>29723</size>
            <attacher name="Dongseong Hwang">dongseong.hwang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyNTY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzZmMWJmNGJlOGZmZGU2
ZmNmNTY0YWQyNDAxYjdmYWVhNzU2ODAyZS4uNjNjMzU1MTNiZTdmNzU2OTRiNWMyZjdhZTFiOTk1
ZmNlM2VjOTE2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDEzLTAyLTEyICBIdWFu
ZyBEb25nc3VuZyAgPGx1eHRlbGxhQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIFtUZXhNYXBd
IEFwcGx5IGZyYW1lcy1wZXItc2Vjb25kIGRlYnVnIGNvdW50ZXIgdG8gV0sxLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA5NTQwCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgcjE0MjUyNCBpbXBsZW1lbnRl
ZCBmcmFtZXMtcGVyLXNlY29uZCBkZWJ1ZyBjb3VudGVyIG9uIFdLMi4gVGhpcyBwYXRjaAorICAg
ICAgICBhcHBsaWVzIGZyYW1lcy1wZXItc2Vjb25kIGRlYnVnIGNvdW50ZXIgdG8gV0sxIGFsc28u
CisKKyAgICAgICAgVmlzdWFsIGRlYnVnZ2luZyBmZWF0dXJlLCBubyBuZWVkIGZvciBuZXcgdGVz
dHMuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5s
aXN0LmFtOgorICAgICAgICAqIFRhcmdldC5wcmk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvdGV4bWFwL1RleHR1cmVNYXBwZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90
ZXhtYXAvVGV4dHVyZU1hcHBlckZQU0NvdW50ZXIuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNv
cmUpOgorICAgICAgICAoV2ViQ29yZTo6VGV4dHVyZU1hcHBlckZQU0NvdW50ZXI6OlRleHR1cmVN
YXBwZXJGUFNDb3VudGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHR1cmVNYXBwZXJGUFNDb3Vu
dGVyOjppbmNyZW1lbnRGcmFtZUNvdW50QW5kRGlzcGxheSk6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJGUFNDb3VudGVyLmg6IEFkZGVkLgorICAgICAg
ICAoV2ViQ29yZSk6CisgICAgICAgIChUZXh0dXJlTWFwcGVyRlBTQ291bnRlcik6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJHTC5jcHA6CisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHR1cmVNYXBwZXJHTDo6ZHJhd051bWJl
cik6CisgICAgICAgICAgUmVuYW1lIGZyb20gZHJhd1JlcGFpbnRDb3VudGVyIHRvIGRyYXdOdW1i
ZXIuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJHTC5o
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVySW1hZ2VC
dWZmZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4dHVyZU1hcHBlckltYWdlQnVmZmVyOjpk
cmF3TnVtYmVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1h
cHBlckltYWdlQnVmZmVyLmg6CisgICAgICAgIChUZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXIpOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyVGlsZWRCYWNr
aW5nU3RvcmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4dHVyZU1hcHBlclRpbGVkQmFja2lu
Z1N0b3JlOjpkcmF3UmVwYWludENvdW50ZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEJhY2tpbmdTdG9yZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDb29yZGluYXRlZEJhY2tpbmdTdG9yZTo6ZHJhd1JlcGFpbnRDb3VudGVyKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0
ZWRHcmFwaGljc1NjZW5lLmNwcDoKKyAgICAgICAgICBNb3ZlIGZyYW1lcy1wZXItc2Vjb25kIGRl
YnVnIGNvdW50ZXIgY29kZSB0byBUZXh0dXJlTWFwcGVyRlBTQ291bnRlci4KKyAgICAgICAgKFdl
YkNvcmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6Q29vcmRpbmF0ZWRHcmFwaGljc1NjZW5l
KToKKyAgICAgICAgKFdlYkNvcmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6cGFpbnRUb0N1
cnJlbnRHTENvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6Q29vcmRpbmF0ZWRHcmFwaGljc1Nj
ZW5lOjpwYWludFRvR3JhcGhpY3NDb250ZXh0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmg6CisKIDIwMTMt
MDItMTEgIEh1YW5nIERvbmdzdW5nICA8bHV4dGVsbGFAY29tcGFueTEwMC5uZXQ+CiAKICAgICAg
ICAgQ29vcmRpbmF0ZWQgR3JhcGhpY3M6IHJlbW92ZSB0aGUgRGlkQ2hhbmdlU2Nyb2xsUG9zaXRp
b24gbWVzc2FnZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwppbmRleCA2YjdkYzAyNzIyZWE2YjA4MDdmMjU5NDNm
NjJlMTFjODJiMGRmMjFkLi5kNDMzNTNlODFkZjUxOTI0ZGZjYWRjNTVmZDViNzE5MDA1MzIxNmY4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC9lZmwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTMtMDItMTIgIEh1YW5nIERv
bmdzdW5nICA8bHV4dGVsbGFAY29tcGFueTEwMC5uZXQ+CisKKyAgICAgICAgW1RleE1hcF0gQXBw
bHkgZnJhbWVzLXBlci1zZWNvbmQgZGVidWcgY291bnRlciB0byBXSzEuCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDk1NDAKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYWtlIEFjY2VsZXJhdGVkQ29tcG9z
aXRpbmdDb250ZXh0RWZsIHVzZSBUZXh0dXJlTWFwcGVyRlBTQ291bnRlci4KKworICAgICAgICAq
IFdlYkNvcmVTdXBwb3J0L0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0RWZsLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkFjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0OjpyZW5kZXJMYXll
cnMpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250
ZXh0RWZsLmg6CisgICAgICAgIChBY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dCk6CisKIDIw
MTMtMDItMDggIEJlbmphbWluIFBvdWxhaW4gIDxicG91bGFpbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgTW92ZSB3b3JrZXJUaHJlYWRDb3VudCBmcm9tIFRlc3RSdW5uZXIgdG8gV2ViQ29yZSBJbnRl
cm5hbHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQvZ3RrL0NoYW5nZUxvZwppbmRleCBhYzc1Y2E2MzQ4MWJjOGJhNTlmZDlkNzk3Y2NhOTEz
MWNmYzM3MTk4Li5lYTIxYTE3ZmMwOGI5ODkxYmQ2YjIxOTk2MjBmOGZlNmU3MTE4YmU1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9n
dGsvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTMtMDItMTIgIEh1YW5nIERvbmdzdW5n
ICA8bHV4dGVsbGFAY29tcGFueTEwMC5uZXQ+CisKKyAgICAgICAgW1RleE1hcF0gQXBwbHkgZnJh
bWVzLXBlci1zZWNvbmQgZGVidWcgY291bnRlciB0byBXSzEuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDk1NDAKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYWtlIEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdD
b250ZXh0IHVzZSBUZXh0dXJlTWFwcGVyRlBTQ291bnRlci4KKworICAgICAgICAqIFdlYkNvcmVT
dXBwb3J0L0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0Lmg6CisgICAgICAgICogV2ViQ29y
ZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHRHTC5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OkFjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0Ojpjb21wb3NpdGVMYXllcnNUb0Nv
bnRleHQpOgorCiAyMDEzLTAyLTExICBCZW5qYW1pbiBQb3VsYWluICA8YmVuamFtaW5Ad2Via2l0
Lm9yZz4KIAogICAgICAgICBLaWxsIFRlc3RSdW5uZXI6OnNldE1pbmltdW1UaW1lckludGVydmFs
OyBpbXBsZW1lbnQgdGhlIGZlYXR1cmUgd2l0aCBJbnRlcm5hbFNldHRpbmdzCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9n
CmluZGV4IGVkYzI3ODM1Y2I0NjlkZTYzYjc5YWYzZjI5ZTY0YWYzZTVkNmExYzYuLjlkMzU4MDU0
YmQ5YzU5MzI0YjBmY2U2OWU1Zjg5ZTYyZTFkNzU1MzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvcXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTcgQEAKKzIwMTMtMDItMTIgIEh1YW5nIERvbmdzdW5nICA8bHV4dGVsbGFAY29tcGFueTEw
MC5uZXQ+CisKKyAgICAgICAgW1RleE1hcF0gQXBwbHkgZnJhbWVzLXBlci1zZWNvbmQgZGVidWcg
Y291bnRlciB0byBXSzEuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMDk1NDAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBNYWtlIFRleHR1cmVNYXBwZXJMYXllckNsaWVudFF0IHVzZSBUZXh0dXJlTWFwcGVy
RlBTQ291bnRlci4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1RleHR1cmVNYXBwZXJMYXll
ckNsaWVudFF0LmNwcDoKKyAgICAgICAgKFRleHR1cmVNYXBwZXJMYXllckNsaWVudFF0OjpyZW5k
ZXJDb21wb3NpdGVkTGF5ZXJzKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9UZXh0dXJlTWFw
cGVyTGF5ZXJDbGllbnRRdC5oOgorICAgICAgICAoVGV4dHVyZU1hcHBlckxheWVyQ2xpZW50UXQp
OgorCiAyMDEzLTAyLTExICBCZW5qYW1pbiBQb3VsYWluICA8YmVuamFtaW5Ad2Via2l0Lm9yZz4K
IAogICAgICAgICBLaWxsIFRlc3RSdW5uZXI6OnNldE1pbmltdW1UaW1lckludGVydmFsOyBpbXBs
ZW1lbnQgdGhlIGZlYXR1cmUgd2l0aCBJbnRlcm5hbFNldHRpbmdzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0
CmluZGV4IGQzMzFhZWI4MGNkN2NmMjY3NTQ2MmU2NDc4ZTMzMzg0MTQ0YjFmZmEuLmFlYTM1N2Jj
MTU3MWE1ODU5M2NjYzRkYjgwNzdlMDI5MDIzMjMyNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBA
IC0yMDAwLDYgKzIwMDAsNyBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgcGxhdGZvcm0vZ3Jh
cGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL1VwZGF0ZUF0bGFzLmNwcAogICAgIHBsYXRmb3JtL2dy
YXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyLmNwcAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL3Rl
eG1hcC9UZXh0dXJlTWFwcGVyQmFja2luZ1N0b3JlLmNwcAorICAgIHBsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9UZXh0dXJlTWFwcGVyRlBTQ291bnRlci5jcHAKICAgICBwbGF0Zm9ybS9ncmFwaGlj
cy90ZXhtYXAvVGV4dHVyZU1hcHBlckltYWdlQnVmZmVyLmNwcAogICAgIHBsYXRmb3JtL2dyYXBo
aWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyTGF5ZXIuY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3Mv
dGV4bWFwL1RleHR1cmVNYXBwZXJTdXJmYWNlQmFja2luZ1N0b3JlLmNwcApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1h
a2VmaWxlLmxpc3QuYW0KaW5kZXggMmI5YjFiZTNkNGI3NDdhNThmNmNiMDMyMzJkYWFiNWM0OGE3
NmUwZS4uMDIxMDYyYjA4NTQ5YTRhZmE1YjdhMzliNDg1YzE0Y2Y1ODMwY2M5MiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC02NDgyLDYgKzY0ODIsOCBAQCB3ZWJjb3JlX3NvdXJj
ZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJl
TWFwcGVyQmFja2luZ1N0b3JlLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9UZXh0dXJlTWFwcGVyLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXIuaCBcCisJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJGUFNDb3VudGVyLmNwcCBcCisJU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJGUFNDb3VudGVyLmgg
XAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVy
SW1hZ2VCdWZmZXIuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXht
YXAvVGV4dHVyZU1hcHBlckltYWdlQnVmZmVyLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyTGF5ZXIuY3BwIFwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1RhcmdldC5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCmluZGV4
IDlhYWUxNmM3MDdlMmUxYmIxZTJjMDFkYjdmZjA0OTJjMWVhNjkwYmEuLjQzMmJlNTk1ZDRhNmRl
NDE3MTFjOGRmNDJjNmFiYjg2MWRiYjE0NjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1Rh
cmdldC5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQpAQCAtMjI3MCw2ICsyMjcw
LDcgQEAgSEVBREVSUyArPSBcCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0dyYXBoaWNz
TGF5ZXJUZXh0dXJlTWFwcGVyLmggXAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0
dXJlTWFwcGVyLmggXAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVy
QmFja2luZ1N0b3JlLmggXAorICAgIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFw
cGVyRlBTQ291bnRlci5oIFwKICAgICBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1h
cHBlckltYWdlQnVmZmVyLmggXAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJl
TWFwcGVyTGF5ZXIuaCBcCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBw
ZXJQbGF0Zm9ybUxheWVyLmggXApAQCAtMjkwNiw2ICsyOTA3LDcgQEAgU09VUkNFUyArPSBcCiAg
ICAgcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0dyYXBoaWNzTGF5ZXJUZXh0dXJlTWFwcGVyLmNw
cCBcCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXIuY3BwIFwKICAg
ICBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckJhY2tpbmdTdG9yZS5jcHAg
XAorICAgIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyRlBTQ291bnRlci5j
cHAgXAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVySW1hZ2VCdWZm
ZXIuY3BwIFwKICAgICBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckxheWVy
LmNwcCBcCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJTdXJmYWNl
QmFja2luZ1N0b3JlLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXIuaAppbmRleCBkOTYxMTZiNzA5OTM2OGFkNDQ1
NTk5NmMxYjczMjAxNjI3MGRlZWMyLi5hZGVhZjNlNzE4ZTEzMjUwMzgyOWM5MDRmYzBhMmQyNzUy
YzQ2MTg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXht
YXAvVGV4dHVyZU1hcHBlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9UZXh0dXJlTWFwcGVyLmgKQEAgLTEzMCw3ICsxMzAsNyBAQCBwdWJsaWM6CiAgICAg
fTsKIAogICAgIHZpcnR1YWwgdm9pZCBkcmF3Qm9yZGVyKGNvbnN0IENvbG9yJiwgZmxvYXQgYm9y
ZGVyV2lkdGgsIGNvbnN0IEZsb2F0UmVjdCYsIGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4Jikg
PSAwOwotICAgIHZpcnR1YWwgdm9pZCBkcmF3UmVwYWludENvdW50ZXIoaW50IHJlcGFpbnRDb3Vu
dCwgY29uc3QgQ29sb3ImLCBjb25zdCBGbG9hdFBvaW50JiwgY29uc3QgVHJhbnNmb3JtYXRpb25N
YXRyaXgmKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGRyYXdOdW1iZXIoaW50IG51bWJlciwgY29u
c3QgQ29sb3ImLCBjb25zdCBGbG9hdFBvaW50JiwgY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgm
KSA9IDA7CiAKICAgICB2aXJ0dWFsIHZvaWQgZHJhd1RleHR1cmUoY29uc3QgQml0bWFwVGV4dHVy
ZSYsIGNvbnN0IEZsb2F0UmVjdCYgdGFyZ2V0LCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYg
bW9kZWxWaWV3TWF0cml4ID0gVHJhbnNmb3JtYXRpb25NYXRyaXgoKSwgZmxvYXQgb3BhY2l0eSA9
IDEuMGYsIGNvbnN0IEJpdG1hcFRleHR1cmUqIG1hc2tUZXh0dXJlID0gMCwgdW5zaWduZWQgZXhw
b3NlZEVkZ2VzID0gQWxsRWRnZXMpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZHJhd1NvbGlkQ29s
b3IoY29uc3QgRmxvYXRSZWN0JiwgY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmLCBjb25zdCBD
b2xvciYpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9UZXh0dXJlTWFwcGVyRlBTQ291bnRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckZQU0NvdW50ZXIuY3BwCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjFjMjFjMDBlOWUxY2Y0ZjFmYzg4MWJmNzM4YzRiN2E0Mzg1MmU2MTkKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1h
cHBlckZQU0NvdW50ZXIuY3BwCkBAIC0wLDAgKzEsNjYgQEAKKy8qCisgICAgQ29weXJpZ2h0IChD
KSAyMDEyIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQorICAg
IENvcHlyaWdodCAoQykgMjAxMiwgMjAxMyBDb21wYW55IDEwMCwgSW5jLgorCisgICAgVGhpcyBs
aWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgor
ICAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljCisgICAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbjsgZWl0aGVyCisgICAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91
ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorCisgICAgVGhpcyBsaWJyYXJ5IGlzIGRpc3Ry
aWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgICAgYnV0IFdJVEhP
VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAg
ICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBT
ZWUgdGhlIEdOVQorICAgIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBk
ZXRhaWxzLgorCisgICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICAgIGFsb25nIHdpdGggdGhpcyBsaWJy
YXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgICAgdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0
aCBGbG9vciwKKyAgICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKworI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKKworI2luY2x1
ZGUgIlRleHR1cmVNYXBwZXJGUFNDb3VudGVyLmgiCisKKyNpbmNsdWRlICJUZXh0dXJlTWFwcGVy
LmgiCisjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworVGV4dHVyZU1hcHBlckZQU0NvdW50ZXI6OlRleHR1cmVNYXBwZXJGUFNDb3VudGVyKCkKKyAg
ICA6IG1faXNTaG93aW5nRlBTKGZhbHNlKQorICAgICwgbV9mcHNJbnRlcnZhbCgwKQorICAgICwg
bV9mcHNUaW1lc3RhbXAoMCkKKyAgICAsIG1fbGFzdEZQUygwKQorICAgICwgbV9mcmFtZUNvdW50
KDApCit7CisgICAgU3RyaW5nIHNob3dGUFNFbnZpcm9ubWVudCA9IGdldGVudigiV0VCS0lUX1NI
T1dfRlBTIik7CisgICAgYm9vbCBvayA9IGZhbHNlOworICAgIG1fZnBzSW50ZXJ2YWwgPSBzaG93
RlBTRW52aXJvbm1lbnQudG9Eb3VibGUoJm9rKTsKKyAgICBpZiAob2sgJiYgbV9mcHNJbnRlcnZh
bCkgeworICAgICAgICBtX2lzU2hvd2luZ0ZQUyA9IHRydWU7CisgICAgICAgIG1fZnBzVGltZXN0
YW1wID0gV1RGOjpjdXJyZW50VGltZSgpOworICAgIH0KK30KKwordm9pZCBUZXh0dXJlTWFwcGVy
RlBTQ291bnRlcjo6aW5jcmVtZW50RnJhbWVDb3VudEFuZERpc3BsYXkoVGV4dHVyZU1hcHBlciog
dGV4dHVyZU1hcHBlciwgY29uc3QgRmxvYXRQb2ludCYgbG9jYXRpb24sIGNvbnN0IFRyYW5zZm9y
bWF0aW9uTWF0cml4JiBtYXRyaXgpCit7CisgICAgaWYgKCFtX2lzU2hvd2luZ0ZQUykKKyAgICAg
ICAgcmV0dXJuOworCisgICAgbV9mcmFtZUNvdW50Kys7CisgICAgZG91YmxlIGRlbHRhID0gV1RG
OjpjdXJyZW50VGltZSgpIC0gbV9mcHNUaW1lc3RhbXA7CisgICAgaWYgKGRlbHRhID49IG1fZnBz
SW50ZXJ2YWwpIHsKKyAgICAgICAgbV9sYXN0RlBTID0gaW50KG1fZnJhbWVDb3VudCAvIGRlbHRh
KTsKKyAgICAgICAgbV9mcmFtZUNvdW50ID0gMDsKKyAgICAgICAgbV9mcHNUaW1lc3RhbXAgKz0g
ZGVsdGE7CisgICAgfQorCisgICAgdGV4dHVyZU1hcHBlci0+ZHJhd051bWJlcihtX2xhc3RGUFMs
IENvbG9yOjpibGFjaywgbG9jYXRpb24sIG1hdHJpeCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKKworI2VuZGlmIC8vIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVy
RlBTQ291bnRlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1Rl
eHR1cmVNYXBwZXJGUFNDb3VudGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDExOWRkMDEzMGQ3ZmZjYzdkNWIy
YzIwYjFiNjhlYmNhMjUwMGU3ZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyRlBTQ291bnRlci5oCkBAIC0wLDAg
KzEsNTMgQEAKKy8qCisgICAgQ29weXJpZ2h0IChDKSAyMDEyIE5va2lhIENvcnBvcmF0aW9uIGFu
ZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQorICAgIENvcHlyaWdodCAoQykgMjAxMiwgMjAxMyBD
b21wYW55IDEwMCwgSW5jLgorCisgICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlv
dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVy
bXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgICAgTGljZW5zZSBhcyBwdWJs
aXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgICAgdmVyc2lv
biAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9u
LgorCisgICAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQg
d2lsbCBiZSB1c2VmdWwsCisgICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2
ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICAgIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCisgICAgWW91IHNob3VsZCBo
YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZQorICAgIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5M
SUIuICBJZiBub3QsIHdyaXRlIHRvCisgICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg
SW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAgICBCb3N0b24sIE1BIDAy
MTEwLTEzMDEsIFVTQS4KKyovCisKKyNpZm5kZWYgVGV4dHVyZU1hcHBlckZQU0NvdW50ZXJfaAor
I2RlZmluZSBUZXh0dXJlTWFwcGVyRlBTQ291bnRlcl9oCisKKyNpZiBVU0UoQUNDRUxFUkFURURf
Q09NUE9TSVRJTkcpCisjaW5jbHVkZSAiRmxvYXRQb2ludC5oIgorI2luY2x1ZGUgIlRyYW5zZm9y
bWF0aW9uTWF0cml4LmgiCisjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKK2NsYXNzIFRleHR1cmVNYXBwZXI7CisKK2NsYXNzIFRleHR1cmVNYXBwZXJG
UFNDb3VudGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUZXh0dXJlTWFwcGVyRlBTQ291
bnRlcik7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CisgICAgVGV4dHVy
ZU1hcHBlckZQU0NvdW50ZXIoKTsKKyAgICB2b2lkIGluY3JlbWVudEZyYW1lQ291bnRBbmREaXNw
bGF5KFRleHR1cmVNYXBwZXIqLCBjb25zdCBGbG9hdFBvaW50JiA9IEZsb2F0UG9pbnQ6Onplcm8o
KSwgY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmID0gVHJhbnNmb3JtYXRpb25NYXRyaXgoKSk7
CisKK3ByaXZhdGU6CisgICAgYm9vbCBtX2lzU2hvd2luZ0ZQUzsKKyAgICBkb3VibGUgbV9mcHNJ
bnRlcnZhbDsKKyAgICBkb3VibGUgbV9mcHNUaW1lc3RhbXA7CisgICAgaW50IG1fbGFzdEZQUzsK
KyAgICBpbnQgbV9mcmFtZUNvdW50OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisj
ZW5kaWYgLy8gVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQorCisjZW5kaWYgLy8gVGV4dHVy
ZU1hcHBlckZQU0NvdW50ZXJfaAorCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJHTC5jcHAKaW5kZXggYjJlMGUw
NTRmYjAwNTlhMDE4ODVkMTk4OGVmODUyOGE0ODM3N2ZkMS4uM2NkZGM5MzYzMTEwM2NlODc3N2E0
NTMxODlmZThhNzhiYmM4MTY4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJHTC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJHTC5jcHAKQEAgLTMyMSwxMSAr
MzIxLDEyIEBAIHZvaWQgVGV4dHVyZU1hcHBlckdMOjpkcmF3Qm9yZGVyKGNvbnN0IENvbG9yJiBj
b2xvciwgZmxvYXQgd2lkdGgsIGNvbnN0IEZsb2F0UmVjCiAgICAgZHJhdyh0YXJnZXRSZWN0LCBt
b2RlbFZpZXdNYXRyaXgsIHByb2dyYW0uZ2V0KCksIEdyYXBoaWNzQ29udGV4dDNEOjpMSU5FX0xP
T1AsIGNvbG9yLmhhc0FscGhhKCkgPyBTaG91bGRCbGVuZCA6IDApOwogfQogCi12b2lkIFRleHR1
cmVNYXBwZXJHTDo6ZHJhd1JlcGFpbnRDb3VudGVyKGludCByZXBhaW50Q291bnQsIGNvbnN0IENv
bG9yJiBjb2xvciwgY29uc3QgRmxvYXRQb2ludCYgdGFyZ2V0UG9pbnQsIGNvbnN0IFRyYW5zZm9y
bWF0aW9uTWF0cml4JiBtb2RlbFZpZXdNYXRyaXgpCisvLyBGSVhNRTogZHJhd051bWJlcigpIHNo
b3VsZCBzYXZlIGEgbnVtYmVyIHRleHR1cmUtYXRsYXMgYW5kIHJlLXVzZSB3aGVuZXZlciBwb3Nz
aWJsZS4KK3ZvaWQgVGV4dHVyZU1hcHBlckdMOjpkcmF3TnVtYmVyKGludCBudW1iZXIsIGNvbnN0
IENvbG9yJiBjb2xvciwgY29uc3QgRmxvYXRQb2ludCYgdGFyZ2V0UG9pbnQsIGNvbnN0IFRyYW5z
Zm9ybWF0aW9uTWF0cml4JiBtb2RlbFZpZXdNYXRyaXgpCiB7CiAgICAgaW50IHBvaW50U2l6ZSA9
IDg7CiAjaWYgUExBVEZPUk0oUVQpCi0gICAgUVN0cmluZyBjb3VudGVyU3RyaW5nID0gUVN0cmlu
Zzo6bnVtYmVyKHJlcGFpbnRDb3VudCk7CisgICAgUVN0cmluZyBjb3VudGVyU3RyaW5nID0gUVN0
cmluZzo6bnVtYmVyKG51bWJlcik7CiAKICAgICBRRm9udCBmb250KFFTdHJpbmc6OmZyb21MYXRp
bjEoIk1vbm9zcGFjZSIpLCBwb2ludFNpemUsIFFGb250OjpCb2xkKTsKICAgICBmb250LnNldFN0
eWxlSGludChRRm9udDo6VHlwZVdyaXRlcik7CkBAIC0zNTEsNyArMzUyLDcgQEAgdm9pZCBUZXh0
dXJlTWFwcGVyR0w6OmRyYXdSZXBhaW50Q291bnRlcihpbnQgcmVwYWludENvdW50LCBjb25zdCBD
b2xvciYgY29sb3IsIGMKICAgICBkcmF3VGV4dHVyZSgqdGV4dHVyZSwgdGFyZ2V0UmVjdCwgbW9k
ZWxWaWV3TWF0cml4LCAxLjBmLCAwLCBBbGxFZGdlcyk7CiAKICNlbGlmIFVTRShDQUlSTykKLSAg
ICBDU3RyaW5nIGNvdW50ZXJTdHJpbmcgPSBTdHJpbmc6Om51bWJlcihyZXBhaW50Q291bnQpLmFz
Y2lpKCk7CisgICAgQ1N0cmluZyBjb3VudGVyU3RyaW5nID0gU3RyaW5nOjpudW1iZXIobnVtYmVy
KS5hc2NpaSgpOwogICAgIC8vIGNhaXJvX3RleHRfZXh0ZW50cygpIHJlcXVpcmVzIGEgY2Fpcm9f
dCwgc28gZGltZW5zaW9ucyBuZWVkIHRvIGJlIGd1ZXNzdGltYXRlZC4KICAgICBpbnQgd2lkdGgg
PSBjb3VudGVyU3RyaW5nLmxlbmd0aCgpICogcG9pbnRTaXplICogMS4yOwogICAgIGludCBoZWln
aHQgPSBwb2ludFNpemUgKiAxLjU7CkBAIC0zODUsNyArMzg2LDcgQEAgdm9pZCBUZXh0dXJlTWFw
cGVyR0w6OmRyYXdSZXBhaW50Q291bnRlcihpbnQgcmVwYWludENvdW50LCBjb25zdCBDb2xvciYg
Y29sb3IsIGMKICAgICBjYWlyb19kZXN0cm95KGNyKTsKIAogI2Vsc2UKLSAgICBVTlVTRURfUEFS
QU0ocmVwYWludENvdW50KTsKKyAgICBVTlVTRURfUEFSQU0obnVtYmVyKTsKICAgICBVTlVTRURf
UEFSQU0ocG9pbnRTaXplKTsKICAgICBVTlVTRURfUEFSQU0odGFyZ2V0UG9pbnQpOwogICAgIFVO
VVNFRF9QQVJBTShtb2RlbFZpZXdNYXRyaXgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJHTC5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJHTC5oCmluZGV4IDk4M2Uy
YTA2YzNjNDNkNjNhYTllYmExYWY2YzFhMWQ4ZGY1OTNkZGQuLjNlODBhMTc4MmVjMTQ4OTFmZDdi
Y2NjMmU5OTA5M2I5NmRkZGUzMTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmgKQEAgLTUzLDcgKzUzLDcg
QEAgcHVibGljOgogCiAgICAgLy8gVGV4dHVyZU1hcHBlciBpbXBsZW1lbnRhdGlvbgogICAgIHZp
cnR1YWwgdm9pZCBkcmF3Qm9yZGVyKGNvbnN0IENvbG9yJiwgZmxvYXQgYm9yZGVyV2lkdGgsIGNv
bnN0IEZsb2F0UmVjdCYsIGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JikgT1ZFUlJJREU7Ci0g
ICAgdmlydHVhbCB2b2lkIGRyYXdSZXBhaW50Q291bnRlcihpbnQgcmVwYWludENvdW50LCBjb25z
dCBDb2xvciYsIGNvbnN0IEZsb2F0UG9pbnQmLCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYp
IE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBkcmF3TnVtYmVyKGludCBudW1iZXIsIGNvbnN0
IENvbG9yJiwgY29uc3QgRmxvYXRQb2ludCYsIGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4Jikg
T1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGRyYXdUZXh0dXJlKGNvbnN0IEJpdG1hcFRleHR1
cmUmLCBjb25zdCBGbG9hdFJlY3QmLCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYsIGZsb2F0
IG9wYWNpdHksIGNvbnN0IEJpdG1hcFRleHR1cmUqIG1hc2tUZXh0dXJlLCB1bnNpZ25lZCBleHBv
c2VkRWRnZXMpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBkcmF3VGV4dHVyZShQbGF0Zm9y
bTNET2JqZWN0IHRleHR1cmUsIEZsYWdzLCBjb25zdCBJbnRTaXplJiB0ZXh0dXJlU2l6ZSwgY29u
c3QgRmxvYXRSZWN0JiB0YXJnZXRSZWN0LCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgbW9k
ZWxWaWV3TWF0cml4LCBmbG9hdCBvcGFjaXR5LCBjb25zdCBCaXRtYXBUZXh0dXJlKiBtYXNrVGV4
dHVyZSwgdW5zaWduZWQgZXhwb3NlZEVkZ2VzID0gQWxsRWRnZXMpOwogICAgIHZpcnR1YWwgdm9p
ZCBkcmF3U29saWRDb2xvcihjb25zdCBGbG9hdFJlY3QmLCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1h
dHJpeCYsIGNvbnN0IENvbG9yJikgT1ZFUlJJREU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckltYWdlQnVmZmVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVySW1h
Z2VCdWZmZXIuY3BwCmluZGV4IGI0ZTEyMmQyY2Q4ZGEwOTcwNWY3OWM0YmVjZGNjNjNmMGFhODMy
MmEuLjFlNDlmOWI2ZWNhODhkNmE3Y2ZkOTMxOTEyMjJjMDQ4MTEwMzlkNzUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVySW1h
Z2VCdWZmZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1h
cC9UZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXIuY3BwCkBAIC0xNzAsNyArMTcwLDcgQEAgdm9pZCBU
ZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXI6OmRyYXdCb3JkZXIoY29uc3QgQ29sb3ImLCBmbG9hdCAv
KiBib3JkZXJXaWR0aCAqLywKICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQogCi12b2lkIFRleHR1
cmVNYXBwZXJJbWFnZUJ1ZmZlcjo6ZHJhd1JlcGFpbnRDb3VudGVyKGludCAvKiByZXBhaW50Q291
bnQgKi8sIGNvbnN0IENvbG9yJiwgY29uc3QgRmxvYXRQb2ludCYsIGNvbnN0IFRyYW5zZm9ybWF0
aW9uTWF0cml4JikKK3ZvaWQgVGV4dHVyZU1hcHBlckltYWdlQnVmZmVyOjpkcmF3TnVtYmVyKGlu
dCAvKiBudW1iZXIgKi8sIGNvbnN0IENvbG9yJiwgY29uc3QgRmxvYXRQb2ludCYsIGNvbnN0IFRy
YW5zZm9ybWF0aW9uTWF0cml4JikKIHsKICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBw
ZXJJbWFnZUJ1ZmZlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFw
L1RleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlci5oCmluZGV4IDViMmU5NzgzZDY5YzA1ODYzOTI3MmEy
YjYzMWM3NmFlMTA1NzNkM2MuLjgwZTY5NDQwNTkwNTQ3NjA3ZTcwMzI2MWU3OTMxNTVkZGUzYzIw
ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9U
ZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckltYWdlQnVmZmVyLmgKQEAgLTU0LDcgKzU0LDcg
QEAgcHVibGljOgogCiAgICAgLy8gVGV4dHVyZU1hcHBlciBpbXBsZW1lbnRhdGlvbgogICAgIHZp
cnR1YWwgdm9pZCBkcmF3Qm9yZGVyKGNvbnN0IENvbG9yJiwgZmxvYXQgYm9yZGVyV2lkdGgsIGNv
bnN0IEZsb2F0UmVjdCYsIGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JikgT1ZFUlJJREU7Ci0g
ICAgdmlydHVhbCB2b2lkIGRyYXdSZXBhaW50Q291bnRlcihpbnQgcmVwYWludENvdW50LCBjb25z
dCBDb2xvciYsIGNvbnN0IEZsb2F0UG9pbnQmLCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYp
IE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBkcmF3TnVtYmVyKGludCBudW1iZXIsIGNvbnN0
IENvbG9yJiwgY29uc3QgRmxvYXRQb2ludCYsIGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4Jikg
T1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGRyYXdUZXh0dXJlKGNvbnN0IEJpdG1hcFRleHR1
cmUmLCBjb25zdCBGbG9hdFJlY3QmIHRhcmdldFJlY3QsIGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0
cml4JiwgZmxvYXQgb3BhY2l0eSwgY29uc3QgQml0bWFwVGV4dHVyZSogbWFza1RleHR1cmUsIHVu
c2lnbmVkIGV4cG9zZWRFZGdlcykgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGRyYXdTb2xp
ZENvbG9yKGNvbnN0IEZsb2F0UmVjdCYsIGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiwgY29u
c3QgQ29sb3ImKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgYmVnaW5DbGlwKGNvbnN0IFRy
YW5zZm9ybWF0aW9uTWF0cml4JiwgY29uc3QgRmxvYXRSZWN0JikgT1ZFUlJJREU7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBl
clRpbGVkQmFja2luZ1N0b3JlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9UZXh0dXJlTWFwcGVyVGlsZWRCYWNraW5nU3RvcmUuY3BwCmluZGV4IDM1MTZmMGY0
YTUxYjA2ZjkzNDQ0NzRlNTdiZmQ2MGM0OTRhYzdjMmUuLjgwOTc5MjIyNjdlOTkwYTgxMGYyMDJk
NDU3YTYyZmFmOWZiODhkMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyVGlsZWRCYWNraW5nU3RvcmUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyVGlsZWRC
YWNraW5nU3RvcmUuY3BwCkBAIC02Niw3ICs2Niw3IEBAIHZvaWQgVGV4dHVyZU1hcHBlclRpbGVk
QmFja2luZ1N0b3JlOjpkcmF3UmVwYWludENvdW50ZXIoVGV4dHVyZU1hcHBlciogdGV4dHVyZU1h
CiB7CiAgICAgVHJhbnNmb3JtYXRpb25NYXRyaXggYWRqdXN0ZWRUcmFuc2Zvcm0gPSB0cmFuc2Zv
cm0gKiBhZGp1c3RlZFRyYW5zZm9ybUZvclJlY3QodGFyZ2V0UmVjdCk7CiAgICAgZm9yIChzaXpl
X3QgaSA9IDA7IGkgPCBtX3RpbGVzLnNpemUoKTsgKytpKQotICAgICAgICB0ZXh0dXJlTWFwcGVy
LT5kcmF3UmVwYWludENvdW50ZXIocmVwYWludENvdW50LCBib3JkZXJDb2xvciwgbV90aWxlc1tp
XS5yZWN0KCkubG9jYXRpb24oKSwgYWRqdXN0ZWRUcmFuc2Zvcm0pOworICAgICAgICB0ZXh0dXJl
TWFwcGVyLT5kcmF3TnVtYmVyKHJlcGFpbnRDb3VudCwgYm9yZGVyQ29sb3IsIG1fdGlsZXNbaV0u
cmVjdCgpLmxvY2F0aW9uKCksIGFkanVzdGVkVHJhbnNmb3JtKTsKIH0KIAogdm9pZCBUZXh0dXJl
TWFwcGVyVGlsZWRCYWNraW5nU3RvcmU6OmNyZWF0ZU9yRGVzdHJveVRpbGVzSWZOZWVkZWQoY29u
c3QgRmxvYXRTaXplJiBzaXplLCBjb25zdCBJbnRTaXplJiB0aWxlU2l6ZSwgYm9vbCBoYXNBbHBo
YSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9j
b29yZGluYXRlZC9Db29yZGluYXRlZEJhY2tpbmdTdG9yZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRCYWNraW5nU3Rv
cmUuY3BwCmluZGV4IDk1ZGEyYjhmYjVmNGE4ZDlkMmM5ODc5ZTkzYWNiODVjMGYzYzliOGIuLjY4
MTI5YzczZDJiNjBhODY0MzIyYzQ1ZjQ3YjBlMDEwZDMxMmQ4MzggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRl
ZEJhY2tpbmdTdG9yZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
dGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkQmFja2luZ1N0b3JlLmNwcApAQCAtMTY5LDcg
KzE2OSw3IEBAIHZvaWQgQ29vcmRpbmF0ZWRCYWNraW5nU3RvcmU6OmRyYXdSZXBhaW50Q291bnRl
cihUZXh0dXJlTWFwcGVyKiB0ZXh0dXJlTWFwcGVyLCBpCiAgICAgVHJhbnNmb3JtYXRpb25NYXRy
aXggYWRqdXN0ZWRUcmFuc2Zvcm0gPSB0cmFuc2Zvcm0gKiBhZGp1c3RlZFRyYW5zZm9ybUZvclJl
Y3QodGFyZ2V0UmVjdCk7CiAgICAgQ29vcmRpbmF0ZWRCYWNraW5nU3RvcmVUaWxlTWFwOjppdGVy
YXRvciBlbmQgPSBtX3RpbGVzLmVuZCgpOwogICAgIGZvciAoQ29vcmRpbmF0ZWRCYWNraW5nU3Rv
cmVUaWxlTWFwOjppdGVyYXRvciBpdCA9IG1fdGlsZXMuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0
KQotICAgICAgICB0ZXh0dXJlTWFwcGVyLT5kcmF3UmVwYWludENvdW50ZXIocmVwYWludENvdW50
LCBib3JkZXJDb2xvciwgaXQtPnZhbHVlLnJlY3QoKS5sb2NhdGlvbigpLCBhZGp1c3RlZFRyYW5z
Zm9ybSk7CisgICAgICAgIHRleHR1cmVNYXBwZXItPmRyYXdOdW1iZXIocmVwYWludENvdW50LCBi
b3JkZXJDb2xvciwgaXQtPnZhbHVlLnJlY3QoKS5sb2NhdGlvbigpLCBhZGp1c3RlZFRyYW5zZm9y
bSk7CiB9CiAKIHZvaWQgQ29vcmRpbmF0ZWRCYWNraW5nU3RvcmU6OmNvbW1pdFRpbGVPcGVyYXRp
b25zKFRleHR1cmVNYXBwZXIqIHRleHR1cmVNYXBwZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFw
aGljc1NjZW5lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9j
b29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzU2NlbmUuY3BwCmluZGV4IGI2MDk3MzZiMmVj
MjAxNTBhNzM5OGUyMmQ4NzhhNDBjNGI0M2NjMzkuLjRhYTA5NDM3MmY2OWMyMWY1YzJmNmU3NTBk
ZWZjM2EyZDc2NmYyM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzU2NlbmUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29y
ZGluYXRlZEdyYXBoaWNzU2NlbmUuY3BwCkBAIC0zMiw3ICszMiw2IEBACiAjaW5jbHVkZSAiVGV4
dHVyZU1hcHBlckxheWVyLmgiCiAjaW5jbHVkZSA8T3BlbkdMU2hpbXMuaD4KICNpbmNsdWRlIDx3
dGYvQXRvbWljcy5oPgotI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgogI2luY2x1ZGUgPHd0
Zi9NYWluVGhyZWFkLmg+CiAKICNpZiBFTkFCTEUoQ1NTX1NIQURFUlMpCkBAIC03NywyMSArNzYs
OCBAQCBDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZShD
b29yZGluYXRlZEdyYXBoaWNzU2NlbmVDbGllbgogI2VuZGlmCiAgICAgLCBtX2JhY2tncm91bmRD
b2xvcihDb2xvcjo6d2hpdGUpCiAgICAgLCBtX3NldERyYXdzQmFja2dyb3VuZChmYWxzZSkKLSAg
ICAsIG1faXNTaG93aW5nRlBTKGZhbHNlKQotICAgICwgbV9mcHNJbnRlcnZhbCgwKQotICAgICwg
bV9mcHNUaW1lc3RhbXAoMCkKLSAgICAsIG1fbGFzdEZQUygwKQotICAgICwgbV9mcmFtZUNvdW50
KDApCiB7CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKLQotICAgIFN0cmluZyBzaG93RlBT
RW52aXJvbm1lbnQgPSBnZXRlbnYoIldFQktJVF9TSE9XX0ZQUyIpOwotICAgIGJvb2wgb2sgPSBm
YWxzZTsKLSAgICBtX2Zwc0ludGVydmFsID0gc2hvd0ZQU0Vudmlyb25tZW50LnRvRG91YmxlKCZv
ayk7Ci0gICAgaWYgKG9rICYmIG1fZnBzSW50ZXJ2YWwpIHsKLSAgICAgICAgbV9pc1Nob3dpbmdG
UFMgPSB0cnVlOwotICAgICAgICBtX2Zwc1RpbWVzdGFtcCA9IFdURjo6Y3VycmVudFRpbWUoKTsK
LSAgICB9CiB9CiAKIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6fkNvb3JkaW5hdGVkR3JhcGhp
Y3NTY2VuZSgpCkBAIC0xMzgsOCArMTI0LDcgQEAgdm9pZCBDb29yZGluYXRlZEdyYXBoaWNzU2Nl
bmU6OnBhaW50VG9DdXJyZW50R0xDb250ZXh0KGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cmkKICAg
ICB9CiAKICAgICBsYXllci0+cGFpbnQoKTsKLSAgICBpZiAobV9pc1Nob3dpbmdGUFMpCi0gICAg
ICAgIHVwZGF0ZUZQUyhjbGlwUmVjdC5sb2NhdGlvbigpLCBtYXRyaXgpOworICAgIG1fZnBzQ291
bnRlci5pbmNyZW1lbnRGcmFtZUNvdW50QW5kRGlzcGxheShtX3RleHR1cmVNYXBwZXIuZ2V0KCks
IGNsaXBSZWN0LmxvY2F0aW9uKCksIG1hdHJpeCk7CiAgICAgbV90ZXh0dXJlTWFwcGVyLT5lbmRD
bGlwKCk7CiAgICAgbV90ZXh0dXJlTWFwcGVyLT5lbmRQYWludGluZygpOwogCkBAIC0xOTIsOCAr
MTc3LDcgQEAgdm9pZCBDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6OnBhaW50VG9HcmFwaGljc0Nv
bnRleHQoY2Fpcm9fdCogcGFpbnRlcikKICAgICAgICAgbV90ZXh0dXJlTWFwcGVyLT5kcmF3U29s
aWRDb2xvcihjbGlwUmVjdCwgVHJhbnNmb3JtYXRpb25NYXRyaXgoKSwgbV9iYWNrZ3JvdW5kQ29s
b3IpOwogCiAgICAgbGF5ZXItPnBhaW50KCk7Ci0gICAgaWYgKG1faXNTaG93aW5nRlBTKQotICAg
ICAgICB1cGRhdGVGUFMoY2xpcFJlY3QubG9jYXRpb24oKSk7CisgICAgbV9mcHNDb3VudGVyLmlu
Y3JlbWVudEZyYW1lQ291bnRBbmREaXNwbGF5KG1fdGV4dHVyZU1hcHBlci5nZXQoKSwgY2xpcFJl
Y3QubG9jYXRpb24oKSk7CiAgICAgbV90ZXh0dXJlTWFwcGVyLT5lbmRQYWludGluZygpOwogICAg
IG1fdGV4dHVyZU1hcHBlci0+c2V0R3JhcGhpY3NDb250ZXh0KDApOwogfQpAQCAtNzA3LDIwICs2
OTEsNiBAQCB2b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6c2V0QmFja2dyb3VuZENvbG9y
KGNvbnN0IENvbG9yJiBjb2xvcikKICAgICBtX2JhY2tncm91bmRDb2xvciA9IGNvbG9yOwogfQog
Ci12b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6dXBkYXRlRlBTKGNvbnN0IEZsb2F0UG9p
bnQmIGxvY2F0aW9uLCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgbWF0cml4KQotewotICAg
IG1fZnJhbWVDb3VudCsrOwotICAgIGRvdWJsZSBkZWx0YSA9IFdURjo6Y3VycmVudFRpbWUoKSAt
IG1fZnBzVGltZXN0YW1wOwotICAgIGlmIChkZWx0YSA+PSBtX2Zwc0ludGVydmFsKSB7Ci0gICAg
ICAgIG1fbGFzdEZQUyA9IGludChtX2ZyYW1lQ291bnQgLyBkZWx0YSk7Ci0gICAgICAgIG1fZnJh
bWVDb3VudCA9IDA7Ci0gICAgICAgIG1fZnBzVGltZXN0YW1wICs9IGRlbHRhOwotICAgIH0KLQot
ICAgIC8vIEZJWE1FOiBkcmF3UmVwYWludENvdW50ZXIoKSBzaG91bGQgc2F2ZSBhIHRleHR1cmUg
YW5kIHJlLXVzZSB3aGVuZXZlciBwb3NzaWJsZS4KLSAgICBtX3RleHR1cmVNYXBwZXItPmRyYXdS
ZXBhaW50Q291bnRlcihtX2xhc3RGUFMsIENvbG9yOjpibGFjaywgbG9jYXRpb24sIG1hdHJpeCk7
Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIFVTRShDT09SRElOQVRF
RF9HUkFQSElDUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzU2NlbmUuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdy
YXBoaWNzU2NlbmUuaAppbmRleCAwYjhkNWRiY2U4ZmQ0MWY1ODMxYzQwZDJlZDA5M2M1ZGFkYzc2
OTE5Li5hNWJjZWJmYjRkZTRjYjBmMGY2ODNkZGIyZjhhM2RlNzk0OGExM2U3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29v
cmRpbmF0ZWRHcmFwaGljc1NjZW5lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZS5oCkBAIC0z
Miw2ICszMiw3IEBACiAjaW5jbHVkZSAiUnVuTG9vcC5oIgogI2luY2x1ZGUgIlRleHR1cmVNYXBw
ZXIuaCIKICNpbmNsdWRlICJUZXh0dXJlTWFwcGVyQmFja2luZ1N0b3JlLmgiCisjaW5jbHVkZSAi
VGV4dHVyZU1hcHBlckZQU0NvdW50ZXIuaCIKICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUg
PHd0Zi9GdW5jdGlvbmFsLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KQEAgLTE3Myw4ICsx
NzQsNiBAQCBwcml2YXRlOgogICAgIHZvaWQgcmVtb3ZlQmFja2luZ1N0b3JlSWZOZWVkZWQoR3Jh
cGhpY3NMYXllciopOwogICAgIHZvaWQgcmVzZXRCYWNraW5nU3RvcmVTaXplVG9MYXllclNpemUo
R3JhcGhpY3NMYXllciopOwogCi0gICAgdm9pZCB1cGRhdGVGUFMoY29uc3QgRmxvYXRQb2ludCYs
IGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiA9IFRyYW5zZm9ybWF0aW9uTWF0cml4KCkpOwot
CiAgICAgRmxvYXRTaXplIG1fY29udGVudHNTaXplOwogICAgIEZsb2F0UmVjdCBtX3Zpc2libGVD
b250ZW50c1JlY3Q7CiAKQEAgLTIyNSwxMSArMjI0LDcgQEAgcHJpdmF0ZToKICAgICBDdXN0b21G
aWx0ZXJQcm9ncmFtTWFwIG1fY3VzdG9tRmlsdGVyUHJvZ3JhbXM7CiAjZW5kaWYKIAotICAgIGJv
b2wgbV9pc1Nob3dpbmdGUFM7Ci0gICAgZG91YmxlIG1fZnBzSW50ZXJ2YWw7Ci0gICAgZG91Ymxl
IG1fZnBzVGltZXN0YW1wOwotICAgIGludCBtX2xhc3RGUFM7Ci0gICAgaW50IG1fZnJhbWVDb3Vu
dDsKKyAgICBUZXh0dXJlTWFwcGVyRlBTQ291bnRlciBtX2Zwc0NvdW50ZXI7CiB9OwogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3Jl
U3VwcG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dEVmbC5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dEVmbC5j
cHAKaW5kZXggOGEzYTI0OWJlMjAwYmVmMzU5MmZjYThjNGJkMDBiNDUzYWMzYmRiMy4uNzU4YmYw
YjYyMjA4NGQxYjE1MzE0NmVjZjk5ZDNiMGVjMmJhOTIzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHRFZmwu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0FjY2VsZXJhdGVkQ29t
cG9zaXRpbmdDb250ZXh0RWZsLmNwcApAQCAtODksNiArODksNyBAQCB2b2lkIEFjY2VsZXJhdGVk
Q29tcG9zaXRpbmdDb250ZXh0OjpyZW5kZXJMYXllcnMoKQogCiAgICAgbV90ZXh0dXJlTWFwcGVy
LT5iZWdpblBhaW50aW5nKCk7CiAgICAgbV9yb290VGV4dHVyZU1hcHBlckxheWVyLT5wYWludCgp
OworICAgIG1fZnBzQ291bnRlci5pbmNyZW1lbnRGcmFtZUNvdW50QW5kRGlzcGxheShtX3RleHR1
cmVNYXBwZXIuZ2V0KCkpOwogICAgIG1fdGV4dHVyZU1hcHBlci0+ZW5kUGFpbnRpbmcoKTsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0
ZWRDb21wb3NpdGluZ0NvbnRleHRFZmwuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBw
b3J0L0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0RWZsLmgKaW5kZXggNTBiODliOWNhYzMz
Mjc2OGRjMzQzOTVhY2U0Yjg1YzViNDRlMGI1NS4uZDI4NjlhNDhkNjg2MzVkOTFlN2FhZDBlM2Q3
MmZjYTU1YTU2MzY0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBv
cnQvQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHRFZmwuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L2VmbC9XZWJDb3JlU3VwcG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dEVmbC5oCkBA
IC0yNSw2ICsyNSw3IEBACiAKICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpICYmIFVT
RShURVhUVVJFX01BUFBFUl9HTCkKIAorI2luY2x1ZGUgIlRleHR1cmVNYXBwZXJGUFNDb3VudGVy
LmgiCiAjaW5jbHVkZSAiZXdrX3ByaXZhdGUuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAt
NTYsNiArNTcsNyBAQCBwcml2YXRlOgogICAgIFRleHR1cmVNYXBwZXJMYXllciogbV9yb290VGV4
dHVyZU1hcHBlckxheWVyOwogCiAgICAgUmVmUHRyPEdyYXBoaWNzQ29udGV4dDNEPiBtX2NvbnRl
eHQzRDsKKyAgICBUZXh0dXJlTWFwcGVyRlBTQ291bnRlciBtX2Zwc0NvdW50ZXI7CiB9OwogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJD
b3JlU3VwcG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dC5oIGIvU291cmNlL1dlYktp
dC9ndGsvV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQuaAppbmRl
eCBiMGY5NzQzNGRiODg0NjE2OGViNDY3NDMwMDkwMWZjMjI1NDAyMmFhLi4yYWIwNTJlNGFmMTkw
OTE1ZDk5MzRkMThjYWIyNGM2MGMyZTcyZjE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0
ay9XZWJDb3JlU3VwcG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dC5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250
ZXh0LmgKQEAgLTM0LDYgKzM0LDcgQEAKICNpZiBVU0UoVEVYVFVSRV9NQVBQRVJfR0wpCiAjaW5j
bHVkZSAiR0xDb250ZXh0LmgiCiAjaW5jbHVkZSAiUmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3cu
aCIKKyNpbmNsdWRlICJUZXh0dXJlTWFwcGVyRlBTQ291bnRlci5oIgogI2VuZGlmCiAKICNpZiBV
U0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCkBAIC04OCw2ICs4OSw3IEBAIHByaXZhdGU6CiAg
ICAgZG91YmxlIG1fbGFzdEZsdXNoVGltZTsKICAgICBkb3VibGUgbV9yZWRyYXdQZW5kaW5nVGlt
ZTsKICAgICBib29sIG1fbmVlZHNFeHRyYUZsdXNoOworICAgIFdlYkNvcmU6OlRleHR1cmVNYXBw
ZXJGUFNDb3VudGVyIG1fZnBzQ291bnRlcjsKIAogICAgIHZvaWQgbGF5ZXJGbHVzaFRpbWVyRmly
ZWQoKTsKICAgICB2b2lkIHN0b3BBbnlQZW5kaW5nTGF5ZXJGbHVzaCgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0Nv
bnRleHRHTC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9BY2NlbGVyYXRl
ZENvbXBvc2l0aW5nQ29udGV4dEdMLmNwcAppbmRleCBjMjNkZTYyYTEwYTFjMTQxZTc0YTBkMzIy
MDNlNDU5M2JkZjgyMDcxLi45NjZiYzliYjc5MDViMDQ4YzU2ZTZmZGU2NGE4YWU4NTUwODc4OGE1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9BY2NlbGVyYXRl
ZENvbXBvc2l0aW5nQ29udGV4dEdMLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3Jl
U3VwcG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dEdMLmNwcApAQCAtMTg5LDYgKzE4
OSw3IEBAIHZvaWQgQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6OmNvbXBvc2l0ZUxheWVy
c1RvQ29udGV4dChDb21wb3NpdGVQdXJwb3NlIHB1CiAKICAgICBtX3RleHR1cmVNYXBwZXItPmJl
Z2luUGFpbnRpbmcoKTsKICAgICB0b1RleHR1cmVNYXBwZXJMYXllcihtX3Jvb3RMYXllci5nZXQo
KSktPnBhaW50KCk7CisgICAgbV9mcHNDb3VudGVyLmluY3JlbWVudEZyYW1lQ291bnRBbmREaXNw
bGF5KG1fdGV4dHVyZU1hcHBlci5nZXQoKSk7CiAgICAgbV90ZXh0dXJlTWFwcGVyLT5lbmRQYWlu
dGluZygpOwogCiAgICAgY29udGV4dC0+c3dhcEJ1ZmZlcnMoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvVGV4dHVyZU1hcHBlckxheWVyQ2xpZW50UXQuY3Bw
IGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9UZXh0dXJlTWFwcGVyTGF5ZXJDbGll
bnRRdC5jcHAKaW5kZXggNjZiOGQwZjk2ZDRhNzI2NmUxNmRiZGNhZTFhOWJmNThmMzE5ODcwOC4u
NzZkY2NiYWMwNGEzNDk5NDZlMzAyMWFjMmQ1ZjdlMTIyMDY4Mzc2NSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9UZXh0dXJlTWFwcGVyTGF5ZXJDbGllbnRRdC5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9UZXh0dXJlTWFwcGVyTGF5
ZXJDbGllbnRRdC5jcHAKQEAgLTEyMiw2ICsxMjIsNyBAQCB2b2lkIFRleHR1cmVNYXBwZXJMYXll
ckNsaWVudFF0OjpyZW5kZXJDb21wb3NpdGVkTGF5ZXJzKEdyYXBoaWNzQ29udGV4dCogY29udGV4
dAogICAgIG1fdGV4dHVyZU1hcHBlci0+YmVnaW5QYWludGluZygpOwogICAgIG1fdGV4dHVyZU1h
cHBlci0+YmVnaW5DbGlwKG1hdHJpeCwgY2xpcCk7CiAgICAgbV9yb290VGV4dHVyZU1hcHBlckxh
eWVyLT5wYWludCgpOworICAgIG1fZnBzQ291bnRlci5pbmNyZW1lbnRGcmFtZUNvdW50QW5kRGlz
cGxheShtX3RleHR1cmVNYXBwZXIuZ2V0KCksIEludFBvaW50Ojp6ZXJvKCksIG1hdHJpeCk7CiAg
ICAgbV90ZXh0dXJlTWFwcGVyLT5lbmRDbGlwKCk7CiAgICAgbV90ZXh0dXJlTWFwcGVyLT5lbmRQ
YWludGluZygpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9y
dC9UZXh0dXJlTWFwcGVyTGF5ZXJDbGllbnRRdC5oIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3Jl
U3VwcG9ydC9UZXh0dXJlTWFwcGVyTGF5ZXJDbGllbnRRdC5oCmluZGV4IDY3MzI4Y2M5OWNjZWRl
NmJjZDNjMzlkMGE5YTU3ZGFhYzcwYTgzNzUuLjJmZmI1ZjBhYTQ2Yjc4NjYxYTg3NzFjNTk1NWU5
NjEyOWE4ZDVlNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQv
VGV4dHVyZU1hcHBlckxheWVyQ2xpZW50UXQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNv
cmVTdXBwb3J0L1RleHR1cmVNYXBwZXJMYXllckNsaWVudFF0LmgKQEAgLTI1LDYgKzI1LDcgQEAg
Y2xhc3MgUVdlYkZyYW1lQWRhcHRlcjsKIAogI2luY2x1ZGUgIkdyYXBoaWNzTGF5ZXIuaCIKICNp
bmNsdWRlICJUZXh0dXJlTWFwcGVyLmgiCisjaW5jbHVkZSAiVGV4dHVyZU1hcHBlckZQU0NvdW50
ZXIuaCIKICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KIApAQCAt
NTMsNiArNTQsNyBAQCBwcml2YXRlOgogICAgIFRpbWVyPFRleHR1cmVNYXBwZXJMYXllckNsaWVu
dFF0PiBtX3N5bmNUaW1lcjsKICAgICBXZWJDb3JlOjpUZXh0dXJlTWFwcGVyTGF5ZXIqIG1fcm9v
dFRleHR1cmVNYXBwZXJMYXllcjsKICAgICBPd25QdHI8V2ViQ29yZTo6VGV4dHVyZU1hcHBlcj4g
bV90ZXh0dXJlTWFwcGVyOworICAgIFdlYkNvcmU6OlRleHR1cmVNYXBwZXJGUFNDb3VudGVyIG1f
ZnBzQ291bnRlcjsKIH07CiAjZW5kaWYKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>187791</attachid>
            <date>2013-02-12 00:24:18 -0800</date>
            <delta_ts>2013-02-12 01:36:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-109540-20130212172010.patch</filename>
            <type>text/plain</type>
            <size>29792</size>
            <attacher name="Dongseong Hwang">dongseong.hwang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyNTkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjBkODM1OTBlYWVmZWVh
NDJlYTc4YmI3NTIzZTRmNzQ5MDliNWNhYS4uNTAzM2RkNGRiOTk5MjU2ZTM3MzM0ZmZjNzA3NjM2
ZDBmYjZjMWU2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDEzLTAyLTEyICBIdWFu
ZyBEb25nc3VuZyAgPGx1eHRlbGxhQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIFtUZXhNYXBd
IEFwcGx5IGZyYW1lcy1wZXItc2Vjb25kIGRlYnVnIGNvdW50ZXIgdG8gV0sxLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA5NTQwCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgcjE0MjUyNCBpbXBsZW1lbnRl
ZCBmcmFtZXMtcGVyLXNlY29uZCBkZWJ1ZyBjb3VudGVyIG9uIFdLMi4gVGhpcyBwYXRjaAorICAg
ICAgICBhcHBsaWVzIGZyYW1lcy1wZXItc2Vjb25kIGRlYnVnIGNvdW50ZXIgdG8gV0sxIGFsc28u
CisKKyAgICAgICAgVmlzdWFsIGRlYnVnZ2luZyBmZWF0dXJlLCBubyBuZWVkIGZvciBuZXcgdGVz
dHMuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5s
aXN0LmFtOgorICAgICAgICAqIFRhcmdldC5wcmk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvdGV4bWFwL1RleHR1cmVNYXBwZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90
ZXhtYXAvVGV4dHVyZU1hcHBlckZQU0NvdW50ZXIuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNv
cmUpOgorICAgICAgICAoV2ViQ29yZTo6VGV4dHVyZU1hcHBlckZQU0NvdW50ZXI6OlRleHR1cmVN
YXBwZXJGUFNDb3VudGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHR1cmVNYXBwZXJGUFNDb3Vu
dGVyOjp1cGRhdGVGUFNBbmREaXNwbGF5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90
ZXhtYXAvVGV4dHVyZU1hcHBlckZQU0NvdW50ZXIuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKFRleHR1cmVNYXBwZXJGUFNDb3VudGVyKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmNwcDoKKyAgICAgICAgKFdlYkNvcmUp
OgorICAgICAgICAoV2ViQ29yZTo6VGV4dHVyZU1hcHBlckdMOjpkcmF3TnVtYmVyKToKKyAgICAg
ICAgICBSZW5hbWUgZnJvbSBkcmF3UmVwYWludENvdW50ZXIgdG8gZHJhd051bWJlci4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmg6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpUZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXI6OmRyYXdOdW1iZXIp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVySW1hZ2VC
dWZmZXIuaDoKKyAgICAgICAgKFRleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlcik6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJUaWxlZEJhY2tpbmdTdG9yZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpUZXh0dXJlTWFwcGVyVGlsZWRCYWNraW5nU3RvcmU6OmRy
YXdSZXBhaW50Q291bnRlcik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nv
b3JkaW5hdGVkL0Nvb3JkaW5hdGVkQmFja2luZ1N0b3JlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkNvb3JkaW5hdGVkQmFja2luZ1N0b3JlOjpkcmF3UmVwYWludENvdW50ZXIpOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNz
U2NlbmUuY3BwOgorICAgICAgICAgIE1vdmUgZnJhbWVzLXBlci1zZWNvbmQgZGVidWcgY291bnRl
ciBjb2RlIHRvIFRleHR1cmVNYXBwZXJGUFNDb3VudGVyLgorICAgICAgICAoV2ViQ29yZTo6Q29v
cmRpbmF0ZWRHcmFwaGljc1NjZW5lOjpDb29yZGluYXRlZEdyYXBoaWNzU2NlbmUpOgorICAgICAg
ICAoV2ViQ29yZTo6Q29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjpwYWludFRvQ3VycmVudEdMQ29u
dGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6OnBhaW50
VG9HcmFwaGljc0NvbnRleHQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9j
b29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzU2NlbmUuaDoKKwogMjAxMy0wMi0xMiAgVGFr
YXNoaSBTYWthbW90byAgPHRhc2FrQGdvb2dsZS5jb20+CiAKICAgICAgICAgW1JlZmFjdG9yaW5n
XSBNYWtlIG1fc2VsZWN0b3JDaGVja2VyIGluIFN0eWxlUmVzb2x2ZXIgYW4gb24tc3RhY2sgb2Jq
ZWN0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9lZmwvQ2hhbmdlTG9nCmluZGV4IDA3NzkzNjY3OWFmZTczN2Q4ZTM1OGMzNmFhYjc1OTk4
ZDEyNDJhZDUuLmEwZmU5M2Q5NmFmMDUxMzQzMGVjOGI2MjljZTI1YjY1ZDhhMjZmNWUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Vm
bC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMy0wMi0xMiAgSHVhbmcgRG9uZ3N1bmcg
IDxsdXh0ZWxsYUBjb21wYW55MTAwLm5ldD4KKworICAgICAgICBbVGV4TWFwXSBBcHBseSBmcmFt
ZXMtcGVyLXNlY29uZCBkZWJ1ZyBjb3VudGVyIHRvIFdLMS4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwOTU0MAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1ha2UgQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0Nv
bnRleHRFZmwgdXNlIFRleHR1cmVNYXBwZXJGUFNDb3VudGVyLgorCisgICAgICAgICogV2ViQ29y
ZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHRFZmwuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6OnJlbmRlckxheWVycyk6Cisg
ICAgICAgICogV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHRFZmwu
aDoKKyAgICAgICAgKEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0KToKKwogMjAxMy0wMi0x
MSAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBEaXNhYmxlIGRl
bGV0ZSBidXR0b24gY29udHJvbGxlciBvbiBub24tTWFjIHBvcnRzIGFuZCBkZWxldGUgRWRpdG9y
Q2xpZW50OjpzaG91bGRTaG93RGVsZXRlSW50ZXJmYWNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2d0ay9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKaW5kZXggMDI2
MzllNWE2YzI3Y2M5ZDY2N2YyZThiZmMwNDlhMmQ3ZjllY2Y1OC4uY2Y2NmRhN2Q5ZjZmMTlmYWFk
ZjBmOThiY2M5ZGM3YWQwZWUzNTA4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBA
CisyMDEzLTAyLTEyICBIdWFuZyBEb25nc3VuZyAgPGx1eHRlbGxhQGNvbXBhbnkxMDAubmV0Pgor
CisgICAgICAgIFtUZXhNYXBdIEFwcGx5IGZyYW1lcy1wZXItc2Vjb25kIGRlYnVnIGNvdW50ZXIg
dG8gV0sxLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTA5NTQwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
TWFrZSBBY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dCB1c2UgVGV4dHVyZU1hcHBlckZQU0Nv
dW50ZXIuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0aW5n
Q29udGV4dC5oOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0FjY2VsZXJhdGVkQ29tcG9zaXRp
bmdDb250ZXh0R0wuY3BwOgorICAgICAgICAoV2ViS2l0OjpBY2NlbGVyYXRlZENvbXBvc2l0aW5n
Q29udGV4dDo6Y29tcG9zaXRlTGF5ZXJzVG9Db250ZXh0KToKKwogMjAxMy0wMi0xMSAgUnlvc3Vr
ZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBEaXNhYmxlIGRlbGV0ZSBidXR0
b24gY29udHJvbGxlciBvbiBub24tTWFjIHBvcnRzIGFuZCBkZWxldGUgRWRpdG9yQ2xpZW50Ojpz
aG91bGRTaG93RGVsZXRlSW50ZXJmYWNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IDYzMDBmMjgwYTc5MmNh
NDg1NTcxYzhlMDMzZDVmNjk1MTFmNWQ0MTYuLmIwMjJkNDU1NTc5MzdjMjRhZmIwYWZhNjUwYjc3
ODIwZWMzZTUwYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTMtMDItMTIg
IEh1YW5nIERvbmdzdW5nICA8bHV4dGVsbGFAY29tcGFueTEwMC5uZXQ+CisKKyAgICAgICAgW1Rl
eE1hcF0gQXBwbHkgZnJhbWVzLXBlci1zZWNvbmQgZGVidWcgY291bnRlciB0byBXSzEuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDk1NDAKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYWtlIFRleHR1cmVN
YXBwZXJMYXllckNsaWVudFF0IHVzZSBUZXh0dXJlTWFwcGVyRlBTQ291bnRlci4KKworICAgICAg
ICAqIFdlYkNvcmVTdXBwb3J0L1RleHR1cmVNYXBwZXJMYXllckNsaWVudFF0LmNwcDoKKyAgICAg
ICAgKFRleHR1cmVNYXBwZXJMYXllckNsaWVudFF0OjpyZW5kZXJDb21wb3NpdGVkTGF5ZXJzKToK
KyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9UZXh0dXJlTWFwcGVyTGF5ZXJDbGllbnRRdC5oOgor
ICAgICAgICAoVGV4dHVyZU1hcHBlckxheWVyQ2xpZW50UXQpOgorCiAyMDEzLTAyLTExICBSeW9z
dWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIERpc2FibGUgZGVsZXRlIGJ1
dHRvbiBjb250cm9sbGVyIG9uIG5vbi1NYWMgcG9ydHMgYW5kIGRlbGV0ZSBFZGl0b3JDbGllbnQ6
OnNob3VsZFNob3dEZWxldGVJbnRlcmZhY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggMDQwZjIy
OGQ1MmVlMjY4NTc4NTA4ZTc3N2RjM2U4YmUzZGRkMTlmMi4uMDYwOTMzMTUxODRmYzQ3ODU5OWEy
ODAwZTBmYzdmYjAwYzYwNzViMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTIwMDEsNiArMjAw
MSw3IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAv
Y29vcmRpbmF0ZWQvVXBkYXRlQXRsYXMuY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFw
L1RleHR1cmVNYXBwZXIuY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVN
YXBwZXJCYWNraW5nU3RvcmUuY3BwCisgICAgcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1
cmVNYXBwZXJGUFNDb3VudGVyLmNwcAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0
dXJlTWFwcGVySW1hZ2VCdWZmZXIuY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1Rl
eHR1cmVNYXBwZXJMYXllci5jcHAKICAgICBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVy
ZU1hcHBlclN1cmZhY2VCYWNraW5nU3RvcmUuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5h
bQppbmRleCBmYmUxMWU2MmQ2YjFlMmFmNDE0ZWRmOWMxMjUyMzc4NTg3MjI2MmRhLi42NzE3MTll
ZGJiZDY5ZGUwYWExMGE1NWE0NWNlM2Y0ZThjMWQ3M2U5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxl
Lmxpc3QuYW0KQEAgLTY0ODQsNiArNjQ4NCw4IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJCYWNraW5n
U3RvcmUuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1
cmVNYXBwZXIuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAv
VGV4dHVyZU1hcHBlci5oIFwKKwlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXht
YXAvVGV4dHVyZU1hcHBlckZQU0NvdW50ZXIuY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckZQU0NvdW50ZXIuaCBcCiAJU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlci5j
cHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFw
cGVySW1hZ2VCdWZmZXIuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4
bWFwL1RleHR1cmVNYXBwZXJMYXllci5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
VGFyZ2V0LnByaSBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXggMWQxYTUzMTk1MGQ4
MzNhMTAxMGJjYmZkZTY2OTExYThkMjU1YjJmNy4uZWFhNWM1YWMxYmU1ODVhYTBmNmVlNGRmZDA0
ZTk1M2E4NTI1YTFiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCkBAIC0yMjcxLDYgKzIyNzEsNyBAQCBIRUFERVJT
ICs9IFwKICAgICBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvR3JhcGhpY3NMYXllclRleHR1cmVN
YXBwZXIuaCBcCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXIuaCBc
CiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJCYWNraW5nU3RvcmUu
aCBcCisgICAgcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJGUFNDb3VudGVy
LmggXAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVySW1hZ2VCdWZm
ZXIuaCBcCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJMYXllci5o
IFwKICAgICBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5
ZXIuaCBcCkBAIC0yOTA3LDYgKzI5MDgsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBwbGF0Zm9ybS9n
cmFwaGljcy90ZXhtYXAvR3JhcGhpY3NMYXllclRleHR1cmVNYXBwZXIuY3BwIFwKICAgICBwbGF0
Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlci5jcHAgXAogICAgIHBsYXRmb3JtL2dy
YXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyQmFja2luZ1N0b3JlLmNwcCBcCisgICAgcGxhdGZv
cm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJGUFNDb3VudGVyLmNwcCBcCiAgICAgcGxh
dGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlci5jcHAgXAogICAg
IHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyTGF5ZXIuY3BwIFwKICAgICBw
bGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlclN1cmZhY2VCYWNraW5nU3RvcmUu
Y3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1h
cC9UZXh0dXJlTWFwcGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXht
YXAvVGV4dHVyZU1hcHBlci5oCmluZGV4IGQ5NjExNmI3MDk5MzY4YWQ0NDU1OTk2YzFiNzMyMDE2
MjcwZGVlYzIuLmFkZWFmM2U3MThlMTMyNTAzODI5YzkwNGZjMGEyZDI3NTJjNDYxODYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFw
cGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1
cmVNYXBwZXIuaApAQCAtMTMwLDcgKzEzMCw3IEBAIHB1YmxpYzoKICAgICB9OwogCiAgICAgdmly
dHVhbCB2b2lkIGRyYXdCb3JkZXIoY29uc3QgQ29sb3ImLCBmbG9hdCBib3JkZXJXaWR0aCwgY29u
c3QgRmxvYXRSZWN0JiwgY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmKSA9IDA7Ci0gICAgdmly
dHVhbCB2b2lkIGRyYXdSZXBhaW50Q291bnRlcihpbnQgcmVwYWludENvdW50LCBjb25zdCBDb2xv
ciYsIGNvbnN0IEZsb2F0UG9pbnQmLCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYpID0gMDsK
KyAgICB2aXJ0dWFsIHZvaWQgZHJhd051bWJlcihpbnQgbnVtYmVyLCBjb25zdCBDb2xvciYsIGNv
bnN0IEZsb2F0UG9pbnQmLCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYpID0gMDsKIAogICAg
IHZpcnR1YWwgdm9pZCBkcmF3VGV4dHVyZShjb25zdCBCaXRtYXBUZXh0dXJlJiwgY29uc3QgRmxv
YXRSZWN0JiB0YXJnZXQsIGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBtb2RlbFZpZXdNYXRy
aXggPSBUcmFuc2Zvcm1hdGlvbk1hdHJpeCgpLCBmbG9hdCBvcGFjaXR5ID0gMS4wZiwgY29uc3Qg
Qml0bWFwVGV4dHVyZSogbWFza1RleHR1cmUgPSAwLCB1bnNpZ25lZCBleHBvc2VkRWRnZXMgPSBB
bGxFZGdlcykgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkcmF3U29saWRDb2xvcihjb25zdCBGbG9h
dFJlY3QmLCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYsIGNvbnN0IENvbG9yJikgPSAwOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1
cmVNYXBwZXJGUFNDb3VudGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9UZXh0dXJlTWFwcGVyRlBTQ291bnRlci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmQ1ZWUwMzFh
NzM3ZGExNjY5NmY4YmEyZTRkZGYwNmFiNTA1ZjFjNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyRlBTQ291bnRl
ci5jcHAKQEAgLTAsMCArMSw2NiBAQAorLyoKKyAgICBDb3B5cmlnaHQgKEMpIDIwMTIgTm9raWEg
Q29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCisgICAgQ29weXJpZ2h0IChD
KSAyMDEyLCAyMDEzIENvbXBhbnkgMTAwLCBJbmMuCisKKyAgICBUaGlzIGxpYnJhcnkgaXMgZnJl
ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgICAgbW9kaWZ5IGl0
IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAgICBM
aWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRo
ZXIKKyAgICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55
IGxhdGVyIHZlcnNpb24uCisKKyAgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhl
IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFO
VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICAgIE1FUkNIQU5UQUJJ
TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisg
ICAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKyAg
ICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5l
cmFsIFB1YmxpYyBMaWNlbnNlCisgICAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUg
ZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAgICB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICAg
IEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
CisjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQorCisjaW5jbHVkZSAiVGV4dHVyZU1h
cHBlckZQU0NvdW50ZXIuaCIKKworI2luY2x1ZGUgIlRleHR1cmVNYXBwZXIuaCIKKyNpbmNsdWRl
IDx3dGYvQ3VycmVudFRpbWUuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitUZXh0dXJlTWFw
cGVyRlBTQ291bnRlcjo6VGV4dHVyZU1hcHBlckZQU0NvdW50ZXIoKQorICAgIDogbV9pc1Nob3dp
bmdGUFMoZmFsc2UpCisgICAgLCBtX2Zwc0ludGVydmFsKDApCisgICAgLCBtX2Zwc1RpbWVzdGFt
cCgwKQorICAgICwgbV9sYXN0RlBTKDApCisgICAgLCBtX2ZyYW1lQ291bnQoMCkKK3sKKyAgICBT
dHJpbmcgc2hvd0ZQU0Vudmlyb25tZW50ID0gZ2V0ZW52KCJXRUJLSVRfU0hPV19GUFMiKTsKKyAg
ICBib29sIG9rID0gZmFsc2U7CisgICAgbV9mcHNJbnRlcnZhbCA9IHNob3dGUFNFbnZpcm9ubWVu
dC50b0RvdWJsZSgmb2spOworICAgIGlmIChvayAmJiBtX2Zwc0ludGVydmFsKSB7CisgICAgICAg
IG1faXNTaG93aW5nRlBTID0gdHJ1ZTsKKyAgICAgICAgbV9mcHNUaW1lc3RhbXAgPSBXVEY6OmN1
cnJlbnRUaW1lKCk7CisgICAgfQorfQorCit2b2lkIFRleHR1cmVNYXBwZXJGUFNDb3VudGVyOjp1
cGRhdGVGUFNBbmREaXNwbGF5KFRleHR1cmVNYXBwZXIqIHRleHR1cmVNYXBwZXIsIGNvbnN0IEZs
b2F0UG9pbnQmIGxvY2F0aW9uLCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgbWF0cml4KQor
eworICAgIGlmICghbV9pc1Nob3dpbmdGUFMpCisgICAgICAgIHJldHVybjsKKworICAgIG1fZnJh
bWVDb3VudCsrOworICAgIGRvdWJsZSBkZWx0YSA9IFdURjo6Y3VycmVudFRpbWUoKSAtIG1fZnBz
VGltZXN0YW1wOworICAgIGlmIChkZWx0YSA+PSBtX2Zwc0ludGVydmFsKSB7CisgICAgICAgIG1f
bGFzdEZQUyA9IGludChtX2ZyYW1lQ291bnQgLyBkZWx0YSk7CisgICAgICAgIG1fZnJhbWVDb3Vu
dCA9IDA7CisgICAgICAgIG1fZnBzVGltZXN0YW1wICs9IGRlbHRhOworICAgIH0KKworICAgIHRl
eHR1cmVNYXBwZXItPmRyYXdOdW1iZXIobV9sYXN0RlBTLCBDb2xvcjo6YmxhY2ssIGxvY2F0aW9u
LCBtYXRyaXgpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBVU0Uo
QUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckZQU0NvdW50ZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyRlBTQ291bnRlci5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjk2ZmFiMTc5ZTI2NGRhNjNlNDg3NzVjY2RkNzAxM2JlZWNkZDZmMzgKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAv
VGV4dHVyZU1hcHBlckZQU0NvdW50ZXIuaApAQCAtMCwwICsxLDUzIEBACisvKgorICAgIENvcHly
aWdodCAoQykgMjAxMiBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWll
cykKKyAgICBDb3B5cmlnaHQgKEMpIDIwMTIsIDIwMTMgQ29tcGFueSAxMDAsIEluYy4KKworICAg
IFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh
bmQvb3IKKyAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYworICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3Ig
KGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworICAgIFRoaXMgbGlicmFyeSBp
cyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICAgIGJ1
dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5
IG9mCisgICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFLiAgU2VlIHRoZSBHTlUKKyAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y
IG1vcmUgZGV0YWlscy4KKworICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2Yg
dGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAgICBhbG9uZyB3aXRoIHRo
aXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwor
ICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVl
dCwgRmlmdGggRmxvb3IsCisgICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisqLworCisj
aWZuZGVmIFRleHR1cmVNYXBwZXJGUFNDb3VudGVyX2gKKyNkZWZpbmUgVGV4dHVyZU1hcHBlckZQ
U0NvdW50ZXJfaAorCisjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQorI2luY2x1ZGUg
IkZsb2F0UG9pbnQuaCIKKyNpbmNsdWRlICJUcmFuc2Zvcm1hdGlvbk1hdHJpeC5oIgorI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBUZXh0
dXJlTWFwcGVyOworCitjbGFzcyBUZXh0dXJlTWFwcGVyRlBTQ291bnRlciB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoVGV4dHVyZU1hcHBlckZQU0NvdW50ZXIpOworICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOworcHVibGljOgorICAgIFRleHR1cmVNYXBwZXJGUFNDb3VudGVyKCk7Cisg
ICAgdm9pZCB1cGRhdGVGUFNBbmREaXNwbGF5KFRleHR1cmVNYXBwZXIqLCBjb25zdCBGbG9hdFBv
aW50JiA9IEZsb2F0UG9pbnQ6Onplcm8oKSwgY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmID0g
VHJhbnNmb3JtYXRpb25NYXRyaXgoKSk7CisKK3ByaXZhdGU6CisgICAgYm9vbCBtX2lzU2hvd2lu
Z0ZQUzsKKyAgICBkb3VibGUgbV9mcHNJbnRlcnZhbDsKKyAgICBkb3VibGUgbV9mcHNUaW1lc3Rh
bXA7CisgICAgaW50IG1fbGFzdEZQUzsKKyAgICBpbnQgbV9mcmFtZUNvdW50OworfTsKKworfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lU
SU5HKQorCisjZW5kaWYgLy8gVGV4dHVyZU1hcHBlckZQU0NvdW50ZXJfaAorCisKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVy
R0wuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVN
YXBwZXJHTC5jcHAKaW5kZXggYjJlMGUwNTRmYjAwNTlhMDE4ODVkMTk4OGVmODUyOGE0ODM3N2Zk
MS4uM2NkZGM5MzYzMTEwM2NlODc3N2E0NTMxODlmZThhNzhiYmM4MTY4MSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJHTC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVN
YXBwZXJHTC5jcHAKQEAgLTMyMSwxMSArMzIxLDEyIEBAIHZvaWQgVGV4dHVyZU1hcHBlckdMOjpk
cmF3Qm9yZGVyKGNvbnN0IENvbG9yJiBjb2xvciwgZmxvYXQgd2lkdGgsIGNvbnN0IEZsb2F0UmVj
CiAgICAgZHJhdyh0YXJnZXRSZWN0LCBtb2RlbFZpZXdNYXRyaXgsIHByb2dyYW0uZ2V0KCksIEdy
YXBoaWNzQ29udGV4dDNEOjpMSU5FX0xPT1AsIGNvbG9yLmhhc0FscGhhKCkgPyBTaG91bGRCbGVu
ZCA6IDApOwogfQogCi12b2lkIFRleHR1cmVNYXBwZXJHTDo6ZHJhd1JlcGFpbnRDb3VudGVyKGlu
dCByZXBhaW50Q291bnQsIGNvbnN0IENvbG9yJiBjb2xvciwgY29uc3QgRmxvYXRQb2ludCYgdGFy
Z2V0UG9pbnQsIGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBtb2RlbFZpZXdNYXRyaXgpCisv
LyBGSVhNRTogZHJhd051bWJlcigpIHNob3VsZCBzYXZlIGEgbnVtYmVyIHRleHR1cmUtYXRsYXMg
YW5kIHJlLXVzZSB3aGVuZXZlciBwb3NzaWJsZS4KK3ZvaWQgVGV4dHVyZU1hcHBlckdMOjpkcmF3
TnVtYmVyKGludCBudW1iZXIsIGNvbnN0IENvbG9yJiBjb2xvciwgY29uc3QgRmxvYXRQb2ludCYg
dGFyZ2V0UG9pbnQsIGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBtb2RlbFZpZXdNYXRyaXgp
CiB7CiAgICAgaW50IHBvaW50U2l6ZSA9IDg7CiAjaWYgUExBVEZPUk0oUVQpCi0gICAgUVN0cmlu
ZyBjb3VudGVyU3RyaW5nID0gUVN0cmluZzo6bnVtYmVyKHJlcGFpbnRDb3VudCk7CisgICAgUVN0
cmluZyBjb3VudGVyU3RyaW5nID0gUVN0cmluZzo6bnVtYmVyKG51bWJlcik7CiAKICAgICBRRm9u
dCBmb250KFFTdHJpbmc6OmZyb21MYXRpbjEoIk1vbm9zcGFjZSIpLCBwb2ludFNpemUsIFFGb250
OjpCb2xkKTsKICAgICBmb250LnNldFN0eWxlSGludChRRm9udDo6VHlwZVdyaXRlcik7CkBAIC0z
NTEsNyArMzUyLDcgQEAgdm9pZCBUZXh0dXJlTWFwcGVyR0w6OmRyYXdSZXBhaW50Q291bnRlcihp
bnQgcmVwYWludENvdW50LCBjb25zdCBDb2xvciYgY29sb3IsIGMKICAgICBkcmF3VGV4dHVyZSgq
dGV4dHVyZSwgdGFyZ2V0UmVjdCwgbW9kZWxWaWV3TWF0cml4LCAxLjBmLCAwLCBBbGxFZGdlcyk7
CiAKICNlbGlmIFVTRShDQUlSTykKLSAgICBDU3RyaW5nIGNvdW50ZXJTdHJpbmcgPSBTdHJpbmc6
Om51bWJlcihyZXBhaW50Q291bnQpLmFzY2lpKCk7CisgICAgQ1N0cmluZyBjb3VudGVyU3RyaW5n
ID0gU3RyaW5nOjpudW1iZXIobnVtYmVyKS5hc2NpaSgpOwogICAgIC8vIGNhaXJvX3RleHRfZXh0
ZW50cygpIHJlcXVpcmVzIGEgY2Fpcm9fdCwgc28gZGltZW5zaW9ucyBuZWVkIHRvIGJlIGd1ZXNz
dGltYXRlZC4KICAgICBpbnQgd2lkdGggPSBjb3VudGVyU3RyaW5nLmxlbmd0aCgpICogcG9pbnRT
aXplICogMS4yOwogICAgIGludCBoZWlnaHQgPSBwb2ludFNpemUgKiAxLjU7CkBAIC0zODUsNyAr
Mzg2LDcgQEAgdm9pZCBUZXh0dXJlTWFwcGVyR0w6OmRyYXdSZXBhaW50Q291bnRlcihpbnQgcmVw
YWludENvdW50LCBjb25zdCBDb2xvciYgY29sb3IsIGMKICAgICBjYWlyb19kZXN0cm95KGNyKTsK
IAogI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0ocmVwYWludENvdW50KTsKKyAgICBVTlVTRURfUEFS
QU0obnVtYmVyKTsKICAgICBVTlVTRURfUEFSQU0ocG9pbnRTaXplKTsKICAgICBVTlVTRURfUEFS
QU0odGFyZ2V0UG9pbnQpOwogICAgIFVOVVNFRF9QQVJBTShtb2RlbFZpZXdNYXRyaXgpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVN
YXBwZXJHTC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1
cmVNYXBwZXJHTC5oCmluZGV4IDk4M2UyYTA2YzNjNDNkNjNhYTllYmExYWY2YzFhMWQ4ZGY1OTNk
ZGQuLjNlODBhMTc4MmVjMTQ4OTFmZDdiY2NjMmU5OTA5M2I5NmRkZGUzMTUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1h
cHBlckdMLmgKQEAgLTUzLDcgKzUzLDcgQEAgcHVibGljOgogCiAgICAgLy8gVGV4dHVyZU1hcHBl
ciBpbXBsZW1lbnRhdGlvbgogICAgIHZpcnR1YWwgdm9pZCBkcmF3Qm9yZGVyKGNvbnN0IENvbG9y
JiwgZmxvYXQgYm9yZGVyV2lkdGgsIGNvbnN0IEZsb2F0UmVjdCYsIGNvbnN0IFRyYW5zZm9ybWF0
aW9uTWF0cml4JikgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCB2b2lkIGRyYXdSZXBhaW50Q291bnRl
cihpbnQgcmVwYWludENvdW50LCBjb25zdCBDb2xvciYsIGNvbnN0IEZsb2F0UG9pbnQmLCBjb25z
dCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBkcmF3
TnVtYmVyKGludCBudW1iZXIsIGNvbnN0IENvbG9yJiwgY29uc3QgRmxvYXRQb2ludCYsIGNvbnN0
IFRyYW5zZm9ybWF0aW9uTWF0cml4JikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGRyYXdU
ZXh0dXJlKGNvbnN0IEJpdG1hcFRleHR1cmUmLCBjb25zdCBGbG9hdFJlY3QmLCBjb25zdCBUcmFu
c2Zvcm1hdGlvbk1hdHJpeCYsIGZsb2F0IG9wYWNpdHksIGNvbnN0IEJpdG1hcFRleHR1cmUqIG1h
c2tUZXh0dXJlLCB1bnNpZ25lZCBleHBvc2VkRWRnZXMpIE9WRVJSSURFOwogICAgIHZpcnR1YWwg
dm9pZCBkcmF3VGV4dHVyZShQbGF0Zm9ybTNET2JqZWN0IHRleHR1cmUsIEZsYWdzLCBjb25zdCBJ
bnRTaXplJiB0ZXh0dXJlU2l6ZSwgY29uc3QgRmxvYXRSZWN0JiB0YXJnZXRSZWN0LCBjb25zdCBU
cmFuc2Zvcm1hdGlvbk1hdHJpeCYgbW9kZWxWaWV3TWF0cml4LCBmbG9hdCBvcGFjaXR5LCBjb25z
dCBCaXRtYXBUZXh0dXJlKiBtYXNrVGV4dHVyZSwgdW5zaWduZWQgZXhwb3NlZEVkZ2VzID0gQWxs
RWRnZXMpOwogICAgIHZpcnR1YWwgdm9pZCBkcmF3U29saWRDb2xvcihjb25zdCBGbG9hdFJlY3Qm
LCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYsIGNvbnN0IENvbG9yJikgT1ZFUlJJREU7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVy
ZU1hcHBlckltYWdlQnVmZmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9UZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXIuY3BwCmluZGV4IGI0ZTEyMmQyY2Q4ZGEw
OTcwNWY3OWM0YmVjZGNjNjNmMGFhODMyMmEuLjFlNDlmOWI2ZWNhODhkNmE3Y2ZkOTMxOTEyMjJj
MDQ4MTEwMzlkNzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9UZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXIuY3BwCkBA
IC0xNzAsNyArMTcwLDcgQEAgdm9pZCBUZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXI6OmRyYXdCb3Jk
ZXIoY29uc3QgQ29sb3ImLCBmbG9hdCAvKiBib3JkZXJXaWR0aCAqLywKICAgICBub3RJbXBsZW1l
bnRlZCgpOwogfQogCi12b2lkIFRleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlcjo6ZHJhd1JlcGFpbnRD
b3VudGVyKGludCAvKiByZXBhaW50Q291bnQgKi8sIGNvbnN0IENvbG9yJiwgY29uc3QgRmxvYXRQ
b2ludCYsIGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JikKK3ZvaWQgVGV4dHVyZU1hcHBlcklt
YWdlQnVmZmVyOjpkcmF3TnVtYmVyKGludCAvKiBudW1iZXIgKi8sIGNvbnN0IENvbG9yJiwgY29u
c3QgRmxvYXRQb2ludCYsIGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JikKIHsKICAgICBub3RJ
bXBsZW1lbnRlZCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlci5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJJbWFnZUJ1ZmZlci5oCmluZGV4
IDViMmU5NzgzZDY5YzA1ODYzOTI3MmEyYjYzMWM3NmFlMTA1NzNkM2MuLjgwZTY5NDQwNTkwNTQ3
NjA3ZTcwMzI2MWU3OTMxNTVkZGUzYzIwZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckltYWdl
QnVmZmVyLmgKQEAgLTU0LDcgKzU0LDcgQEAgcHVibGljOgogCiAgICAgLy8gVGV4dHVyZU1hcHBl
ciBpbXBsZW1lbnRhdGlvbgogICAgIHZpcnR1YWwgdm9pZCBkcmF3Qm9yZGVyKGNvbnN0IENvbG9y
JiwgZmxvYXQgYm9yZGVyV2lkdGgsIGNvbnN0IEZsb2F0UmVjdCYsIGNvbnN0IFRyYW5zZm9ybWF0
aW9uTWF0cml4JikgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCB2b2lkIGRyYXdSZXBhaW50Q291bnRl
cihpbnQgcmVwYWludENvdW50LCBjb25zdCBDb2xvciYsIGNvbnN0IEZsb2F0UG9pbnQmLCBjb25z
dCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBkcmF3
TnVtYmVyKGludCBudW1iZXIsIGNvbnN0IENvbG9yJiwgY29uc3QgRmxvYXRQb2ludCYsIGNvbnN0
IFRyYW5zZm9ybWF0aW9uTWF0cml4JikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGRyYXdU
ZXh0dXJlKGNvbnN0IEJpdG1hcFRleHR1cmUmLCBjb25zdCBGbG9hdFJlY3QmIHRhcmdldFJlY3Qs
IGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiwgZmxvYXQgb3BhY2l0eSwgY29uc3QgQml0bWFw
VGV4dHVyZSogbWFza1RleHR1cmUsIHVuc2lnbmVkIGV4cG9zZWRFZGdlcykgT1ZFUlJJREU7CiAg
ICAgdmlydHVhbCB2b2lkIGRyYXdTb2xpZENvbG9yKGNvbnN0IEZsb2F0UmVjdCYsIGNvbnN0IFRy
YW5zZm9ybWF0aW9uTWF0cml4JiwgY29uc3QgQ29sb3ImKSBPVkVSUklERTsKICAgICB2aXJ0dWFs
IHZvaWQgYmVnaW5DbGlwKGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiwgY29uc3QgRmxvYXRS
ZWN0JikgT1ZFUlJJREU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlclRpbGVkQmFja2luZ1N0b3JlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyVGlsZWRCYWNraW5n
U3RvcmUuY3BwCmluZGV4IDM1MTZmMGY0YTUxYjA2ZjkzNDQ0NzRlNTdiZmQ2MGM0OTRhYzdjMmUu
LjgwOTc5MjIyNjdlOTkwYTgxMGYyMDJkNDU3YTYyZmFmOWZiODhkMGIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyVGlsZWRC
YWNraW5nU3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Rl
eG1hcC9UZXh0dXJlTWFwcGVyVGlsZWRCYWNraW5nU3RvcmUuY3BwCkBAIC02Niw3ICs2Niw3IEBA
IHZvaWQgVGV4dHVyZU1hcHBlclRpbGVkQmFja2luZ1N0b3JlOjpkcmF3UmVwYWludENvdW50ZXIo
VGV4dHVyZU1hcHBlciogdGV4dHVyZU1hCiB7CiAgICAgVHJhbnNmb3JtYXRpb25NYXRyaXggYWRq
dXN0ZWRUcmFuc2Zvcm0gPSB0cmFuc2Zvcm0gKiBhZGp1c3RlZFRyYW5zZm9ybUZvclJlY3QodGFy
Z2V0UmVjdCk7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBtX3RpbGVzLnNpemUoKTsgKytp
KQotICAgICAgICB0ZXh0dXJlTWFwcGVyLT5kcmF3UmVwYWludENvdW50ZXIocmVwYWludENvdW50
LCBib3JkZXJDb2xvciwgbV90aWxlc1tpXS5yZWN0KCkubG9jYXRpb24oKSwgYWRqdXN0ZWRUcmFu
c2Zvcm0pOworICAgICAgICB0ZXh0dXJlTWFwcGVyLT5kcmF3TnVtYmVyKHJlcGFpbnRDb3VudCwg
Ym9yZGVyQ29sb3IsIG1fdGlsZXNbaV0ucmVjdCgpLmxvY2F0aW9uKCksIGFkanVzdGVkVHJhbnNm
b3JtKTsKIH0KIAogdm9pZCBUZXh0dXJlTWFwcGVyVGlsZWRCYWNraW5nU3RvcmU6OmNyZWF0ZU9y
RGVzdHJveVRpbGVzSWZOZWVkZWQoY29uc3QgRmxvYXRTaXplJiBzaXplLCBjb25zdCBJbnRTaXpl
JiB0aWxlU2l6ZSwgYm9vbCBoYXNBbHBoYSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEJhY2tpbmdTdG9y
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0
ZWQvQ29vcmRpbmF0ZWRCYWNraW5nU3RvcmUuY3BwCmluZGV4IDk1ZGEyYjhmYjVmNGE4ZDlkMmM5
ODc5ZTkzYWNiODVjMGYzYzliOGIuLjY4MTI5YzczZDJiNjBhODY0MzIyYzQ1ZjQ3YjBlMDEwZDMx
MmQ4MzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1h
cC9jb29yZGluYXRlZC9Db29yZGluYXRlZEJhY2tpbmdTdG9yZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkQmFj
a2luZ1N0b3JlLmNwcApAQCAtMTY5LDcgKzE2OSw3IEBAIHZvaWQgQ29vcmRpbmF0ZWRCYWNraW5n
U3RvcmU6OmRyYXdSZXBhaW50Q291bnRlcihUZXh0dXJlTWFwcGVyKiB0ZXh0dXJlTWFwcGVyLCBp
CiAgICAgVHJhbnNmb3JtYXRpb25NYXRyaXggYWRqdXN0ZWRUcmFuc2Zvcm0gPSB0cmFuc2Zvcm0g
KiBhZGp1c3RlZFRyYW5zZm9ybUZvclJlY3QodGFyZ2V0UmVjdCk7CiAgICAgQ29vcmRpbmF0ZWRC
YWNraW5nU3RvcmVUaWxlTWFwOjppdGVyYXRvciBlbmQgPSBtX3RpbGVzLmVuZCgpOwogICAgIGZv
ciAoQ29vcmRpbmF0ZWRCYWNraW5nU3RvcmVUaWxlTWFwOjppdGVyYXRvciBpdCA9IG1fdGlsZXMu
YmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KQotICAgICAgICB0ZXh0dXJlTWFwcGVyLT5kcmF3UmVw
YWludENvdW50ZXIocmVwYWludENvdW50LCBib3JkZXJDb2xvciwgaXQtPnZhbHVlLnJlY3QoKS5s
b2NhdGlvbigpLCBhZGp1c3RlZFRyYW5zZm9ybSk7CisgICAgICAgIHRleHR1cmVNYXBwZXItPmRy
YXdOdW1iZXIocmVwYWludENvdW50LCBib3JkZXJDb2xvciwgaXQtPnZhbHVlLnJlY3QoKS5sb2Nh
dGlvbigpLCBhZGp1c3RlZFRyYW5zZm9ybSk7CiB9CiAKIHZvaWQgQ29vcmRpbmF0ZWRCYWNraW5n
U3RvcmU6OmNvbW1pdFRpbGVPcGVyYXRpb25zKFRleHR1cmVNYXBwZXIqIHRleHR1cmVNYXBwZXIp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29v
cmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzU2Nl
bmUuY3BwCmluZGV4IDU5MTBhOWExNGMwM2M3N2JlZTgzMWExYTlmMzFlMzFhMzEzYzQwOTkuLjEw
M2VkMWRlZmVjYTQwZmRjYWM2MTVmMjk3NTA3N2U3NTljMGRkYjIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRl
ZEdyYXBoaWNzU2NlbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzU2NlbmUuY3BwCkBAIC0zMiw3
ICszMiw2IEBACiAjaW5jbHVkZSAiVGV4dHVyZU1hcHBlckxheWVyLmgiCiAjaW5jbHVkZSA8T3Bl
bkdMU2hpbXMuaD4KICNpbmNsdWRlIDx3dGYvQXRvbWljcy5oPgotI2luY2x1ZGUgPHd0Zi9DdXJy
ZW50VGltZS5oPgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CiAKICNpZiBFTkFCTEUoQ1NT
X1NIQURFUlMpCkBAIC02NywyMSArNjYsOCBAQCBDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6OkNv
b3JkaW5hdGVkR3JhcGhpY3NTY2VuZShDb29yZGluYXRlZEdyYXBoaWNzU2NlbmVDbGllbgogI2Vu
ZGlmCiAgICAgLCBtX2JhY2tncm91bmRDb2xvcihDb2xvcjo6d2hpdGUpCiAgICAgLCBtX3NldERy
YXdzQmFja2dyb3VuZChmYWxzZSkKLSAgICAsIG1faXNTaG93aW5nRlBTKGZhbHNlKQotICAgICwg
bV9mcHNJbnRlcnZhbCgwKQotICAgICwgbV9mcHNUaW1lc3RhbXAoMCkKLSAgICAsIG1fbGFzdEZQ
UygwKQotICAgICwgbV9mcmFtZUNvdW50KDApCiB7CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgp
KTsKLQotICAgIFN0cmluZyBzaG93RlBTRW52aXJvbm1lbnQgPSBnZXRlbnYoIldFQktJVF9TSE9X
X0ZQUyIpOwotICAgIGJvb2wgb2sgPSBmYWxzZTsKLSAgICBtX2Zwc0ludGVydmFsID0gc2hvd0ZQ
U0Vudmlyb25tZW50LnRvRG91YmxlKCZvayk7Ci0gICAgaWYgKG9rICYmIG1fZnBzSW50ZXJ2YWwp
IHsKLSAgICAgICAgbV9pc1Nob3dpbmdGUFMgPSB0cnVlOwotICAgICAgICBtX2Zwc1RpbWVzdGFt
cCA9IFdURjo6Y3VycmVudFRpbWUoKTsKLSAgICB9CiB9CiAKIENvb3JkaW5hdGVkR3JhcGhpY3NT
Y2VuZTo6fkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZSgpCkBAIC0xMjgsOCArMTE0LDcgQEAgdm9p
ZCBDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6OnBhaW50VG9DdXJyZW50R0xDb250ZXh0KGNvbnN0
IFRyYW5zZm9ybWF0aW9uTWF0cmkKICAgICB9CiAKICAgICBsYXllci0+cGFpbnQoKTsKLSAgICBp
ZiAobV9pc1Nob3dpbmdGUFMpCi0gICAgICAgIHVwZGF0ZUZQUyhjbGlwUmVjdC5sb2NhdGlvbigp
LCBtYXRyaXgpOworICAgIG1fZnBzQ291bnRlci51cGRhdGVGUFNBbmREaXNwbGF5KG1fdGV4dHVy
ZU1hcHBlci5nZXQoKSwgY2xpcFJlY3QubG9jYXRpb24oKSwgbWF0cml4KTsKICAgICBtX3RleHR1
cmVNYXBwZXItPmVuZENsaXAoKTsKICAgICBtX3RleHR1cmVNYXBwZXItPmVuZFBhaW50aW5nKCk7
CiAKQEAgLTE4Miw4ICsxNjcsNyBAQCB2b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6cGFp
bnRUb0dyYXBoaWNzQ29udGV4dChjYWlyb190KiBwYWludGVyKQogICAgICAgICBtX3RleHR1cmVN
YXBwZXItPmRyYXdTb2xpZENvbG9yKGNsaXBSZWN0LCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCgpLCBt
X2JhY2tncm91bmRDb2xvcik7CiAKICAgICBsYXllci0+cGFpbnQoKTsKLSAgICBpZiAobV9pc1No
b3dpbmdGUFMpCi0gICAgICAgIHVwZGF0ZUZQUyhjbGlwUmVjdC5sb2NhdGlvbigpKTsKKyAgICBt
X2Zwc0NvdW50ZXIudXBkYXRlRlBTQW5kRGlzcGxheShtX3RleHR1cmVNYXBwZXIuZ2V0KCksIGNs
aXBSZWN0LmxvY2F0aW9uKCkpOwogICAgIG1fdGV4dHVyZU1hcHBlci0+ZW5kUGFpbnRpbmcoKTsK
ICAgICBtX3RleHR1cmVNYXBwZXItPnNldEdyYXBoaWNzQ29udGV4dCgwKTsKIH0KQEAgLTY5NSwy
MCArNjc5LDYgQEAgdm9pZCBDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6OnNldEJhY2tncm91bmRD
b2xvcihjb25zdCBDb2xvciYgY29sb3IpCiAgICAgbV9iYWNrZ3JvdW5kQ29sb3IgPSBjb2xvcjsK
IH0KIAotdm9pZCBDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6OnVwZGF0ZUZQUyhjb25zdCBGbG9h
dFBvaW50JiBsb2NhdGlvbiwgY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIG1hdHJpeCkKLXsK
LSAgICBtX2ZyYW1lQ291bnQrKzsKLSAgICBkb3VibGUgZGVsdGEgPSBXVEY6OmN1cnJlbnRUaW1l
KCkgLSBtX2Zwc1RpbWVzdGFtcDsKLSAgICBpZiAoZGVsdGEgPj0gbV9mcHNJbnRlcnZhbCkgewot
ICAgICAgICBtX2xhc3RGUFMgPSBpbnQobV9mcmFtZUNvdW50IC8gZGVsdGEpOwotICAgICAgICBt
X2ZyYW1lQ291bnQgPSAwOwotICAgICAgICBtX2Zwc1RpbWVzdGFtcCArPSBkZWx0YTsKLSAgICB9
Ci0KLSAgICAvLyBGSVhNRTogZHJhd1JlcGFpbnRDb3VudGVyKCkgc2hvdWxkIHNhdmUgYSB0ZXh0
dXJlIGFuZCByZS11c2Ugd2hlbmV2ZXIgcG9zc2libGUuCi0gICAgbV90ZXh0dXJlTWFwcGVyLT5k
cmF3UmVwYWludENvdW50ZXIobV9sYXN0RlBTLCBDb2xvcjo6YmxhY2ssIGxvY2F0aW9uLCBtYXRy
aXgpOwotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBVU0UoQ09PUkRJ
TkFURURfR1JBUEhJQ1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0
ZWRHcmFwaGljc1NjZW5lLmgKaW5kZXggYjI1ZDAwZDMwMjc1YTZjYjVmYjRhY2I5NzZjYmFhZjY3
MTk0OWY0OC4uODZhZTM2Y2U1MTBmNDJiMzVjOGQzYWZkODk3OGRhNGQ2ZmNhYTBmNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVk
L0Nvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzU2NlbmUuaApA
QCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgIlJ1bkxvb3AuaCIKICNpbmNsdWRlICJUZXh0dXJl
TWFwcGVyLmgiCiAjaW5jbHVkZSAiVGV4dHVyZU1hcHBlckJhY2tpbmdTdG9yZS5oIgorI2luY2x1
ZGUgIlRleHR1cmVNYXBwZXJGUFNDb3VudGVyLmgiCiAjaW5jbHVkZSAiVGltZXIuaCIKICNpbmNs
dWRlIDx3dGYvRnVuY3Rpb25hbC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CkBAIC0xNzIs
OCArMTczLDYgQEAgcHJpdmF0ZToKICAgICB2b2lkIHJlbW92ZUJhY2tpbmdTdG9yZUlmTmVlZGVk
KEdyYXBoaWNzTGF5ZXIqKTsKICAgICB2b2lkIHJlc2V0QmFja2luZ1N0b3JlU2l6ZVRvTGF5ZXJT
aXplKEdyYXBoaWNzTGF5ZXIqKTsKIAotICAgIHZvaWQgdXBkYXRlRlBTKGNvbnN0IEZsb2F0UG9p
bnQmLCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgPSBUcmFuc2Zvcm1hdGlvbk1hdHJpeCgp
KTsKLQogICAgIC8vIFJlbmRlciBxdWV1ZSBjYW4gYmUgYWNjZXNzZWQgb255IGZyb20gbWFpbiB0
aHJlYWQgb3IgdXBkYXRlUGFpbnROb2RlIGNhbGwgc3RhY2shCiAgICAgVmVjdG9yPEZ1bmN0aW9u
PHZvaWQoKT4gPiBtX3JlbmRlclF1ZXVlOwogICAgIE11dGV4IG1fcmVuZGVyUXVldWVNdXRleDsK
QEAgLTIyMiwxMSArMjIxLDcgQEAgcHJpdmF0ZToKICAgICBDdXN0b21GaWx0ZXJQcm9ncmFtTWFw
IG1fY3VzdG9tRmlsdGVyUHJvZ3JhbXM7CiAjZW5kaWYKIAotICAgIGJvb2wgbV9pc1Nob3dpbmdG
UFM7Ci0gICAgZG91YmxlIG1fZnBzSW50ZXJ2YWw7Ci0gICAgZG91YmxlIG1fZnBzVGltZXN0YW1w
OwotICAgIGludCBtX2xhc3RGUFM7Ci0gICAgaW50IG1fZnJhbWVDb3VudDsKKyAgICBUZXh0dXJl
TWFwcGVyRlBTQ291bnRlciBtX2Zwc0NvdW50ZXI7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9BY2NlbGVy
YXRlZENvbXBvc2l0aW5nQ29udGV4dEVmbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3Jl
U3VwcG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dEVmbC5jcHAKaW5kZXggOGEzYTI0
OWJlMjAwYmVmMzU5MmZjYThjNGJkMDBiNDUzYWMzYmRiMy4uOTk2OTI2MjJhYWQxMDI2MGMwYTYw
NmU1ZTNkYTYxMDY4YzY2NDdhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29y
ZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHRFZmwuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0
RWZsLmNwcApAQCAtODksNiArODksNyBAQCB2b2lkIEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250
ZXh0OjpyZW5kZXJMYXllcnMoKQogCiAgICAgbV90ZXh0dXJlTWFwcGVyLT5iZWdpblBhaW50aW5n
KCk7CiAgICAgbV9yb290VGV4dHVyZU1hcHBlckxheWVyLT5wYWludCgpOworICAgIG1fZnBzQ291
bnRlci51cGRhdGVGUFNBbmREaXNwbGF5KG1fdGV4dHVyZU1hcHBlci5nZXQoKSk7CiAgICAgbV90
ZXh0dXJlTWFwcGVyLT5lbmRQYWludGluZygpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dEVmbC5o
IGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3NpdGlu
Z0NvbnRleHRFZmwuaAppbmRleCA1MGI4OWI5Y2FjMzMyNzY4ZGMzNDM5NWFjZTRiODVjNWI0NGUw
YjU1Li5kMjg2OWE0OGQ2ODYzNWQ5MWU3YWFkMGUzZDcyZmNhNTVhNTYzNjQ4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0aW5n
Q29udGV4dEVmbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0FjY2Vs
ZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0RWZsLmgKQEAgLTI1LDYgKzI1LDcgQEAKIAogI2lmIFVT
RShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykgJiYgVVNFKFRFWFRVUkVfTUFQUEVSX0dMKQogCisj
aW5jbHVkZSAiVGV4dHVyZU1hcHBlckZQU0NvdW50ZXIuaCIKICNpbmNsdWRlICJld2tfcHJpdmF0
ZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC01Niw2ICs1Nyw3IEBAIHByaXZhdGU6CiAg
ICAgVGV4dHVyZU1hcHBlckxheWVyKiBtX3Jvb3RUZXh0dXJlTWFwcGVyTGF5ZXI7CiAKICAgICBS
ZWZQdHI8R3JhcGhpY3NDb250ZXh0M0Q+IG1fY29udGV4dDNEOworICAgIFRleHR1cmVNYXBwZXJG
UFNDb3VudGVyIG1fZnBzQ291bnRlcjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0FjY2VsZXJhdGVkQ29t
cG9zaXRpbmdDb250ZXh0LmggYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9BY2Nl
bGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dC5oCmluZGV4IGIwZjk3NDM0ZGI4ODQ2MTY4ZWI0Njc0
MzAwOTAxZmMyMjU0MDIyYWEuLjJhYjA1MmU0YWYxOTA5MTVkOTkzNGQxOGNhYjI0YzYwYzJlNzJm
MTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0FjY2VsZXJh
dGVkQ29tcG9zaXRpbmdDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1
cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQuaApAQCAtMzQsNiArMzQsNyBAQAog
I2lmIFVTRShURVhUVVJFX01BUFBFUl9HTCkKICNpbmNsdWRlICJHTENvbnRleHQuaCIKICNpbmNs
dWRlICJSZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvdy5oIgorI2luY2x1ZGUgIlRleHR1cmVNYXBw
ZXJGUFNDb3VudGVyLmgiCiAjZW5kaWYKIAogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElO
RykKQEAgLTg4LDYgKzg5LDcgQEAgcHJpdmF0ZToKICAgICBkb3VibGUgbV9sYXN0Rmx1c2hUaW1l
OwogICAgIGRvdWJsZSBtX3JlZHJhd1BlbmRpbmdUaW1lOwogICAgIGJvb2wgbV9uZWVkc0V4dHJh
Rmx1c2g7CisgICAgV2ViQ29yZTo6VGV4dHVyZU1hcHBlckZQU0NvdW50ZXIgbV9mcHNDb3VudGVy
OwogCiAgICAgdm9pZCBsYXllckZsdXNoVGltZXJGaXJlZCgpOwogICAgIHZvaWQgc3RvcEFueVBl
bmRpbmdMYXllckZsdXNoKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3Jl
U3VwcG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dEdMLmNwcCBiL1NvdXJjZS9XZWJL
aXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0R0wuY3Bw
CmluZGV4IGMyM2RlNjJhMTBhMWMxNDFlNzRhMGQzMjIwM2U0NTkzYmRmODIwNzEuLjkyYTA1MmQz
YThjY2QwMGQ5NTFlMGIwZWFhYTYyOWJjYmU3MWMxNzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0R0wuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0FjY2VsZXJhdGVkQ29tcG9z
aXRpbmdDb250ZXh0R0wuY3BwCkBAIC0xODksNiArMTg5LDcgQEAgdm9pZCBBY2NlbGVyYXRlZENv
bXBvc2l0aW5nQ29udGV4dDo6Y29tcG9zaXRlTGF5ZXJzVG9Db250ZXh0KENvbXBvc2l0ZVB1cnBv
c2UgcHUKIAogICAgIG1fdGV4dHVyZU1hcHBlci0+YmVnaW5QYWludGluZygpOwogICAgIHRvVGV4
dHVyZU1hcHBlckxheWVyKG1fcm9vdExheWVyLmdldCgpKS0+cGFpbnQoKTsKKyAgICBtX2Zwc0Nv
dW50ZXIudXBkYXRlRlBTQW5kRGlzcGxheShtX3RleHR1cmVNYXBwZXIuZ2V0KCkpOwogICAgIG1f
dGV4dHVyZU1hcHBlci0+ZW5kUGFpbnRpbmcoKTsKIAogICAgIGNvbnRleHQtPnN3YXBCdWZmZXJz
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1RleHR1cmVN
YXBwZXJMYXllckNsaWVudFF0LmNwcCBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQv
VGV4dHVyZU1hcHBlckxheWVyQ2xpZW50UXQuY3BwCmluZGV4IDY2YjhkMGY5NmQ0YTcyNjZlMTZk
YmRjYWUxYTliZjU4ZjMxOTg3MDguLjM3MTQ2M2Q1ODE3NzE0M2ZhNmUwOGQ5ZDRjNDY4NjI4Yjg1
NGVmOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvVGV4dHVy
ZU1hcHBlckxheWVyQ2xpZW50UXQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1
cHBvcnQvVGV4dHVyZU1hcHBlckxheWVyQ2xpZW50UXQuY3BwCkBAIC0xMjIsNiArMTIyLDcgQEAg
dm9pZCBUZXh0dXJlTWFwcGVyTGF5ZXJDbGllbnRRdDo6cmVuZGVyQ29tcG9zaXRlZExheWVycyhH
cmFwaGljc0NvbnRleHQqIGNvbnRleHQKICAgICBtX3RleHR1cmVNYXBwZXItPmJlZ2luUGFpbnRp
bmcoKTsKICAgICBtX3RleHR1cmVNYXBwZXItPmJlZ2luQ2xpcChtYXRyaXgsIGNsaXApOwogICAg
IG1fcm9vdFRleHR1cmVNYXBwZXJMYXllci0+cGFpbnQoKTsKKyAgICBtX2Zwc0NvdW50ZXIudXBk
YXRlRlBTQW5kRGlzcGxheShtX3RleHR1cmVNYXBwZXIuZ2V0KCksIEludFBvaW50Ojp6ZXJvKCks
IG1hdHJpeCk7CiAgICAgbV90ZXh0dXJlTWFwcGVyLT5lbmRDbGlwKCk7CiAgICAgbV90ZXh0dXJl
TWFwcGVyLT5lbmRQYWludGluZygpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9X
ZWJDb3JlU3VwcG9ydC9UZXh0dXJlTWFwcGVyTGF5ZXJDbGllbnRRdC5oIGIvU291cmNlL1dlYktp
dC9xdC9XZWJDb3JlU3VwcG9ydC9UZXh0dXJlTWFwcGVyTGF5ZXJDbGllbnRRdC5oCmluZGV4IDY3
MzI4Y2M5OWNjZWRlNmJjZDNjMzlkMGE5YTU3ZGFhYzcwYTgzNzUuLjJmZmI1ZjBhYTQ2Yjc4NjYx
YTg3NzFjNTk1NWU5NjEyOWE4ZDVlNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvV2Vi
Q29yZVN1cHBvcnQvVGV4dHVyZU1hcHBlckxheWVyQ2xpZW50UXQuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L3F0L1dlYkNvcmVTdXBwb3J0L1RleHR1cmVNYXBwZXJMYXllckNsaWVudFF0LmgKQEAgLTI1
LDYgKzI1LDcgQEAgY2xhc3MgUVdlYkZyYW1lQWRhcHRlcjsKIAogI2luY2x1ZGUgIkdyYXBoaWNz
TGF5ZXIuaCIKICNpbmNsdWRlICJUZXh0dXJlTWFwcGVyLmgiCisjaW5jbHVkZSAiVGV4dHVyZU1h
cHBlckZQU0NvdW50ZXIuaCIKICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUgPHd0Zi9Pd25Q
dHIuaD4KIApAQCAtNTMsNiArNTQsNyBAQCBwcml2YXRlOgogICAgIFRpbWVyPFRleHR1cmVNYXBw
ZXJMYXllckNsaWVudFF0PiBtX3N5bmNUaW1lcjsKICAgICBXZWJDb3JlOjpUZXh0dXJlTWFwcGVy
TGF5ZXIqIG1fcm9vdFRleHR1cmVNYXBwZXJMYXllcjsKICAgICBPd25QdHI8V2ViQ29yZTo6VGV4
dHVyZU1hcHBlcj4gbV90ZXh0dXJlTWFwcGVyOworICAgIFdlYkNvcmU6OlRleHR1cmVNYXBwZXJG
UFNDb3VudGVyIG1fZnBzQ291bnRlcjsKIH07CiAjZW5kaWYKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>187832</attachid>
            <date>2013-02-12 04:47:04 -0800</date>
            <delta_ts>2013-02-12 05:50:59 -0800</delta_ts>
            <desc>Complementary patch (basysKom copyright)</desc>
            <filename>bug-109540-20130212084333.patch</filename>
            <type>text/plain</type>
            <size>2256</size>
            <attacher name="Bruno Abinader (history only)">bruno.abinader</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyNjAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzk5MTNjNWUwMTY0NTc4
NWNhMzBkZjAyODQ2ZDNiM2YzMDVmMDI0Yi4uODMyYmMyZjRmODhlZmNkYjk5ODdmNWUzMmE2MTZl
N2E3YTU3MTIzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEzLTAyLTEyICBCcnVu
byBkZSBPbGl2ZWlyYSBBYmluYWRlciAgPGJydW5vLmFiaW5hZGVyQGJhc3lza29tLmNvbT4KKwor
ICAgICAgICBbVGV4TWFwXSBBcHBseSBmcmFtZXMtcGVyLXNlY29uZCBkZWJ1ZyBjb3VudGVyIHRv
IFdLMS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEw
OTU0MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZHMgYmFzeXNLb20gY29weXJpZ2h0IGluZm8gdG8gVGV4dHVyZU1hcHBlckZQU0NvdW50ZXIgaGVh
ZGVyLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJG
UFNDb3VudGVyLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVy
ZU1hcHBlckZQU0NvdW50ZXIuaDoKKwogMjAxMy0wMi0xMiAgQW5kcmV5IEtvc3lha292ICA8Y2Fz
ZXFAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IGZpeCBjbG9zdXJlIGNv
bXBpbGVyIHdhcm5pbmdzIGluIGV4dGVuc2lvbiBzZXJ2ZXIgYW5kIEFQSQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJGUFND
b3VudGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0
dXJlTWFwcGVyRlBTQ291bnRlci5jcHAKaW5kZXggYmQ1ZWUwMzFhNzM3ZGExNjY5NmY4YmEyZTRk
ZGYwNmFiNTA1ZjFjNS4uMDZhNzViMjEzZjdjMmNmNTIyYWFkMTUxYzRmOWU2YTViY2I2ODdjMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1
cmVNYXBwZXJGUFNDb3VudGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckZQU0NvdW50ZXIuY3BwCkBAIC0xLDYgKzEsNyBAQAog
LyoKICAgICBDb3B5cmlnaHQgKEMpIDIwMTIgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBz
dWJzaWRpYXJ5KC1pZXMpCiAgICAgQ29weXJpZ2h0IChDKSAyMDEyLCAyMDEzIENvbXBhbnkgMTAw
LCBJbmMuCisgICAgQ29weXJpZ2h0IChDKSAyMDEyLCAyMDEzIGJhc3lzS29tIEdtYkgKIAogICAg
IFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh
bmQvb3IKICAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvdGV4bWFwL1RleHR1cmVNYXBwZXJGUFNDb3VudGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckZQU0NvdW50ZXIuaAppbmRleCA5NmZh
YjE3OWUyNjRkYTYzZTQ4Nzc1Y2NkZDcwMTNiZWVjZGQ2ZjM4Li40NjE2MWY3ZmM2MjYyZTUwMWRj
ZmY0MDc1OTUzMmViZmE5OTZiNTE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckZQU0NvdW50ZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckZQU0NvdW50ZXIu
aApAQCAtMSw2ICsxLDcgQEAKIC8qCiAgICAgQ29weXJpZ2h0IChDKSAyMDEyIE5va2lhIENvcnBv
cmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQogICAgIENvcHlyaWdodCAoQykgMjAx
MiwgMjAxMyBDb21wYW55IDEwMCwgSW5jLgorICAgIENvcHlyaWdodCAoQykgMjAxMiwgMjAxMyBi
YXN5c0tvbSBHbWJICiAKICAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh
biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBv
ZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMK
</data>

          </attachment>
      

    </bug>

</bugzilla>