<?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>88826</bug_id>
          
          <creation_ts>2012-06-11 17:52:57 -0700</creation_ts>
          <short_desc>[chromium] Create a CCStreamVideoDrawQuad used for StreamTexture video output</short_desc>
          <delta_ts>2012-06-13 17:38:21 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <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>88814</dependson>
          <blocked>88828</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dana Jansens">danakj</reporter>
          <assigned_to name="Dana Jansens">danakj</assigned_to>
          <cc>cc-bugs</cc>
    
    <cc>enne</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>fischman</cc>
    
    <cc>jamesr</cc>
    
    <cc>piman</cc>
    
    <cc>qinmin</cc>
    
    <cc>sievers</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>wjmaclean</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>646488</commentid>
    <comment_count>0</comment_count>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-06-11 17:52:57 -0700</bug_when>
    <thetext>[chromium] Create a CCStreamVideoDrawQuad used for StreamTexture video output</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>646497</commentid>
    <comment_count>1</comment_count>
      <attachid>146982</attachid>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-06-11 18:00:34 -0700</bug_when>
    <thetext>Created attachment 146982
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>646500</commentid>
    <comment_count>2</comment_count>
      <attachid>146982</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-06-11 18:03:50 -0700</bug_when>
    <thetext>Comment on attachment 146982
Patch

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

&gt; Source/WebCore/ChangeLog:16
&gt; +        No new tests, no change in behaviour.

I&apos;m a teensy bit nervous about this - have you had a chance to smoke test this on a device that uses the stream video texture path and made sure everything works as expected (we have no automated tests covering this path)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>646503</commentid>
    <comment_count>3</comment_count>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-06-11 18:05:26 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 146982 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=146982&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:16
&gt; &gt; +        No new tests, no change in behaviour.
&gt; 
&gt; I&apos;m a teensy bit nervous about this - have you had a chance to smoke test this on a device that uses the stream video texture path and made sure everything works as expected (we have no automated tests covering this path)?

Right, there is no upstream code that calls this path right now, is there? That makes it difficult (or impossible) for me to test this right now.. Is it worth going to the effort to make that possible?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>646507</commentid>
    <comment_count>4</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-06-11 18:06:58 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (In reply to comment #2)
&gt; &gt; (From update of attachment 146982 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=146982&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/ChangeLog:16
&gt; &gt; &gt; +        No new tests, no change in behaviour.
&gt; &gt; 
&gt; &gt; I&apos;m a teensy bit nervous about this - have you had a chance to smoke test this on a device that uses the stream video texture path and made sure everything works as expected (we have no automated tests covering this path)?
&gt; 
&gt; Right, there is no upstream code that calls this path right now, is there? That makes it difficult (or impossible) for me to test this right now.. Is it worth going to the effort to make that possible?

I was hoping you could use non-upstream code or ask someone else to do so.  They aren&apos;t upstream so in one sense they get what they deserve, but I think it&apos;s worth making an attempt at keeping this path working if possible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>647173</commentid>
    <comment_count>5</comment_count>
      <attachid>146982</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-06-12 12:24:28 -0700</bug_when>
    <thetext>Comment on attachment 146982
Patch

R=me.  These changes all look good.  It&apos;s sad that Android gives us a full 4x4 matrix when they&apos;re probably not using anything but scale and translation and we have to treat it opaquely.

Before landing, I&apos;d like qinmin to chime in here.  If they have time to test this downstream, that&apos;d be great.  Or, if they think it looks reasonable as-is and are willing to just fix any issues when merging, that&apos;s fine too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>647495</commentid>
    <comment_count>6</comment_count>
    <who name="Min Qin">qinmin</who>
    <bug_when>2012-06-12 17:03:17 -0700</bug_when>
    <thetext>There are quite some dependencies, and the webkit tree for chrome on android is several weeks behind. Not sure whether we are able to test this easily</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>647531</commentid>
    <comment_count>7</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-06-12 17:34:48 -0700</bug_when>
    <thetext>OK, well when you do catch up please let us know if this explodes.  I think we&apos;ll have to just move on optimistically.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>647580</commentid>
    <comment_count>8</comment_count>
    <who name="Min Qin">qinmin</who>
    <bug_when>2012-06-12 18:42:49 -0700</bug_when>
    <thetext>Though I have no easy way to test this, I checked the current diff between our downstream code and this patch and I think the patch looks good. 
If there are any problems when we merge the patch, it should not be difficult to fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648047</commentid>
    <comment_count>9</comment_count>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-06-13 08:18:42 -0700</bug_when>
    <thetext>Thanks Min</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648049</commentid>
    <comment_count>10</comment_count>
      <attachid>147320</attachid>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-06-13 08:22:02 -0700</bug_when>
    <thetext>Created attachment 147320
Patch

rebase</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648618</commentid>
    <comment_count>11</comment_count>
      <attachid>147320</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-13 17:38:16 -0700</bug_when>
    <thetext>Comment on attachment 147320
Patch

Clearing flags on attachment: 147320

Committed r120263: &lt;http://trac.webkit.org/changeset/120263&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648619</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-13 17:38:21 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>146982</attachid>
            <date>2012-06-11 18:00:34 -0700</date>
            <delta_ts>2012-06-13 08:21:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-88826-20120611210033.patch</filename>
            <type>text/plain</type>
            <size>19192</size>
            <attacher name="Dana Jansens">danakj</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwMDE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjE3OGY5ODFkNDFlYzdj
ZDI3MjkyODY0MTJiZGY5ZmFhN2U1MWI0NC4uYWE0NjhiZjI1ZTg5OTFiOTU5MjdkZDlhNjNlYWNi
Mjg2YmY4MGUyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDU0IEBACiAyMDEyLTA2LTExICBEYW5h
IEphbnNlbnMgIDxkYW5ha2pAY2hyb21pdW0ub3JnPgogCisgICAgICAgIFtjaHJvbWl1bV0gQ3Jl
YXRlIGEgQ0NTdHJlYW1WaWRlb0RyYXdRdWFkIHVzZWQgZm9yIFN0cmVhbVRleHR1cmUgdmlkZW8g
b3V0cHV0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04
ODgyNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJl
bW92ZSB0aGUgbWF0cml4IGZyb20gdGhlIENDVmlkZW9EcmF3UXVhZCwgYW5kIGNyZWF0ZSBhIG5l
dyBxdWFkCisgICAgICAgIHNwZWNpZmljYWxseSBmb3IgU3RyZWFtVGV4dHVyZSB2aWRlbyBkZWNv
ZGVyIG91dHB1dC4gVGhpcyBxdWFkCisgICAgICAgIGNvbnRhaW5zIG9ubHkgdGhlIGZpZWxkcyBu
ZWVkZWQgZm9yIGRpc3BsYXkgLSB0ZXh0dXJlSWQgYW5kIHRoZQorICAgICAgICBtYXRyaXggdG8g
YmUgYXBwbGllZCB0byB0ZXh0dXJlIGNvb3Jkcy4KKworICAgICAgICBSZW1vdmVzIHRoZSAoMCwg
MCwgMSwgMSkgInRyYW5zZm9ybSIgZnJvbSB0aGUgc2hhZGVyIHVzZWQgZm9yIHRoZXNlCisgICAg
ICAgIHF1YWRzLCBhcyBpdCB3YXMgYSBuby1vcC4KKworICAgICAgICBObyBuZXcgdGVzdHMsIG5v
IGNoYW5nZSBpbiBiZWhhdmlvdXIuCisKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJhd1F1YWQpOgorICAg
ICAgICAoV2ViQ29yZTo6TGF5ZXJSZW5kZXJlckNocm9taXVtOjpkcmF3U3RyZWFtVmlkZW9RdWFk
KToKKyAgICAgICAgKFdlYkNvcmU6OkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJhd1ZpZGVvUXVh
ZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNo
cm9taXVtLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKExheWVyUmVuZGVyZXJDaHJv
bWl1bSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vU2hhZGVyQ2hyb21p
dW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6VmVydGV4U2hhZGVyVmlkZW9UcmFuc2Zvcm06OlZl
cnRleFNoYWRlclZpZGVvVHJhbnNmb3JtKToKKyAgICAgICAgKFdlYkNvcmU6OlZlcnRleFNoYWRl
clZpZGVvVHJhbnNmb3JtOjppbml0KToKKyAgICAgICAgKFdlYkNvcmU6OlZlcnRleFNoYWRlclZp
ZGVvVHJhbnNmb3JtOjpnZXRTaGFkZXJTdHJpbmcpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL1NoYWRlckNocm9taXVtLmg6CisgICAgICAgIChWZXJ0ZXhTaGFkZXJWaWRl
b1RyYW5zZm9ybSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NE
cmF3UXVhZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDQ0RyYXdRdWFkOjp0b1N0cmVhbVZpZGVv
RHJhd1F1YWQpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vY2MvQ0NEcmF3UXVhZC5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAg
IChDQ0RyYXdRdWFkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9D
Q1N0cmVhbVZpZGVvRHJhd1F1YWQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAoV2ViQ29yZTo6Q0NTdHJlYW1WaWRlb0RyYXdRdWFkOjpjcmVhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6Q0NTdHJlYW1WaWRlb0RyYXdRdWFkOjpDQ1N0cmVhbVZpZGVvRHJhd1F1YWQpOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU3RyZWFtVmlkZW9EcmF3
UXVhZC5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoQ0NTdHJlYW1WaWRl
b0RyYXdRdWFkKToKKyAgICAgICAgKFdlYkNvcmU6OkNDU3RyZWFtVmlkZW9EcmF3UXVhZDo6dGV4
dHVyZUlkKToKKyAgICAgICAgKFdlYkNvcmU6OkNDU3RyZWFtVmlkZW9EcmF3UXVhZDo6bWF0cml4
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1ZpZGVvTGF5ZXJJ
bXBsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNDVmlkZW9MYXllckltcGw6OmFwcGVuZFF1YWRz
KToKKworMjAxMi0wNi0xMSAgRGFuYSBKYW5zZW5zICA8ZGFuYWtqQGNocm9taXVtLm9yZz4KKwog
ICAgICAgICBbY2hyb21pdW1dIFVzZSBUZXh0dXJlRHJhd1F1YWQgZm9yIHZpZGVvIGxheWVyIG91
dHB1dCB3aGVuIGl0IHByb2R1Y2VzIGEgc2luZ2xlIEdMIHRleHR1cmUKICAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg4ODE0CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpp
bmRleCA1MjM1MTIyZjkxY2M5YjFiY2U2OGUzY2VhYjRiMDNkMGVlMTg3NTEwLi5lOGEwNzFmMzA4
OGQxNTlkYzAwOTYzMzI2YTU0ODFiODA2MzJkYTZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0zNzU2
LDYgKzM3NTYsOCBAQAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2Nj
L0NDU29saWRDb2xvckRyYXdRdWFkLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL2NjL0NDU29saWRDb2xvckxheWVySW1wbC5jcHAnLAogICAgICAgICAgICAgJ3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU29saWRDb2xvckxheWVySW1wbC5oJywKKyAg
ICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1N0cmVhbVZpZGVvRHJh
d1F1YWQuY3BwJywKKyAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9D
Q1N0cmVhbVZpZGVvRHJhd1F1YWQuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vY2MvQ0NUZXh0dXJlRHJhd1F1YWQuY3BwJywKICAgICAgICAgICAgICdwbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1RleHR1cmVEcmF3UXVhZC5oJywKICAgICAgICAgICAg
ICdwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1RleHR1cmVMYXllckltcGwuY3BwJywK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xh
eWVyUmVuZGVyZXJDaHJvbWl1bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uY3BwCmluZGV4IDNlMjA4OGE4YWY5NThj
YzA0ZDUyZTVlMTg0YmJkNzYxMDk2ZmI3ZTMuLjI5Mzc1YTg2MzZhZTQ2OTI4ZTcxYjc2YWNlMGI2
N2NjZjk4YWVmM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmNwcApAQCAt
NjYsNiArNjYsNyBAQAogI2luY2x1ZGUgImNjL0NDUmVuZGVyU3VyZmFjZUZpbHRlcnMuaCIKICNp
bmNsdWRlICJjYy9DQ1NpbmdsZVRocmVhZFByb3h5LmgiCiAjaW5jbHVkZSAiY2MvQ0NTb2xpZENv
bG9yRHJhd1F1YWQuaCIKKyNpbmNsdWRlICJjYy9DQ1N0cmVhbVZpZGVvRHJhd1F1YWQuaCIKICNp
bmNsdWRlICJjYy9DQ1RleHR1cmVEcmF3UXVhZC5oIgogI2luY2x1ZGUgImNjL0NDVGlsZURyYXdR
dWFkLmgiCiAjaW5jbHVkZSAiY2MvQ0NWaWRlb0RyYXdRdWFkLmgiCkBAIC01MTUsNiArNTE2LDkg
QEAgdm9pZCBMYXllclJlbmRlcmVyQ2hyb21pdW06OmRyYXdRdWFkKGNvbnN0IENDRHJhd1F1YWQq
IHF1YWQpCiAgICAgY2FzZSBDQ0RyYXdRdWFkOjpTb2xpZENvbG9yOgogICAgICAgICBkcmF3U29s
aWRDb2xvclF1YWQocXVhZC0+dG9Tb2xpZENvbG9yRHJhd1F1YWQoKSk7CiAgICAgICAgIGJyZWFr
OworICAgIGNhc2UgQ0NEcmF3UXVhZDo6U3RyZWFtVmlkZW9Db250ZW50OgorICAgICAgICBkcmF3
U3RyZWFtVmlkZW9RdWFkKHF1YWQtPnRvU3RyZWFtVmlkZW9EcmF3UXVhZCgpKTsKKyAgICAgICAg
YnJlYWs7CiAgICAgY2FzZSBDQ0RyYXdRdWFkOjpUZXh0dXJlQ29udGVudDoKICAgICAgICAgZHJh
d1RleHR1cmVRdWFkKHF1YWQtPnRvVGV4dHVyZURyYXdRdWFkKCkpOwogICAgICAgICBicmVhazsK
QEAgLTEwMzgsNyArMTA0Miw3IEBAIHZvaWQgTGF5ZXJSZW5kZXJlckNocm9taXVtOjpkcmF3WVVW
KGNvbnN0IENDVmlkZW9EcmF3UXVhZCogcXVhZCkKICAgICBHTEMoY29udGV4dCgpLCBjb250ZXh0
KCktPmFjdGl2ZVRleHR1cmUoR3JhcGhpY3NDb250ZXh0M0Q6OlRFWFRVUkUwKSk7CiB9CiAKLXZv
aWQgTGF5ZXJSZW5kZXJlckNocm9taXVtOjpkcmF3U3RyZWFtVGV4dHVyZShjb25zdCBDQ1ZpZGVv
RHJhd1F1YWQqIHF1YWQpCit2b2lkIExheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJhd1N0cmVhbVZp
ZGVvUXVhZChjb25zdCBDQ1N0cmVhbVZpZGVvRHJhd1F1YWQqIHF1YWQpCiB7CiAgICAgc3RhdGlj
IGZsb2F0IGdsTWF0cml4WzE2XTsKIApAQCAtMTA1MSw5ICsxMDU1LDggQEAgdm9pZCBMYXllclJl
bmRlcmVyQ2hyb21pdW06OmRyYXdTdHJlYW1UZXh0dXJlKGNvbnN0IENDVmlkZW9EcmF3UXVhZCog
cXVhZCkKICAgICBHTEMoY29udGV4dCgpLCBjb250ZXh0KCktPnVuaWZvcm1NYXRyaXg0ZnYocHJv
Z3JhbS0+dmVydGV4U2hhZGVyKCkudGV4TWF0cml4TG9jYXRpb24oKSwgMSwgZmFsc2UsIGdsTWF0
cml4KSk7CiAKICAgICBHTEMoY29udGV4dCgpLCBjb250ZXh0KCktPmFjdGl2ZVRleHR1cmUoR3Jh
cGhpY3NDb250ZXh0M0Q6OlRFWFRVUkUwKSk7Ci0gICAgR0xDKGNvbnRleHQoKSwgY29udGV4dCgp
LT5iaW5kVGV4dHVyZShFeHRlbnNpb25zM0RDaHJvbWl1bTo6R0xfVEVYVFVSRV9FWFRFUk5BTF9P
RVMsIHF1YWQtPmZyYW1lUHJvdmlkZXJUZXh0dXJlSWQoKSkpOworICAgIEdMQyhjb250ZXh0KCks
IGNvbnRleHQoKS0+YmluZFRleHR1cmUoRXh0ZW5zaW9uczNEQ2hyb21pdW06OkdMX1RFWFRVUkVf
RVhURVJOQUxfT0VTLCBxdWFkLT50ZXh0dXJlSWQoKSkpOwogCi0gICAgR0xDKGNvbnRleHQoKSwg
Y29udGV4dCgpLT51bmlmb3JtNGYocHJvZ3JhbS0+dmVydGV4U2hhZGVyKCkudGV4VHJhbnNmb3Jt
TG9jYXRpb24oKSwgMCwgMCwgMSwgMSkpOwogICAgIEdMQyhjb250ZXh0KCksIGNvbnRleHQoKS0+
dW5pZm9ybTFpKHByb2dyYW0tPmZyYWdtZW50U2hhZGVyKCkuc2FtcGxlckxvY2F0aW9uKCksIDAp
KTsKIAogICAgIGNvbnN0IEludFNpemUmIGJvdW5kcyA9IHF1YWQtPnF1YWRSZWN0KCkuc2l6ZSgp
OwpAQCAtMTA3MSw5ICsxMDc0LDYgQEAgdm9pZCBMYXllclJlbmRlcmVyQ2hyb21pdW06OmRyYXdW
aWRlb1F1YWQoY29uc3QgQ0NWaWRlb0RyYXdRdWFkKiBxdWFkKQogICAgIGNhc2UgR3JhcGhpY3ND
b250ZXh0M0Q6OkxVTUlOQU5DRToKICAgICAgICAgZHJhd1lVVihxdWFkKTsKICAgICAgICAgYnJl
YWs7Ci0gICAgY2FzZSBFeHRlbnNpb25zM0RDaHJvbWl1bTo6R0xfVEVYVFVSRV9FWFRFUk5BTF9P
RVM6Ci0gICAgICAgIGRyYXdTdHJlYW1UZXh0dXJlKHF1YWQpOwotICAgICAgICBicmVhazsKICAg
ICBkZWZhdWx0OgogICAgICAgICBDUkFTSCgpOyAvLyBTb21lb25lIHVwZGF0ZWQgY29udmVydFZG
Q0Zvcm1hdFRvR0MzREZvcm1hdCBhYm92ZSBidXQgdXBkYXRlIHRoaXMhCiAgICAgfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5k
ZXJlckNocm9taXVtLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uaAppbmRleCBkNzNjMTUyNzQ0Y2E0YzNmMDRkMmMxMTY4
Zjc2MTcwYzhiOGM3YjM4Li5kNDU1ZTBlZmQzMzc1NWFkZDhhMzI4MmQxOTI3YjQ2ODk4MzU0ZDQ0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9M
YXllclJlbmRlcmVyQ2hyb21pdW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uaApAQCAtNDgsNiArNDgsNyBAQCBj
bGFzcyBDQ0RyYXdRdWFkOwogY2xhc3MgQ0NJT1N1cmZhY2VEcmF3UXVhZDsKIGNsYXNzIENDUmVu
ZGVyUGFzc0RyYXdRdWFkOwogY2xhc3MgQ0NTb2xpZENvbG9yRHJhd1F1YWQ7CitjbGFzcyBDQ1N0
cmVhbVZpZGVvRHJhd1F1YWQ7CiBjbGFzcyBDQ1RleHR1cmVEcmF3UXVhZDsKIGNsYXNzIENDVGls
ZURyYXdRdWFkOwogY2xhc3MgQ0NWaWRlb0RyYXdRdWFkOwpAQCAtMTMwLDYgKzEzMSw3IEBAIHBy
aXZhdGU6CiAgICAgdm9pZCBkcmF3QmFja2dyb3VuZEZpbHRlcnMoY29uc3QgQ0NSZW5kZXJQYXNz
RHJhd1F1YWQqLCBjb25zdCBXZWJLaXQ6OldlYlRyYW5zZm9ybWF0aW9uTWF0cml4JiBkZXZpY2VU
cmFuc2Zvcm0pOwogICAgIHZvaWQgZHJhd1JlbmRlclBhc3NRdWFkKGNvbnN0IENDUmVuZGVyUGFz
c0RyYXdRdWFkKik7CiAgICAgdm9pZCBkcmF3U29saWRDb2xvclF1YWQoY29uc3QgQ0NTb2xpZENv
bG9yRHJhd1F1YWQqKTsKKyAgICB2b2lkIGRyYXdTdHJlYW1WaWRlb1F1YWQoY29uc3QgQ0NTdHJl
YW1WaWRlb0RyYXdRdWFkKik7CiAgICAgdm9pZCBkcmF3VGV4dHVyZVF1YWQoY29uc3QgQ0NUZXh0
dXJlRHJhd1F1YWQqKTsKICAgICB2b2lkIGRyYXdJT1N1cmZhY2VRdWFkKGNvbnN0IENDSU9TdXJm
YWNlRHJhd1F1YWQqKTsKICAgICB2b2lkIGRyYXdUaWxlUXVhZChjb25zdCBDQ1RpbGVEcmF3UXVh
ZCopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vU2hhZGVyQ2hyb21pdW0uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vU2hhZGVyQ2hyb21pdW0uY3BwCmluZGV4IGU3YjhjNWFhZmJmM2U3ZWI4MmZjNDIy
OGE3MmU4NjBjN2EwYzVjY2YuLjZlZDZmNGE4ZTQxOTY0MzIwMjJjNTY2NjY4ZDVkZDhjMTlhMzQw
MzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L1NoYWRlckNocm9taXVtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9TaGFkZXJDaHJvbWl1bS5jcHAKQEAgLTIzOCw3ICsyMzgsNiBAQCBTdHJpbmcg
VmVydGV4U2hhZGVyVGlsZTo6Z2V0U2hhZGVyU3RyaW5nKCkgY29uc3QKIAogVmVydGV4U2hhZGVy
VmlkZW9UcmFuc2Zvcm06OlZlcnRleFNoYWRlclZpZGVvVHJhbnNmb3JtKCkKICAgICA6IG1fbWF0
cml4TG9jYXRpb24oLTEpCi0gICAgLCBtX3RleFRyYW5zZm9ybUxvY2F0aW9uKC0xKQogICAgICwg
bV90ZXhNYXRyaXhMb2NhdGlvbigtMSkKIHsKIH0KQEAgLTI0Niw5ICsyNDUsOCBAQCBWZXJ0ZXhT
aGFkZXJWaWRlb1RyYW5zZm9ybTo6VmVydGV4U2hhZGVyVmlkZW9UcmFuc2Zvcm0oKQogYm9vbCBW
ZXJ0ZXhTaGFkZXJWaWRlb1RyYW5zZm9ybTo6aW5pdChHcmFwaGljc0NvbnRleHQzRCogY29udGV4
dCwgdW5zaWduZWQgcHJvZ3JhbSkKIHsKICAgICBtX21hdHJpeExvY2F0aW9uID0gY29udGV4dC0+
Z2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sICJtYXRyaXgiKTsKLSAgICBtX3RleFRyYW5zZm9y
bUxvY2F0aW9uID0gY29udGV4dC0+Z2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sICJ0ZXhUcmFu
c2Zvcm0iKTsKICAgICBtX3RleE1hdHJpeExvY2F0aW9uID0gY29udGV4dC0+Z2V0VW5pZm9ybUxv
Y2F0aW9uKHByb2dyYW0sICJ0ZXhNYXRyaXgiKTsKLSAgICByZXR1cm4gbV9tYXRyaXhMb2NhdGlv
biAhPSAtMSAmJiBtX3RleFRyYW5zZm9ybUxvY2F0aW9uICE9IC0xICYmIG1fdGV4TWF0cml4TG9j
YXRpb24gIT0gLTE7CisgICAgcmV0dXJuIG1fbWF0cml4TG9jYXRpb24gIT0gLTEgJiYgbV90ZXhN
YXRyaXhMb2NhdGlvbiAhPSAtMTsKIH0KIAogU3RyaW5nIFZlcnRleFNoYWRlclZpZGVvVHJhbnNm
b3JtOjpnZXRTaGFkZXJTdHJpbmcoKSBjb25zdApAQCAtMjU3LDE0ICsyNTUsMTIgQEAgU3RyaW5n
IFZlcnRleFNoYWRlclZpZGVvVHJhbnNmb3JtOjpnZXRTaGFkZXJTdHJpbmcoKSBjb25zdAogICAg
ICAgICBhdHRyaWJ1dGUgdmVjNCBhX3Bvc2l0aW9uOwogICAgICAgICBhdHRyaWJ1dGUgdmVjMiBh
X3RleENvb3JkOwogICAgICAgICB1bmlmb3JtIG1hdDQgbWF0cml4OwotICAgICAgICB1bmlmb3Jt
IHZlYzQgdGV4VHJhbnNmb3JtOwogICAgICAgICB1bmlmb3JtIG1hdDQgdGV4TWF0cml4OwogICAg
ICAgICB2YXJ5aW5nIHZlYzIgdl90ZXhDb29yZDsKICAgICAgICAgdm9pZCBtYWluKCkKICAgICAg
ICAgewogICAgICAgICAgICAgZ2xfUG9zaXRpb24gPSBtYXRyaXggKiBhX3Bvc2l0aW9uOwotICAg
ICAgICAgICAgdmVjMiB0ZXhDb29yZCA9IHZlYzIodGV4TWF0cml4ICogdmVjNChhX3RleENvb3Jk
LngsIDEuMCAtIGFfdGV4Q29vcmQueSwgMC4wLCAxLjApKTsKLSAgICAgICAgICAgIHZfdGV4Q29v
cmQgPSB0ZXhDb29yZCAqIHRleFRyYW5zZm9ybS56dyArIHRleFRyYW5zZm9ybS54eTsKKyAgICAg
ICAgICAgIHZfdGV4Q29vcmQgPSB2ZWMyKHRleE1hdHJpeCAqIHZlYzQoYV90ZXhDb29yZC54LCAx
LjAgLSBhX3RleENvb3JkLnksIDAuMCwgMS4wKSk7CiAgICAgICAgIH0KICAgICApOwogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vU2hhZGVy
Q2hyb21pdW0uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1No
YWRlckNocm9taXVtLmgKaW5kZXggODFkYjNlMjQzMjFlMzVmMTY4OWEzNDFhNmZlMTQ0MzlhMzBh
MDVkZC4uOTI3N2VjY2E1MGMzNmQxODlkOGU2MWQ3MmU1ZmYzN2E4ZTM1N2M4NCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vU2hhZGVyQ2hyb21p
dW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9TaGFk
ZXJDaHJvbWl1bS5oCkBAIC0xMzksMTIgKzEzOSwxMCBAQCBwdWJsaWM6CiAgICAgU3RyaW5nIGdl
dFNoYWRlclN0cmluZygpIGNvbnN0OwogCiAgICAgaW50IG1hdHJpeExvY2F0aW9uKCkgY29uc3Qg
eyByZXR1cm4gbV9tYXRyaXhMb2NhdGlvbjsgfQotICAgIGludCB0ZXhUcmFuc2Zvcm1Mb2NhdGlv
bigpIGNvbnN0IHsgcmV0dXJuIG1fdGV4VHJhbnNmb3JtTG9jYXRpb247IH0KICAgICBpbnQgdGV4
TWF0cml4TG9jYXRpb24oKSBjb25zdCB7IHJldHVybiBtX3RleE1hdHJpeExvY2F0aW9uOyB9CiAK
IHByaXZhdGU6CiAgICAgaW50IG1fbWF0cml4TG9jYXRpb247Ci0gICAgaW50IG1fdGV4VHJhbnNm
b3JtTG9jYXRpb247CiAgICAgaW50IG1fdGV4TWF0cml4TG9jYXRpb247CiB9OwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0RyYXdR
dWFkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0ND
RHJhd1F1YWQuY3BwCmluZGV4IDJjYjBjMjA2N2NiNDU5NWI0YzhkNGE4MzE3ZGRjYmU0YjFhZTI3
MmMuLjU5Yzc3YzAxYmVjYzA1YjlhOWU0OTQ2MDg2ODA1Nzc5ZjFjMTU4ZDMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDRHJhd1F1YWQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0ND
RHJhd1F1YWQuY3BwCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAiY2MvQ0NMYXllckltcGwu
aCIKICNpbmNsdWRlICJjYy9DQ1JlbmRlclBhc3NEcmF3UXVhZC5oIgogI2luY2x1ZGUgImNjL0ND
U29saWRDb2xvckRyYXdRdWFkLmgiCisjaW5jbHVkZSAiY2MvQ0NTdHJlYW1WaWRlb0RyYXdRdWFk
LmgiCiAjaW5jbHVkZSAiY2MvQ0NUZXh0dXJlRHJhd1F1YWQuaCIKICNpbmNsdWRlICJjYy9DQ1Rp
bGVEcmF3UXVhZC5oIgogI2luY2x1ZGUgImNjL0NDVmlkZW9EcmF3UXVhZC5oIgpAQCAtOTYsNiAr
OTcsMTIgQEAgY29uc3QgQ0NTb2xpZENvbG9yRHJhd1F1YWQqIENDRHJhd1F1YWQ6OnRvU29saWRD
b2xvckRyYXdRdWFkKCkgY29uc3QKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgQ0NTb2xp
ZENvbG9yRHJhd1F1YWQqPih0aGlzKTsKIH0KIAorY29uc3QgQ0NTdHJlYW1WaWRlb0RyYXdRdWFk
KiBDQ0RyYXdRdWFkOjp0b1N0cmVhbVZpZGVvRHJhd1F1YWQoKSBjb25zdAoreworICAgIEFTU0VS
VChtX21hdGVyaWFsID09IFN0cmVhbVZpZGVvQ29udGVudCk7CisgICAgcmV0dXJuIHN0YXRpY19j
YXN0PGNvbnN0IENDU3RyZWFtVmlkZW9EcmF3UXVhZCo+KHRoaXMpOworfQorCiBjb25zdCBDQ1Rl
eHR1cmVEcmF3UXVhZCogQ0NEcmF3UXVhZDo6dG9UZXh0dXJlRHJhd1F1YWQoKSBjb25zdAogewog
ICAgIEFTU0VSVChtX21hdGVyaWFsID09IFRleHR1cmVDb250ZW50KTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDRHJhd1F1YWQuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDRHJhd1F1YWQu
aAppbmRleCA2ODViOTI2MDA5MDRjMWJiNjk3MDBjYzc3NzdlYjNiNjBhZmVhMDE2Li5iYjc0NWI4
ZDg0NGI2NWFkOWM5Y2I4YjNkZWEzZWNlODZjNjI1ODdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0RyYXdRdWFkLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NEcmF3UXVhZC5oCkBA
IC0zNSw2ICszNSw3IEBAIGNsYXNzIENDRGVidWdCb3JkZXJEcmF3UXVhZDsKIGNsYXNzIENDSU9T
dXJmYWNlRHJhd1F1YWQ7CiBjbGFzcyBDQ1JlbmRlclBhc3NEcmF3UXVhZDsKIGNsYXNzIENDU29s
aWRDb2xvckRyYXdRdWFkOworY2xhc3MgQ0NTdHJlYW1WaWRlb0RyYXdRdWFkOwogY2xhc3MgQ0NU
ZXh0dXJlRHJhd1F1YWQ7CiBjbGFzcyBDQ1RpbGVEcmF3UXVhZDsKIGNsYXNzIENDVmlkZW9EcmF3
UXVhZDsKQEAgLTcyLDYgKzczLDcgQEAgcHVibGljOgogICAgICAgICBTb2xpZENvbG9yLAogICAg
ICAgICBUaWxlZENvbnRlbnQsCiAgICAgICAgIFZpZGVvQ29udGVudCwKKyAgICAgICAgU3RyZWFt
VmlkZW9Db250ZW50LAogICAgIH07CiAKICAgICBNYXRlcmlhbCBtYXRlcmlhbCgpIGNvbnN0IHsg
cmV0dXJuIG1fbWF0ZXJpYWw7IH0KQEAgLTgyLDYgKzg0LDcgQEAgcHVibGljOgogICAgIGNvbnN0
IENDSU9TdXJmYWNlRHJhd1F1YWQqIHRvSU9TdXJmYWNlRHJhd1F1YWQoKSBjb25zdDsKICAgICBj
b25zdCBDQ1JlbmRlclBhc3NEcmF3UXVhZCogdG9SZW5kZXJQYXNzRHJhd1F1YWQoKSBjb25zdDsK
ICAgICBjb25zdCBDQ1NvbGlkQ29sb3JEcmF3UXVhZCogdG9Tb2xpZENvbG9yRHJhd1F1YWQoKSBj
b25zdDsKKyAgICBjb25zdCBDQ1N0cmVhbVZpZGVvRHJhd1F1YWQqIHRvU3RyZWFtVmlkZW9EcmF3
UXVhZCgpIGNvbnN0OwogICAgIGNvbnN0IENDVGV4dHVyZURyYXdRdWFkKiB0b1RleHR1cmVEcmF3
UXVhZCgpIGNvbnN0OwogICAgIGNvbnN0IENDVGlsZURyYXdRdWFkKiB0b1RpbGVEcmF3UXVhZCgp
IGNvbnN0OwogICAgIGNvbnN0IENDVmlkZW9EcmF3UXVhZCogdG9WaWRlb0RyYXdRdWFkKCkgY29u
c3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9jYy9DQ1N0cmVhbVZpZGVvRHJhd1F1YWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTdHJlYW1WaWRlb0RyYXdRdWFkLmNwcApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42YTFiYTI5OTIzZjZkMGUwMzE4NjVlM2E1NDJhODRiMTQwZTA4YTRhCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTdHJl
YW1WaWRlb0RyYXdRdWFkLmNwcApAQCAtMCwwICsxLDQ0IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNv
bmZpZy5oIgorCisjaW5jbHVkZSAiY2MvQ0NTdHJlYW1WaWRlb0RyYXdRdWFkLmgiCisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKworUGFzc093blB0cjxDQ1N0cmVhbVZpZGVvRHJhd1F1YWQ+IENDU3Ry
ZWFtVmlkZW9EcmF3UXVhZDo6Y3JlYXRlKGNvbnN0IENDU2hhcmVkUXVhZFN0YXRlKiBzaGFyZWRR
dWFkU3RhdGUsIGNvbnN0IEludFJlY3QmIHF1YWRSZWN0LCB1bnNpZ25lZCB0ZXh0dXJlSWQsIGNv
bnN0IFdlYktpdDo6V2ViVHJhbnNmb3JtYXRpb25NYXRyaXgmIG1hdHJpeCkKK3sKKyAgICByZXR1
cm4gYWRvcHRQdHIobmV3IENDU3RyZWFtVmlkZW9EcmF3UXVhZChzaGFyZWRRdWFkU3RhdGUsIHF1
YWRSZWN0LCB0ZXh0dXJlSWQsIG1hdHJpeCkpOworfQorCitDQ1N0cmVhbVZpZGVvRHJhd1F1YWQ6
OkNDU3RyZWFtVmlkZW9EcmF3UXVhZChjb25zdCBDQ1NoYXJlZFF1YWRTdGF0ZSogc2hhcmVkUXVh
ZFN0YXRlLCBjb25zdCBJbnRSZWN0JiBxdWFkUmVjdCwgdW5zaWduZWQgdGV4dHVyZUlkLCBjb25z
dCBXZWJLaXQ6OldlYlRyYW5zZm9ybWF0aW9uTWF0cml4JiBtYXRyaXgpCisgICAgOiBDQ0RyYXdR
dWFkKHNoYXJlZFF1YWRTdGF0ZSwgQ0NEcmF3UXVhZDo6U3RyZWFtVmlkZW9Db250ZW50LCBxdWFk
UmVjdCkKKyAgICAsIG1fdGV4dHVyZUlkKHRleHR1cmVJZCkKKyAgICAsIG1fbWF0cml4KG1hdHJp
eCkKK3sKK30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vY2MvQ0NTdHJlYW1WaWRlb0RyYXdRdWFkLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1N0cmVhbVZpZGVvRHJhd1F1YWQuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4zMDM3MzQ4ZDM1NGY2ZWI3ZTk3OGE1NGU1Yzg3YTZkNmQ0NjIwYjZlCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2Mv
Q0NTdHJlYW1WaWRlb0RyYXdRdWFkLmgKQEAgLTAsMCArMSw1MiBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMg
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICog
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYg
Q0NTdHJlYW1WaWRlb0RyYXdRdWFkX2gKKyNkZWZpbmUgQ0NTdHJlYW1WaWRlb0RyYXdRdWFkX2gK
KworI2luY2x1ZGUgImNjL0NDRHJhd1F1YWQuaCIKKyNpbmNsdWRlIDxwdWJsaWMvV2ViVHJhbnNm
b3JtYXRpb25NYXRyaXguaD4KKyNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK2NsYXNzIENDU3RyZWFtVmlkZW9EcmF3UXVhZCA6IHB1YmxpYyBDQ0Ry
YXdRdWFkIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDQ1N0cmVhbVZpZGVvRHJhd1F1YWQp
OworcHVibGljOgorICAgIHN0YXRpYyBQYXNzT3duUHRyPENDU3RyZWFtVmlkZW9EcmF3UXVhZD4g
Y3JlYXRlKGNvbnN0IENDU2hhcmVkUXVhZFN0YXRlKiwgY29uc3QgSW50UmVjdCYsIHVuc2lnbmVk
IHRleHR1cmVJZCwgY29uc3QgV2ViS2l0OjpXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCYpOworCisg
ICAgdW5zaWduZWQgdGV4dHVyZUlkKCkgY29uc3QgeyByZXR1cm4gbV90ZXh0dXJlSWQ7IH0KKyAg
ICBjb25zdCBXZWJLaXQ6OldlYlRyYW5zZm9ybWF0aW9uTWF0cml4JiBtYXRyaXgoKSBjb25zdCB7
IHJldHVybiBtX21hdHJpeDsgfQorCitwcml2YXRlOgorICAgIENDU3RyZWFtVmlkZW9EcmF3UXVh
ZChjb25zdCBDQ1NoYXJlZFF1YWRTdGF0ZSosIGNvbnN0IEludFJlY3QmLCB1bnNpZ25lZCB0ZXh0
dXJlSWQsIGNvbnN0IFdlYktpdDo6V2ViVHJhbnNmb3JtYXRpb25NYXRyaXgmKTsKKworICAgIHVu
c2lnbmVkIG1fdGV4dHVyZUlkOworICAgIFdlYktpdDo6V2ViVHJhbnNmb3JtYXRpb25NYXRyaXgg
bV9tYXRyaXg7Cit9OworCit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NWaWRlb0xheWVySW1wbC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1ZpZGVvTGF5ZXJJbXBs
LmNwcAppbmRleCA0ZmNiODRhMjVhOTRhZmVkZWFlOWRhNzMyOWJhOGNkNDE4Yzk2NWMwLi45MWFi
Y2RkYWE2ZWY4OGQzNTI2MWU2ZmJhMTE3ZjgwZGZkOWNmMzFiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1ZpZGVvTGF5ZXJJbXBsLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Zp
ZGVvTGF5ZXJJbXBsLmNwcApAQCAtMzksNiArMzksNyBAQAogI2luY2x1ZGUgImNjL0NDTGF5ZXJU
cmVlSG9zdEltcGwuaCIKICNpbmNsdWRlICJjYy9DQ1Byb3h5LmgiCiAjaW5jbHVkZSAiY2MvQ0NR
dWFkQ3VsbGVyLmgiCisjaW5jbHVkZSAiY2MvQ0NTdHJlYW1WaWRlb0RyYXdRdWFkLmgiCiAjaW5j
bHVkZSAiY2MvQ0NUZXh0dXJlRHJhd1F1YWQuaCIKICNpbmNsdWRlICJjYy9DQ1ZpZGVvRHJhd1F1
YWQuaCIKICNpbmNsdWRlIDxwdWJsaWMvV2ViVmlkZW9GcmFtZS5oPgpAQCAtMTgyLDEyICsxODMs
MTEgQEAgdm9pZCBDQ1ZpZGVvTGF5ZXJJbXBsOjphcHBlbmRRdWFkcyhDQ1F1YWRDdWxsZXImIHF1
YWRMaXN0LCBjb25zdCBDQ1NoYXJlZFF1YWRTdGEKICAgICAvLyBvdGhlcndpc2Ugc3luY2hvbml6
ZSB1c2Ugb2YgYWxsIHRleHR1cmVzIGluIHRoZSBxdWFkLgogCiAgICAgSW50UmVjdCBxdWFkUmVj
dChJbnRQb2ludCgpLCBib3VuZHMoKSk7Ci0gICAgV2ViS2l0OjpXZWJUcmFuc2Zvcm1hdGlvbk1h
dHJpeCBtYXRyaXg7CiAKICAgICBzd2l0Y2ggKG1fZm9ybWF0KSB7CiAgICAgY2FzZSBHcmFwaGlj
c0NvbnRleHQzRDo6TFVNSU5BTkNFOiB7CiAgICAgICAgIC8vIFlVViBzb2Z0d2FyZSBkZWNvZGVy
LgotICAgICAgICBPd25QdHI8Q0NWaWRlb0RyYXdRdWFkPiB2aWRlb1F1YWQgPSBDQ1ZpZGVvRHJh
d1F1YWQ6OmNyZWF0ZShzaGFyZWRRdWFkU3RhdGUsIHF1YWRSZWN0LCBtX2ZyYW1lUGxhbmVzLCAw
LCBtX2Zvcm1hdCwgbWF0cml4KTsKKyAgICAgICAgT3duUHRyPENDVmlkZW9EcmF3UXVhZD4gdmlk
ZW9RdWFkID0gQ0NWaWRlb0RyYXdRdWFkOjpjcmVhdGUoc2hhcmVkUXVhZFN0YXRlLCBxdWFkUmVj
dCwgbV9mcmFtZVBsYW5lcywgMCwgbV9mb3JtYXQsIFdlYktpdDo6V2ViVHJhbnNmb3JtYXRpb25N
YXRyaXgoKSk7CiAgICAgICAgIHF1YWRMaXN0LmFwcGVuZCh2aWRlb1F1YWQucmVsZWFzZSgpKTsK
ICAgICAgICAgYnJlYWs7CiAgICAgfQpAQCAtMjE0LDkgKzIxNCw4IEBAIHZvaWQgQ0NWaWRlb0xh
eWVySW1wbDo6YXBwZW5kUXVhZHMoQ0NRdWFkQ3VsbGVyJiBxdWFkTGlzdCwgY29uc3QgQ0NTaGFy
ZWRRdWFkU3RhCiAgICAgfQogICAgIGNhc2UgRXh0ZW5zaW9uczNEQ2hyb21pdW06OkdMX1RFWFRV
UkVfRVhURVJOQUxfT0VTOiB7CiAgICAgICAgIC8vIFN0cmVhbVRleHR1cmUgaGFyZHdhcmUgZGVj
b2Rlci4KLSAgICAgICAgbWF0cml4ID0gbV9zdHJlYW1UZXh0dXJlTWF0cml4OwotICAgICAgICBP
d25QdHI8Q0NWaWRlb0RyYXdRdWFkPiB2aWRlb1F1YWQgPSBDQ1ZpZGVvRHJhd1F1YWQ6OmNyZWF0
ZShzaGFyZWRRdWFkU3RhdGUsIHF1YWRSZWN0LCBtX2ZyYW1lUGxhbmVzLCBtX2ZyYW1lLT50ZXh0
dXJlSWQoKSwgbV9mb3JtYXQsIG1hdHJpeCk7Ci0gICAgICAgIHF1YWRMaXN0LmFwcGVuZCh2aWRl
b1F1YWQucmVsZWFzZSgpKTsKKyAgICAgICAgT3duUHRyPENDU3RyZWFtVmlkZW9EcmF3UXVhZD4g
c3RyZWFtVmlkZW9RdWFkID0gQ0NTdHJlYW1WaWRlb0RyYXdRdWFkOjpjcmVhdGUoc2hhcmVkUXVh
ZFN0YXRlLCBxdWFkUmVjdCwgbV9mcmFtZS0+dGV4dHVyZUlkKCksIG1fc3RyZWFtVGV4dHVyZU1h
dHJpeCk7CisgICAgICAgIHF1YWRMaXN0LmFwcGVuZChzdHJlYW1WaWRlb1F1YWQucmVsZWFzZSgp
KTsKICAgICAgICAgYnJlYWs7CiAgICAgfQogICAgIGRlZmF1bHQ6Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>147320</attachid>
            <date>2012-06-13 08:22:02 -0700</date>
            <delta_ts>2012-06-13 17:38:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-88826-20120613112201.patch</filename>
            <type>text/plain</type>
            <size>19100</size>
            <attacher name="Dana Jansens">danakj</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwMjEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTZjNGMzZDQ4YjgxYzQy
ZmYzZThmNjExMmNhMWYwNTdjMDNiMDUwMS4uMzUxOWMzNmY1YjhjZjc2OTQwY2E4MmM0NDg4MDdm
MTA1ZGE4NjNjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDEyLTA2LTExICBEYW5h
IEphbnNlbnMgIDxkYW5ha2pAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gQ3Jl
YXRlIGEgQ0NTdHJlYW1WaWRlb0RyYXdRdWFkIHVzZWQgZm9yIFN0cmVhbVRleHR1cmUgdmlkZW8g
b3V0cHV0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04
ODgyNgorCisgICAgICAgIFJldmlld2VkIGJ5IEFkcmllbm5lIFdhbGtlci4KKworICAgICAgICBS
ZW1vdmUgdGhlIG1hdHJpeCBmcm9tIHRoZSBDQ1ZpZGVvRHJhd1F1YWQsIGFuZCBjcmVhdGUgYSBu
ZXcgcXVhZAorICAgICAgICBzcGVjaWZpY2FsbHkgZm9yIFN0cmVhbVRleHR1cmUgdmlkZW8gZGVj
b2RlciBvdXRwdXQuIFRoaXMgcXVhZAorICAgICAgICBjb250YWlucyBvbmx5IHRoZSBmaWVsZHMg
bmVlZGVkIGZvciBkaXNwbGF5IC0gdGV4dHVyZUlkIGFuZCB0aGUKKyAgICAgICAgbWF0cml4IHRv
IGJlIGFwcGxpZWQgdG8gdGV4dHVyZSBjb29yZHMuCisKKyAgICAgICAgUmVtb3ZlcyB0aGUgKDAs
IDAsIDEsIDEpICJ0cmFuc2Zvcm0iIGZyb20gdGhlIHNoYWRlciB1c2VkIGZvciB0aGVzZQorICAg
ICAgICBxdWFkcywgYXMgaXQgd2FzIGEgbm8tb3AuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBu
byBjaGFuZ2UgaW4gYmVoYXZpb3VyLgorCisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpMYXllclJlbmRlcmVyQ2hyb21pdW06OmRyYXdRdWFkKToKKyAg
ICAgICAgKFdlYkNvcmU6OkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJhd1N0cmVhbVZpZGVvUXVh
ZCk6CisgICAgICAgIChXZWJDb3JlOjpMYXllclJlbmRlcmVyQ2hyb21pdW06OmRyYXdWaWRlb1F1
YWQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJD
aHJvbWl1bS5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChMYXllclJlbmRlcmVyQ2hy
b21pdW0pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1NoYWRlckNocm9t
aXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlZlcnRleFNoYWRlclZpZGVvVHJhbnNmb3JtOjpW
ZXJ0ZXhTaGFkZXJWaWRlb1RyYW5zZm9ybSk6CisgICAgICAgIChXZWJDb3JlOjpWZXJ0ZXhTaGFk
ZXJWaWRlb1RyYW5zZm9ybTo6aW5pdCk6CisgICAgICAgIChXZWJDb3JlOjpWZXJ0ZXhTaGFkZXJW
aWRlb1RyYW5zZm9ybTo6Z2V0U2hhZGVyU3RyaW5nKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9TaGFkZXJDaHJvbWl1bS5oOgorICAgICAgICAoVmVydGV4U2hhZGVyVmlk
ZW9UcmFuc2Zvcm0pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0ND
RHJhd1F1YWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q0NEcmF3UXVhZDo6dG9TdHJlYW1WaWRl
b0RyYXdRdWFkKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL2NjL0NDRHJhd1F1YWQuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAg
ICAoQ0NEcmF3UXVhZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2Mv
Q0NTdHJlYW1WaWRlb0RyYXdRdWFkLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNDU3RyZWFtVmlkZW9EcmF3UXVhZDo6Y3JlYXRlKToKKyAgICAgICAg
KFdlYkNvcmU6OkNDU3RyZWFtVmlkZW9EcmF3UXVhZDo6Q0NTdHJlYW1WaWRlb0RyYXdRdWFkKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1N0cmVhbVZpZGVvRHJh
d1F1YWQuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKENDU3RyZWFtVmlk
ZW9EcmF3UXVhZCk6CisgICAgICAgIChXZWJDb3JlOjpDQ1N0cmVhbVZpZGVvRHJhd1F1YWQ6OnRl
eHR1cmVJZCk6CisgICAgICAgIChXZWJDb3JlOjpDQ1N0cmVhbVZpZGVvRHJhd1F1YWQ6Om1hdHJp
eCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NWaWRlb0xheWVy
SW1wbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDQ1ZpZGVvTGF5ZXJJbXBsOjphcHBlbmRRdWFk
cyk6CisKIDIwMTItMDYtMTMgIEFsZXhhbmRlciBQYXZsb3YgIDxhcGF2bG92QGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBTdXBwb3J0IHVzZXIgYXR0cmlidXRlcyBpbiBE
T01Ob2RlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggYjc1YjFiMjMwNDY2ZTRhYjQ2OGU4NTY2NWEzN2Iw
ZjcxY2FkMTI5YS4uNzA4YzNjZjhkZjNlYmRiNmI0Yjk3MjgxNzI3MGRkOGRiNjdjZTQ5MyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZ3lwaQpAQCAtMzc1OSw2ICszNzU5LDggQEAKICAgICAgICAgICAgICdwbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1NvbGlkQ29sb3JEcmF3UXVhZC5oJywKICAgICAgICAg
ICAgICdwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1NvbGlkQ29sb3JMYXllckltcGwu
Y3BwJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1NvbGlk
Q29sb3JMYXllckltcGwuaCcsCisgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vY2MvQ0NTdHJlYW1WaWRlb0RyYXdRdWFkLmNwcCcsCisgICAgICAgICAgICAncGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTdHJlYW1WaWRlb0RyYXdRdWFkLmgnLAogICAgICAgICAg
ICAgJ3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGV4dHVyZURyYXdRdWFkLmNwcCcs
CiAgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NUZXh0dXJlRHJh
d1F1YWQuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NU
ZXh0dXJlTGF5ZXJJbXBsLmNwcCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmNw
cAppbmRleCAwZTVhZjQxN2Y3YjcwZDZmOGQzNjUzYzgzODFkNGUwNTI5Y2M3M2NlLi5hYmZkYjQ0
Yzc2MjRiMzcxZjc5MTU3MWM5ZWY3YmJkMzYzOGY2ZjA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVu
ZGVyZXJDaHJvbWl1bS5jcHAKQEAgLTY2LDYgKzY2LDcgQEAKICNpbmNsdWRlICJjYy9DQ1JlbmRl
clN1cmZhY2VGaWx0ZXJzLmgiCiAjaW5jbHVkZSAiY2MvQ0NTaW5nbGVUaHJlYWRQcm94eS5oIgog
I2luY2x1ZGUgImNjL0NDU29saWRDb2xvckRyYXdRdWFkLmgiCisjaW5jbHVkZSAiY2MvQ0NTdHJl
YW1WaWRlb0RyYXdRdWFkLmgiCiAjaW5jbHVkZSAiY2MvQ0NUZXh0dXJlRHJhd1F1YWQuaCIKICNp
bmNsdWRlICJjYy9DQ1RpbGVEcmF3UXVhZC5oIgogI2luY2x1ZGUgImNjL0NDVmlkZW9EcmF3UXVh
ZC5oIgpAQCAtNTE1LDYgKzUxNiw5IEBAIHZvaWQgTGF5ZXJSZW5kZXJlckNocm9taXVtOjpkcmF3
UXVhZChjb25zdCBDQ0RyYXdRdWFkKiBxdWFkKQogICAgIGNhc2UgQ0NEcmF3UXVhZDo6U29saWRD
b2xvcjoKICAgICAgICAgZHJhd1NvbGlkQ29sb3JRdWFkKHF1YWQtPnRvU29saWRDb2xvckRyYXdR
dWFkKCkpOwogICAgICAgICBicmVhazsKKyAgICBjYXNlIENDRHJhd1F1YWQ6OlN0cmVhbVZpZGVv
Q29udGVudDoKKyAgICAgICAgZHJhd1N0cmVhbVZpZGVvUXVhZChxdWFkLT50b1N0cmVhbVZpZGVv
RHJhd1F1YWQoKSk7CisgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQ0NEcmF3UXVhZDo6VGV4dHVy
ZUNvbnRlbnQ6CiAgICAgICAgIGRyYXdUZXh0dXJlUXVhZChxdWFkLT50b1RleHR1cmVEcmF3UXVh
ZCgpKTsKICAgICAgICAgYnJlYWs7CkBAIC0xMDM4LDcgKzEwNDIsNyBAQCB2b2lkIExheWVyUmVu
ZGVyZXJDaHJvbWl1bTo6ZHJhd1lVVihjb25zdCBDQ1ZpZGVvRHJhd1F1YWQqIHF1YWQpCiAgICAg
R0xDKGNvbnRleHQoKSwgY29udGV4dCgpLT5hY3RpdmVUZXh0dXJlKEdyYXBoaWNzQ29udGV4dDNE
OjpURVhUVVJFMCkpOwogfQogCi12b2lkIExheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJhd1N0cmVh
bVRleHR1cmUoY29uc3QgQ0NWaWRlb0RyYXdRdWFkKiBxdWFkKQordm9pZCBMYXllclJlbmRlcmVy
Q2hyb21pdW06OmRyYXdTdHJlYW1WaWRlb1F1YWQoY29uc3QgQ0NTdHJlYW1WaWRlb0RyYXdRdWFk
KiBxdWFkKQogewogICAgIHN0YXRpYyBmbG9hdCBnbE1hdHJpeFsxNl07CiAKQEAgLTEwNTEsOSAr
MTA1NSw4IEBAIHZvaWQgTGF5ZXJSZW5kZXJlckNocm9taXVtOjpkcmF3U3RyZWFtVGV4dHVyZShj
b25zdCBDQ1ZpZGVvRHJhd1F1YWQqIHF1YWQpCiAgICAgR0xDKGNvbnRleHQoKSwgY29udGV4dCgp
LT51bmlmb3JtTWF0cml4NGZ2KHByb2dyYW0tPnZlcnRleFNoYWRlcigpLnRleE1hdHJpeExvY2F0
aW9uKCksIDEsIGZhbHNlLCBnbE1hdHJpeCkpOwogCiAgICAgR0xDKGNvbnRleHQoKSwgY29udGV4
dCgpLT5hY3RpdmVUZXh0dXJlKEdyYXBoaWNzQ29udGV4dDNEOjpURVhUVVJFMCkpOwotICAgIEdM
Qyhjb250ZXh0KCksIGNvbnRleHQoKS0+YmluZFRleHR1cmUoRXh0ZW5zaW9uczNEQ2hyb21pdW06
OkdMX1RFWFRVUkVfRVhURVJOQUxfT0VTLCBxdWFkLT5mcmFtZVByb3ZpZGVyVGV4dHVyZUlkKCkp
KTsKKyAgICBHTEMoY29udGV4dCgpLCBjb250ZXh0KCktPmJpbmRUZXh0dXJlKEV4dGVuc2lvbnMz
RENocm9taXVtOjpHTF9URVhUVVJFX0VYVEVSTkFMX09FUywgcXVhZC0+dGV4dHVyZUlkKCkpKTsK
IAotICAgIEdMQyhjb250ZXh0KCksIGNvbnRleHQoKS0+dW5pZm9ybTRmKHByb2dyYW0tPnZlcnRl
eFNoYWRlcigpLnRleFRyYW5zZm9ybUxvY2F0aW9uKCksIDAsIDAsIDEsIDEpKTsKICAgICBHTEMo
Y29udGV4dCgpLCBjb250ZXh0KCktPnVuaWZvcm0xaShwcm9ncmFtLT5mcmFnbWVudFNoYWRlcigp
LnNhbXBsZXJMb2NhdGlvbigpLCAwKSk7CiAKICAgICBjb25zdCBJbnRTaXplJiBib3VuZHMgPSBx
dWFkLT5xdWFkUmVjdCgpLnNpemUoKTsKQEAgLTEwNzEsOSArMTA3NCw2IEBAIHZvaWQgTGF5ZXJS
ZW5kZXJlckNocm9taXVtOjpkcmF3VmlkZW9RdWFkKGNvbnN0IENDVmlkZW9EcmF3UXVhZCogcXVh
ZCkKICAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpMVU1JTkFOQ0U6CiAgICAgICAgIGRyYXdZ
VVYocXVhZCk7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgRXh0ZW5zaW9uczNEQ2hyb21pdW06
OkdMX1RFWFRVUkVfRVhURVJOQUxfT0VTOgotICAgICAgICBkcmF3U3RyZWFtVGV4dHVyZShxdWFk
KTsKLSAgICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoKICAgICAgICAgQ1JBU0goKTsgLy8gU29t
ZW9uZSB1cGRhdGVkIGNvbnZlcnRWRkNGb3JtYXRUb0dDM0RGb3JtYXQgYWJvdmUgYnV0IHVwZGF0
ZSB0aGlzIQogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmgKaW5kZXggZDcz
YzE1Mjc0NGNhNGMzZjA0ZDJjMTE2OGY3NjE3MGM4YjhjN2IzOC4uZDQ1NWUwZWZkMzM3NTVhZGQ4
YTMyODJkMTkyN2I0Njg5ODM1NGQ0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVt
LmgKQEAgLTQ4LDYgKzQ4LDcgQEAgY2xhc3MgQ0NEcmF3UXVhZDsKIGNsYXNzIENDSU9TdXJmYWNl
RHJhd1F1YWQ7CiBjbGFzcyBDQ1JlbmRlclBhc3NEcmF3UXVhZDsKIGNsYXNzIENDU29saWRDb2xv
ckRyYXdRdWFkOworY2xhc3MgQ0NTdHJlYW1WaWRlb0RyYXdRdWFkOwogY2xhc3MgQ0NUZXh0dXJl
RHJhd1F1YWQ7CiBjbGFzcyBDQ1RpbGVEcmF3UXVhZDsKIGNsYXNzIENDVmlkZW9EcmF3UXVhZDsK
QEAgLTEzMCw2ICsxMzEsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgZHJhd0JhY2tncm91bmRGaWx0
ZXJzKGNvbnN0IENDUmVuZGVyUGFzc0RyYXdRdWFkKiwgY29uc3QgV2ViS2l0OjpXZWJUcmFuc2Zv
cm1hdGlvbk1hdHJpeCYgZGV2aWNlVHJhbnNmb3JtKTsKICAgICB2b2lkIGRyYXdSZW5kZXJQYXNz
UXVhZChjb25zdCBDQ1JlbmRlclBhc3NEcmF3UXVhZCopOwogICAgIHZvaWQgZHJhd1NvbGlkQ29s
b3JRdWFkKGNvbnN0IENDU29saWRDb2xvckRyYXdRdWFkKik7CisgICAgdm9pZCBkcmF3U3RyZWFt
VmlkZW9RdWFkKGNvbnN0IENDU3RyZWFtVmlkZW9EcmF3UXVhZCopOwogICAgIHZvaWQgZHJhd1Rl
eHR1cmVRdWFkKGNvbnN0IENDVGV4dHVyZURyYXdRdWFkKik7CiAgICAgdm9pZCBkcmF3SU9TdXJm
YWNlUXVhZChjb25zdCBDQ0lPU3VyZmFjZURyYXdRdWFkKik7CiAgICAgdm9pZCBkcmF3VGlsZVF1
YWQoY29uc3QgQ0NUaWxlRHJhd1F1YWQqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1NoYWRlckNocm9taXVtLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1NoYWRlckNocm9taXVtLmNwcAppbmRleCBl
N2I4YzVhYWZiZjNlN2ViODJmYzQyMjhhNzJlODYwYzdhMGM1Y2NmLi42ZWQ2ZjRhOGU0MTk2NDMy
MDIyYzU2NjY2OGQ1ZGQ4YzE5YTM0MDMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9TaGFkZXJDaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vU2hhZGVyQ2hyb21pdW0uY3BwCkBAIC0y
MzgsNyArMjM4LDYgQEAgU3RyaW5nIFZlcnRleFNoYWRlclRpbGU6OmdldFNoYWRlclN0cmluZygp
IGNvbnN0CiAKIFZlcnRleFNoYWRlclZpZGVvVHJhbnNmb3JtOjpWZXJ0ZXhTaGFkZXJWaWRlb1Ry
YW5zZm9ybSgpCiAgICAgOiBtX21hdHJpeExvY2F0aW9uKC0xKQotICAgICwgbV90ZXhUcmFuc2Zv
cm1Mb2NhdGlvbigtMSkKICAgICAsIG1fdGV4TWF0cml4TG9jYXRpb24oLTEpCiB7CiB9CkBAIC0y
NDYsOSArMjQ1LDggQEAgVmVydGV4U2hhZGVyVmlkZW9UcmFuc2Zvcm06OlZlcnRleFNoYWRlclZp
ZGVvVHJhbnNmb3JtKCkKIGJvb2wgVmVydGV4U2hhZGVyVmlkZW9UcmFuc2Zvcm06OmluaXQoR3Jh
cGhpY3NDb250ZXh0M0QqIGNvbnRleHQsIHVuc2lnbmVkIHByb2dyYW0pCiB7CiAgICAgbV9tYXRy
aXhMb2NhdGlvbiA9IGNvbnRleHQtPmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAibWF0cml4
Iik7Ci0gICAgbV90ZXhUcmFuc2Zvcm1Mb2NhdGlvbiA9IGNvbnRleHQtPmdldFVuaWZvcm1Mb2Nh
dGlvbihwcm9ncmFtLCAidGV4VHJhbnNmb3JtIik7CiAgICAgbV90ZXhNYXRyaXhMb2NhdGlvbiA9
IGNvbnRleHQtPmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAidGV4TWF0cml4Iik7Ci0gICAg
cmV0dXJuIG1fbWF0cml4TG9jYXRpb24gIT0gLTEgJiYgbV90ZXhUcmFuc2Zvcm1Mb2NhdGlvbiAh
PSAtMSAmJiBtX3RleE1hdHJpeExvY2F0aW9uICE9IC0xOworICAgIHJldHVybiBtX21hdHJpeExv
Y2F0aW9uICE9IC0xICYmIG1fdGV4TWF0cml4TG9jYXRpb24gIT0gLTE7CiB9CiAKIFN0cmluZyBW
ZXJ0ZXhTaGFkZXJWaWRlb1RyYW5zZm9ybTo6Z2V0U2hhZGVyU3RyaW5nKCkgY29uc3QKQEAgLTI1
NywxNCArMjU1LDEyIEBAIFN0cmluZyBWZXJ0ZXhTaGFkZXJWaWRlb1RyYW5zZm9ybTo6Z2V0U2hh
ZGVyU3RyaW5nKCkgY29uc3QKICAgICAgICAgYXR0cmlidXRlIHZlYzQgYV9wb3NpdGlvbjsKICAg
ICAgICAgYXR0cmlidXRlIHZlYzIgYV90ZXhDb29yZDsKICAgICAgICAgdW5pZm9ybSBtYXQ0IG1h
dHJpeDsKLSAgICAgICAgdW5pZm9ybSB2ZWM0IHRleFRyYW5zZm9ybTsKICAgICAgICAgdW5pZm9y
bSBtYXQ0IHRleE1hdHJpeDsKICAgICAgICAgdmFyeWluZyB2ZWMyIHZfdGV4Q29vcmQ7CiAgICAg
ICAgIHZvaWQgbWFpbigpCiAgICAgICAgIHsKICAgICAgICAgICAgIGdsX1Bvc2l0aW9uID0gbWF0
cml4ICogYV9wb3NpdGlvbjsKLSAgICAgICAgICAgIHZlYzIgdGV4Q29vcmQgPSB2ZWMyKHRleE1h
dHJpeCAqIHZlYzQoYV90ZXhDb29yZC54LCAxLjAgLSBhX3RleENvb3JkLnksIDAuMCwgMS4wKSk7
Ci0gICAgICAgICAgICB2X3RleENvb3JkID0gdGV4Q29vcmQgKiB0ZXhUcmFuc2Zvcm0uencgKyB0
ZXhUcmFuc2Zvcm0ueHk7CisgICAgICAgICAgICB2X3RleENvb3JkID0gdmVjMih0ZXhNYXRyaXgg
KiB2ZWM0KGFfdGV4Q29vcmQueCwgMS4wIC0gYV90ZXhDb29yZC55LCAwLjAsIDEuMCkpOwogICAg
ICAgICB9CiAgICAgKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL1NoYWRlckNocm9taXVtLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9TaGFkZXJDaHJvbWl1bS5oCmluZGV4IDgxZGIzZTI0MzIxZTM1
ZjE2ODlhMzQxYTZmZTE0NDM5YTMwYTA1ZGQuLjkyNzdlY2NhNTBjMzZkMTg5ZDhlNjFkNzJlNWZm
MzdhOGUzNTdjODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL1NoYWRlckNocm9taXVtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vU2hhZGVyQ2hyb21pdW0uaApAQCAtMTM5LDEyICsxMzksMTAgQEAg
cHVibGljOgogICAgIFN0cmluZyBnZXRTaGFkZXJTdHJpbmcoKSBjb25zdDsKIAogICAgIGludCBt
YXRyaXhMb2NhdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fbWF0cml4TG9jYXRpb247IH0KLSAgICBp
bnQgdGV4VHJhbnNmb3JtTG9jYXRpb24oKSBjb25zdCB7IHJldHVybiBtX3RleFRyYW5zZm9ybUxv
Y2F0aW9uOyB9CiAgICAgaW50IHRleE1hdHJpeExvY2F0aW9uKCkgY29uc3QgeyByZXR1cm4gbV90
ZXhNYXRyaXhMb2NhdGlvbjsgfQogCiBwcml2YXRlOgogICAgIGludCBtX21hdHJpeExvY2F0aW9u
OwotICAgIGludCBtX3RleFRyYW5zZm9ybUxvY2F0aW9uOwogICAgIGludCBtX3RleE1hdHJpeExv
Y2F0aW9uOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vY2MvQ0NEcmF3UXVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9jYy9DQ0RyYXdRdWFkLmNwcAppbmRleCAyY2IwYzIwNjdjYjQ1OTVi
NGM4ZDRhODMxN2RkY2JlNGIxYWUyNzJjLi41OWM3N2MwMWJlY2MwNWI5YTllNDk0NjA4NjgwNTc3
OWYxYzE1OGQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9jYy9DQ0RyYXdRdWFkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9jYy9DQ0RyYXdRdWFkLmNwcApAQCAtMzMsNiArMzMsNyBAQAogI2lu
Y2x1ZGUgImNjL0NDTGF5ZXJJbXBsLmgiCiAjaW5jbHVkZSAiY2MvQ0NSZW5kZXJQYXNzRHJhd1F1
YWQuaCIKICNpbmNsdWRlICJjYy9DQ1NvbGlkQ29sb3JEcmF3UXVhZC5oIgorI2luY2x1ZGUgImNj
L0NDU3RyZWFtVmlkZW9EcmF3UXVhZC5oIgogI2luY2x1ZGUgImNjL0NDVGV4dHVyZURyYXdRdWFk
LmgiCiAjaW5jbHVkZSAiY2MvQ0NUaWxlRHJhd1F1YWQuaCIKICNpbmNsdWRlICJjYy9DQ1ZpZGVv
RHJhd1F1YWQuaCIKQEAgLTk2LDYgKzk3LDEyIEBAIGNvbnN0IENDU29saWRDb2xvckRyYXdRdWFk
KiBDQ0RyYXdRdWFkOjp0b1NvbGlkQ29sb3JEcmF3UXVhZCgpIGNvbnN0CiAgICAgcmV0dXJuIHN0
YXRpY19jYXN0PGNvbnN0IENDU29saWRDb2xvckRyYXdRdWFkKj4odGhpcyk7CiB9CiAKK2NvbnN0
IENDU3RyZWFtVmlkZW9EcmF3UXVhZCogQ0NEcmF3UXVhZDo6dG9TdHJlYW1WaWRlb0RyYXdRdWFk
KCkgY29uc3QKK3sKKyAgICBBU1NFUlQobV9tYXRlcmlhbCA9PSBTdHJlYW1WaWRlb0NvbnRlbnQp
OworICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBDQ1N0cmVhbVZpZGVvRHJhd1F1YWQqPih0
aGlzKTsKK30KKwogY29uc3QgQ0NUZXh0dXJlRHJhd1F1YWQqIENDRHJhd1F1YWQ6OnRvVGV4dHVy
ZURyYXdRdWFkKCkgY29uc3QKIHsKICAgICBBU1NFUlQobV9tYXRlcmlhbCA9PSBUZXh0dXJlQ29u
dGVudCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9jYy9DQ0RyYXdRdWFkLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9jYy9DQ0RyYXdRdWFkLmgKaW5kZXggNjg1YjkyNjAwOTA0YzFiYjY5NzAwY2M3Nzc3
ZWIzYjYwYWZlYTAxNi4uYmI3NDViOGQ4NDRiNjVhZDljOWNiOGIzZGVhM2VjZTg2YzYyNTg3YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2Mv
Q0NEcmF3UXVhZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL2NjL0NDRHJhd1F1YWQuaApAQCAtMzUsNiArMzUsNyBAQCBjbGFzcyBDQ0RlYnVnQm9yZGVy
RHJhd1F1YWQ7CiBjbGFzcyBDQ0lPU3VyZmFjZURyYXdRdWFkOwogY2xhc3MgQ0NSZW5kZXJQYXNz
RHJhd1F1YWQ7CiBjbGFzcyBDQ1NvbGlkQ29sb3JEcmF3UXVhZDsKK2NsYXNzIENDU3RyZWFtVmlk
ZW9EcmF3UXVhZDsKIGNsYXNzIENDVGV4dHVyZURyYXdRdWFkOwogY2xhc3MgQ0NUaWxlRHJhd1F1
YWQ7CiBjbGFzcyBDQ1ZpZGVvRHJhd1F1YWQ7CkBAIC03Miw2ICs3Myw3IEBAIHB1YmxpYzoKICAg
ICAgICAgU29saWRDb2xvciwKICAgICAgICAgVGlsZWRDb250ZW50LAogICAgICAgICBWaWRlb0Nv
bnRlbnQsCisgICAgICAgIFN0cmVhbVZpZGVvQ29udGVudCwKICAgICB9OwogCiAgICAgTWF0ZXJp
YWwgbWF0ZXJpYWwoKSBjb25zdCB7IHJldHVybiBtX21hdGVyaWFsOyB9CkBAIC04Miw2ICs4NCw3
IEBAIHB1YmxpYzoKICAgICBjb25zdCBDQ0lPU3VyZmFjZURyYXdRdWFkKiB0b0lPU3VyZmFjZURy
YXdRdWFkKCkgY29uc3Q7CiAgICAgY29uc3QgQ0NSZW5kZXJQYXNzRHJhd1F1YWQqIHRvUmVuZGVy
UGFzc0RyYXdRdWFkKCkgY29uc3Q7CiAgICAgY29uc3QgQ0NTb2xpZENvbG9yRHJhd1F1YWQqIHRv
U29saWRDb2xvckRyYXdRdWFkKCkgY29uc3Q7CisgICAgY29uc3QgQ0NTdHJlYW1WaWRlb0RyYXdR
dWFkKiB0b1N0cmVhbVZpZGVvRHJhd1F1YWQoKSBjb25zdDsKICAgICBjb25zdCBDQ1RleHR1cmVE
cmF3UXVhZCogdG9UZXh0dXJlRHJhd1F1YWQoKSBjb25zdDsKICAgICBjb25zdCBDQ1RpbGVEcmF3
UXVhZCogdG9UaWxlRHJhd1F1YWQoKSBjb25zdDsKICAgICBjb25zdCBDQ1ZpZGVvRHJhd1F1YWQq
IHRvVmlkZW9EcmF3UXVhZCgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTdHJlYW1WaWRlb0RyYXdRdWFkLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU3RyZWFtVmlkZW9E
cmF3UXVhZC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmExYmEyOTkyM2Y2ZDBlMDMxODY1ZTNhNTQyYTg0YjE0
MGUwOGE0YQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL2NjL0NDU3RyZWFtVmlkZW9EcmF3UXVhZC5jcHAKQEAgLTAsMCArMSw0NCBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAq
IDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2luY2x1ZGUgImNjL0NDU3RyZWFtVmlk
ZW9EcmF3UXVhZC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1Bhc3NPd25QdHI8Q0NTdHJl
YW1WaWRlb0RyYXdRdWFkPiBDQ1N0cmVhbVZpZGVvRHJhd1F1YWQ6OmNyZWF0ZShjb25zdCBDQ1No
YXJlZFF1YWRTdGF0ZSogc2hhcmVkUXVhZFN0YXRlLCBjb25zdCBJbnRSZWN0JiBxdWFkUmVjdCwg
dW5zaWduZWQgdGV4dHVyZUlkLCBjb25zdCBXZWJLaXQ6OldlYlRyYW5zZm9ybWF0aW9uTWF0cml4
JiBtYXRyaXgpCit7CisgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBDQ1N0cmVhbVZpZGVvRHJhd1F1
YWQoc2hhcmVkUXVhZFN0YXRlLCBxdWFkUmVjdCwgdGV4dHVyZUlkLCBtYXRyaXgpKTsKK30KKwor
Q0NTdHJlYW1WaWRlb0RyYXdRdWFkOjpDQ1N0cmVhbVZpZGVvRHJhd1F1YWQoY29uc3QgQ0NTaGFy
ZWRRdWFkU3RhdGUqIHNoYXJlZFF1YWRTdGF0ZSwgY29uc3QgSW50UmVjdCYgcXVhZFJlY3QsIHVu
c2lnbmVkIHRleHR1cmVJZCwgY29uc3QgV2ViS2l0OjpXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCYg
bWF0cml4KQorICAgIDogQ0NEcmF3UXVhZChzaGFyZWRRdWFkU3RhdGUsIENDRHJhd1F1YWQ6OlN0
cmVhbVZpZGVvQ29udGVudCwgcXVhZFJlY3QpCisgICAgLCBtX3RleHR1cmVJZCh0ZXh0dXJlSWQp
CisgICAgLCBtX21hdHJpeChtYXRyaXgpCit7Cit9CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU3RyZWFtVmlkZW9EcmF3UXVh
ZC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTdHJl
YW1WaWRlb0RyYXdRdWFkLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzAzNzM0OGQzNTRmNmViN2U5NzhhNTRlNWM4
N2E2ZDZkNDYyMGI2ZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU3RyZWFtVmlkZW9EcmF3UXVhZC5oCkBAIC0wLDAgKzEs
NTIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICog
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaWZuZGVmIENDU3RyZWFtVmlkZW9EcmF3UXVhZF9oCisjZGVmaW5lIEND
U3RyZWFtVmlkZW9EcmF3UXVhZF9oCisKKyNpbmNsdWRlICJjYy9DQ0RyYXdRdWFkLmgiCisjaW5j
bHVkZSA8cHVibGljL1dlYlRyYW5zZm9ybWF0aW9uTWF0cml4Lmg+CisjaW5jbHVkZSA8d3RmL1Bh
c3NPd25QdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBDQ1N0cmVhbVZpZGVv
RHJhd1F1YWQgOiBwdWJsaWMgQ0NEcmF3UXVhZCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
Q0NTdHJlYW1WaWRlb0RyYXdRdWFkKTsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc093blB0cjxD
Q1N0cmVhbVZpZGVvRHJhd1F1YWQ+IGNyZWF0ZShjb25zdCBDQ1NoYXJlZFF1YWRTdGF0ZSosIGNv
bnN0IEludFJlY3QmLCB1bnNpZ25lZCB0ZXh0dXJlSWQsIGNvbnN0IFdlYktpdDo6V2ViVHJhbnNm
b3JtYXRpb25NYXRyaXgmKTsKKworICAgIHVuc2lnbmVkIHRleHR1cmVJZCgpIGNvbnN0IHsgcmV0
dXJuIG1fdGV4dHVyZUlkOyB9CisgICAgY29uc3QgV2ViS2l0OjpXZWJUcmFuc2Zvcm1hdGlvbk1h
dHJpeCYgbWF0cml4KCkgY29uc3QgeyByZXR1cm4gbV9tYXRyaXg7IH0KKworcHJpdmF0ZToKKyAg
ICBDQ1N0cmVhbVZpZGVvRHJhd1F1YWQoY29uc3QgQ0NTaGFyZWRRdWFkU3RhdGUqLCBjb25zdCBJ
bnRSZWN0JiwgdW5zaWduZWQgdGV4dHVyZUlkLCBjb25zdCBXZWJLaXQ6OldlYlRyYW5zZm9ybWF0
aW9uTWF0cml4Jik7CisKKyAgICB1bnNpZ25lZCBtX3RleHR1cmVJZDsKKyAgICBXZWJLaXQ6Oldl
YlRyYW5zZm9ybWF0aW9uTWF0cml4IG1fbWF0cml4OworfTsKKworfQorCisjZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVmlk
ZW9MYXllckltcGwuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vY2MvQ0NWaWRlb0xheWVySW1wbC5jcHAKaW5kZXggNGZjYjg0YTI1YTk0YWZlZGVhZTlkYTcz
MjliYThjZDQxOGM5NjVjMC4uOTFhYmNkZGFhNmVmODhkMzUyNjFlNmZiYTExN2Y4MGRmZDljZjMx
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
Y2MvQ0NWaWRlb0xheWVySW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vY2MvQ0NWaWRlb0xheWVySW1wbC5jcHAKQEAgLTM5LDYgKzM5LDcgQEAK
ICNpbmNsdWRlICJjYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmgiCiAjaW5jbHVkZSAiY2MvQ0NQcm94
eS5oIgogI2luY2x1ZGUgImNjL0NDUXVhZEN1bGxlci5oIgorI2luY2x1ZGUgImNjL0NDU3RyZWFt
VmlkZW9EcmF3UXVhZC5oIgogI2luY2x1ZGUgImNjL0NDVGV4dHVyZURyYXdRdWFkLmgiCiAjaW5j
bHVkZSAiY2MvQ0NWaWRlb0RyYXdRdWFkLmgiCiAjaW5jbHVkZSA8cHVibGljL1dlYlZpZGVvRnJh
bWUuaD4KQEAgLTE4MiwxMiArMTgzLDExIEBAIHZvaWQgQ0NWaWRlb0xheWVySW1wbDo6YXBwZW5k
UXVhZHMoQ0NRdWFkQ3VsbGVyJiBxdWFkTGlzdCwgY29uc3QgQ0NTaGFyZWRRdWFkU3RhCiAgICAg
Ly8gb3RoZXJ3aXNlIHN5bmNob25pemUgdXNlIG9mIGFsbCB0ZXh0dXJlcyBpbiB0aGUgcXVhZC4K
IAogICAgIEludFJlY3QgcXVhZFJlY3QoSW50UG9pbnQoKSwgYm91bmRzKCkpOwotICAgIFdlYktp
dDo6V2ViVHJhbnNmb3JtYXRpb25NYXRyaXggbWF0cml4OwogCiAgICAgc3dpdGNoIChtX2Zvcm1h
dCkgewogICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0M0Q6OkxVTUlOQU5DRTogewogICAgICAgICAv
LyBZVVYgc29mdHdhcmUgZGVjb2Rlci4KLSAgICAgICAgT3duUHRyPENDVmlkZW9EcmF3UXVhZD4g
dmlkZW9RdWFkID0gQ0NWaWRlb0RyYXdRdWFkOjpjcmVhdGUoc2hhcmVkUXVhZFN0YXRlLCBxdWFk
UmVjdCwgbV9mcmFtZVBsYW5lcywgMCwgbV9mb3JtYXQsIG1hdHJpeCk7CisgICAgICAgIE93blB0
cjxDQ1ZpZGVvRHJhd1F1YWQ+IHZpZGVvUXVhZCA9IENDVmlkZW9EcmF3UXVhZDo6Y3JlYXRlKHNo
YXJlZFF1YWRTdGF0ZSwgcXVhZFJlY3QsIG1fZnJhbWVQbGFuZXMsIDAsIG1fZm9ybWF0LCBXZWJL
aXQ6OldlYlRyYW5zZm9ybWF0aW9uTWF0cml4KCkpOwogICAgICAgICBxdWFkTGlzdC5hcHBlbmQo
dmlkZW9RdWFkLnJlbGVhc2UoKSk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KQEAgLTIxNCw5ICsy
MTQsOCBAQCB2b2lkIENDVmlkZW9MYXllckltcGw6OmFwcGVuZFF1YWRzKENDUXVhZEN1bGxlciYg
cXVhZExpc3QsIGNvbnN0IENDU2hhcmVkUXVhZFN0YQogICAgIH0KICAgICBjYXNlIEV4dGVuc2lv
bnMzRENocm9taXVtOjpHTF9URVhUVVJFX0VYVEVSTkFMX09FUzogewogICAgICAgICAvLyBTdHJl
YW1UZXh0dXJlIGhhcmR3YXJlIGRlY29kZXIuCi0gICAgICAgIG1hdHJpeCA9IG1fc3RyZWFtVGV4
dHVyZU1hdHJpeDsKLSAgICAgICAgT3duUHRyPENDVmlkZW9EcmF3UXVhZD4gdmlkZW9RdWFkID0g
Q0NWaWRlb0RyYXdRdWFkOjpjcmVhdGUoc2hhcmVkUXVhZFN0YXRlLCBxdWFkUmVjdCwgbV9mcmFt
ZVBsYW5lcywgbV9mcmFtZS0+dGV4dHVyZUlkKCksIG1fZm9ybWF0LCBtYXRyaXgpOwotICAgICAg
ICBxdWFkTGlzdC5hcHBlbmQodmlkZW9RdWFkLnJlbGVhc2UoKSk7CisgICAgICAgIE93blB0cjxD
Q1N0cmVhbVZpZGVvRHJhd1F1YWQ+IHN0cmVhbVZpZGVvUXVhZCA9IENDU3RyZWFtVmlkZW9EcmF3
UXVhZDo6Y3JlYXRlKHNoYXJlZFF1YWRTdGF0ZSwgcXVhZFJlY3QsIG1fZnJhbWUtPnRleHR1cmVJ
ZCgpLCBtX3N0cmVhbVRleHR1cmVNYXRyaXgpOworICAgICAgICBxdWFkTGlzdC5hcHBlbmQoc3Ry
ZWFtVmlkZW9RdWFkLnJlbGVhc2UoKSk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KICAgICBkZWZh
dWx0Ogo=
</data>

          </attachment>
      

    </bug>

</bugzilla>