<?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>81516</bug_id>
          
          <creation_ts>2012-03-19 09:14:17 -0700</creation_ts>
          <short_desc>REGRESSION (r107435) URLs copied from WebKit apps aren&apos;t in the right pasteboard format</short_desc>
          <delta_ts>2012-03-19 16:21:18 -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>HTML Editing</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brady Eidson">beidson</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          <cc>enrica</cc>
    
    <cc>gustavo</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>581851</commentid>
    <comment_count>0</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-03-19 09:14:17 -0700</bug_when>
    <thetext>REGRESSION (r107435) URLs copied from WebKit apps aren&apos;t in the right pasteboard format


In writeURLForTypes in PasteboardMac.mm

Before 107435:
if ([types containsObject:NSURLPboardType])
    [cocoaURL writeToPasteboard:pasteboard];

After 107435:
if (types.contains(String(NSURLPboardType)))
    platformStrategies()-&gt;pasteboardStrategy()-&gt;setStringForType([cocoaURL absoluteString], NSURLPboardType, pasteboardName);

URLs have to paste themselves to the pasteboard to get the right plist format the system expects.

Patch forthcoming.

In radar as &lt;rdar://problem/10848575&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582234</commentid>
    <comment_count>1</comment_count>
      <attachid>132669</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-03-19 14:16:54 -0700</bug_when>
    <thetext>Created attachment 132669
Patch with API test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582239</commentid>
    <comment_count>2</comment_count>
      <attachid>132669</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-03-19 14:21:46 -0700</bug_when>
    <thetext>Comment on attachment 132669
Patch with API test

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

The change looks good to me but I&apos;ll let mac port folks take a look.

&gt; Source/WebCore/ChangeLog:4
&gt; +        REGRESSION (r107435) URLs copied from WebKit apps aren&apos;t in the right pasteboard format

Summary should appear before the bug urls.
Also, people tend to put rdar and bugzilla urls on separate lines.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582240</commentid>
    <comment_count>3</comment_count>
      <attachid>132669</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-03-19 14:21:54 -0700</bug_when>
    <thetext>Comment on attachment 132669
Patch with API test

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

The change looks good to me but I&apos;ll let mac port folks take a look.

&gt; Source/WebCore/ChangeLog:4
&gt; +        REGRESSION (r107435) URLs copied from WebKit apps aren&apos;t in the right pasteboard format

Summary should appear before the bug urls.
Also, people tend to put rdar and bugzilla urls on separate lines.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582247</commentid>
    <comment_count>4</comment_count>
      <attachid>132669</attachid>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2012-03-19 14:26:24 -0700</bug_when>
    <thetext>Comment on attachment 132669
Patch with API test

The patch is correct, but I think you could simplify it. There is no need to add a new message for webkit2, you can use the same message used to set the string type and implement a different behavior based on the pasteboard type.
This way you don&apos;t need to add a new message and you need no changes to platform strategies. The only changes required are in WebContextMac.mm in setPasteboardString.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582252</commentid>
    <comment_count>5</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-03-19 14:29:10 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 132669 [details])
&gt; The patch is correct, but I think you could simplify it. There is no need to add a new message for webkit2, you can use the same message used to set the string type and implement a different behavior based on the pasteboard type.
&gt; This way you don&apos;t need to add a new message and you need no changes to platform strategies. The only changes required are in WebContextMac.mm in setPasteboardString.

I can see that being reasonable.  It will - unfortunately - make this mechanism asymmetrical as the &quot;pasting app&quot; fix in http://trac.webkit.org/changeset/111080 added a new message.

I really wish we had the ability to message KURLs but adding that is outside the scope of this patch.

I&apos;ll do what you suggest.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582270</commentid>
    <comment_count>6</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-03-19 14:38:55 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 132669 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=132669&amp;action=review
&gt; 
&gt; The change looks good to me but I&apos;ll let mac port folks take a look.
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:4
&gt; &gt; +        REGRESSION (r107435) URLs copied from WebKit apps aren&apos;t in the right pasteboard format
&gt; 
&gt; Summary should appear before the bug urls.
&gt; Also, people tend to put rdar and bugzilla urls on separate lines.

I&apos;ve done my ChangeLogs like this for years in hundreds of patches.  It&apos;s also not remotely difficult to find many other contributors who&apos;ve done the same.

I actually don&apos;t believe we have style guidelines along these lines, and a cursory glance at past ChangeLogs show there is no standard in practice.

Is there some standard we are now trying to enforce and I&apos;ve missed where it was discussed/published?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582282</commentid>
    <comment_count>7</comment_count>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2012-03-19 14:48:31 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; (From update of attachment 132669 [details] [details])
&gt; &gt; The patch is correct, but I think you could simplify it. There is no need to add a new message for webkit2, you can use the same message used to set the string type and implement a different behavior based on the pasteboard type.
&gt; &gt; This way you don&apos;t need to add a new message and you need no changes to platform strategies. The only changes required are in WebContextMac.mm in setPasteboardString.
&gt; 
&gt; I can see that being reasonable.  It will - unfortunately - make this mechanism asymmetrical as the &quot;pasting app&quot; fix in http://trac.webkit.org/changeset/111080 added a new message.
&gt; 
&gt; I really wish we had the ability to message KURLs but adding that is outside the scope of this patch.
&gt; 
&gt; I&apos;ll do what you suggest.

I had not seen the other patch. I wish I had a chance to chime in.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582283</commentid>
    <comment_count>8</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-03-19 14:49:05 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #5)
&gt; &gt; (In reply to comment #4)
&gt; &gt; &gt; (From update of attachment 132669 [details] [details] [details])
&gt; &gt; &gt; The patch is correct, but I think you could simplify it. There is no need to add a new message for webkit2, you can use the same message used to set the string type and implement a different behavior based on the pasteboard type.
&gt; &gt; &gt; This way you don&apos;t need to add a new message and you need no changes to platform strategies. The only changes required are in WebContextMac.mm in setPasteboardString.
&gt; &gt; 
&gt; &gt; I can see that being reasonable.  It will - unfortunately - make this mechanism asymmetrical as the &quot;pasting app&quot; fix in http://trac.webkit.org/changeset/111080 added a new message.
&gt; &gt; 
&gt; &gt; I really wish we had the ability to message KURLs but adding that is outside the scope of this patch.
&gt; &gt; 
&gt; &gt; I&apos;ll do what you suggest.
&gt; 
&gt; I had not seen the other patch. I wish I had a chance to chime in.

You were singing in New York.  ;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582339</commentid>
    <comment_count>9</comment_count>
      <attachid>132669</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2012-03-19 15:39:00 -0700</bug_when>
    <thetext>Comment on attachment 132669
Patch with API test

Attachment 132669 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/11989371</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582343</commentid>
    <comment_count>10</comment_count>
      <attachid>132690</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-03-19 15:41:59 -0700</bug_when>
    <thetext>Created attachment 132690
Patch v2 - With API test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582353</commentid>
    <comment_count>11</comment_count>
      <attachid>132690</attachid>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2012-03-19 15:49:23 -0700</bug_when>
    <thetext>Comment on attachment 132690
Patch v2 - With API test

It just occurred to me that you can make it even simpler and just change PlatformPasteboard::setStringForType and hide that logic in there. But I&apos;m fine either way.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582365</commentid>
    <comment_count>12</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2012-03-19 15:55:18 -0700</bug_when>
    <thetext>In case you&apos;re wondering the failure gtk-ews reported for the first patch is bogus.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582366</commentid>
    <comment_count>13</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-03-19 15:55:29 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (From update of attachment 132690 [details])
&gt; It just occurred to me that you can make it even simpler and just change PlatformPasteboard::setStringForType and hide that logic in there. But I&apos;m fine either way.

*LOL*  YUP.  I&apos;m going to do it that way.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582367</commentid>
    <comment_count>14</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-03-19 15:55:44 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; In case you&apos;re wondering the failure gtk-ews reported for the first patch is bogus.

It appeared to be... thanks for confirming!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582410</commentid>
    <comment_count>15</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-03-19 16:21:18 -0700</bug_when>
    <thetext>Enrica reviewing the greatly simplified patch spawned from her suggestion on IRC.

Landed in http://trac.webkit.org/changeset/111267</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132669</attachid>
            <date>2012-03-19 14:16:54 -0700</date>
            <delta_ts>2012-03-19 15:41:59 -0700</delta_ts>
            <desc>Patch with API test</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>23893</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAyNGVmN2Q2Li5lMzQ0ZmViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjgg
QEAKKzIwMTItMDMtMTkgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS8xMDg0ODU3NT4gYW5kIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD04MTUxNgorICAgICAgICBSRUdSRVNTSU9OIChyMTA3NDM1KSBVUkxz
IGNvcGllZCBmcm9tIFdlYktpdCBhcHBzIGFyZW4ndCBpbiB0aGUgcmlnaHQgcGFzdGVib2FyZCBm
b3JtYXQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBy
MTA3NDM1IHN0YXJ0ZWQgc2F2aW5nL3Jlc3RvcmluZyBVUkxzIGFzIHN0cmluZ3MuCisgICAgICAg
IFdlIG5lZWQgdG8gZ28gYmFjayB0byBzZXR0aW5nIHRoZSBVUkwgb24gdGhlIHBhc3RlYm9hcmQg
dXNpbmcgQXBwS2l0IFVSTCBwYXN0ZWJvYXJkIEFQSXMuCisKKyAgICAgICAgV2ViS2l0IEFQSSB0
ZXN0OiBDb250ZXh0TWVudUNhbkNvcHlVUkwKKyAgICAgICAgTm8gV2ViS2l0MiBBUEkgdGVzdCBw
b3NzaWJsZSBhdCB0aGlzIHRpbWUuCisKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKKworICAg
ICAgICAqIHBsYXRmb3JtL1Bhc3RlYm9hcmRTdHJhdGVneS5oOgorICAgICAgICAoUGFzdGVib2Fy
ZFN0cmF0ZWd5KTogQWRkIHNldFVSTCgpCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvUGFzdGVi
b2FyZE1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OndyaXRlVVJMRm9yVHlwZXMpOiBVc2UgdGhl
IG5ldyBzZXRVUkwoKSBzdHJhdGVneS4KKworICAgICAgICAqIHBsYXRmb3JtL1BsYXRmb3JtUGFz
dGVib2FyZC5oOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9QbGF0Zm9ybVBhc3RlYm9hcmRNYWMu
bW06CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybVBhc3RlYm9hcmQ6OnNldFVSTCk6IFVzZSBb
TlNVUkwgd3JpdGVUb1Bhc3RlYm9hcmQ6XQorCiAyMDEyLTAzLTE2ICBCcmFkeSBFaWRzb24gIDxi
ZWlkc29uQGFwcGxlLmNvbT4KIAogICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTEwMjc5OTc+IGFu
ZCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODE0MTIKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5leHAuaW4KaW5kZXggZDljYzQyNi4uMDU4MDRjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAg
LTU0OCw2ICs1NDgsNyBAQCBfX1pON1dlYkNvcmUxOFBsYXRmb3JtUGFzdGVib2FyZDEzc3RyaW5n
Rm9yVHlwZUVSS04zV1RGNlN0cmluZ0UKIF9fWk43V2ViQ29yZTE4UGxhdGZvcm1QYXN0ZWJvYXJk
MTlzZXRQYXRobmFtZXNGb3JUeXBlRVJLTjNXVEY2VmVjdG9ySU5TMV82U3RyaW5nRUxtMEVFRVJL
UzNfCiBfX1pON1dlYkNvcmUxOFBsYXRmb3JtUGFzdGVib2FyZDE5Z2V0UGF0aG5hbWVzRm9yVHlw
ZUVSTjNXVEY2VmVjdG9ySU5TMV82U3RyaW5nRUxtMEVFRVJLUzNfCiBfX1pON1dlYkNvcmUxOFBs
YXRmb3JtUGFzdGVib2FyZDN1cmxFdgorX19aTjdXZWJDb3JlMThQbGF0Zm9ybVBhc3RlYm9hcmQ2
c2V0VVJMRVJLTlNfNEtVUkxFCiBfX1pON1dlYkNvcmUxOFBsYXRmb3JtUGFzdGVib2FyZDhhZGRU
eXBlc0VSS04zV1RGNlZlY3RvcklOUzFfNlN0cmluZ0VMbTBFRUUKIF9fWk43V2ViQ29yZTE4UGxh
dGZvcm1QYXN0ZWJvYXJkOHNldFR5cGVzRVJLTjNXVEY2VmVjdG9ySU5TMV82U3RyaW5nRUxtMEVF
RQogX19aTjdXZWJDb3JlMThQbGF0Zm9ybVBhc3RlYm9hcmRDMUVSS04zV1RGNlN0cmluZ0UKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmRTdHJhdGVneS5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZFN0cmF0ZWd5LmgKaW5kZXggZjkyMmM2
Ni4uZmQ0OTkxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2Fy
ZFN0cmF0ZWd5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZFN0cmF0
ZWd5LmgKQEAgLTU2LDYgKzU2LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBzZXRCdWZm
ZXJGb3JUeXBlKFBhc3NSZWZQdHI8U2hhcmVkQnVmZmVyPiwgY29uc3QgU3RyaW5nJiBwYXN0ZWJv
YXJkVHlwZSwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSkgPSAwOwogICAgIHZpcnR1YWwg
dm9pZCBzZXRQYXRobmFtZXNGb3JUeXBlKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiwgY29uc3QgU3Ry
aW5nJiBwYXN0ZWJvYXJkVHlwZSwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSkgPSAwOwog
ICAgIHZpcnR1YWwgdm9pZCBzZXRTdHJpbmdGb3JUeXBlKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0
cmluZyYgcGFzdGVib2FyZFR5cGUsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUpID0gMDsK
KyAgICB2aXJ0dWFsIHZvaWQgc2V0VVJMKGNvbnN0IEtVUkwmLCBjb25zdCBTdHJpbmcmIHBhc3Rl
Ym9hcmROYW1lKSA9IDA7CiAjZW5kaWYKIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIH5QYXN0ZWJv
YXJkU3RyYXRlZ3koKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZv
cm1QYXN0ZWJvYXJkLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVBhc3RlYm9h
cmQuaAppbmRleCAyN2VmMzkxLi4xYjgxZmY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9QbGF0Zm9ybVBhc3RlYm9hcmQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9QbGF0Zm9ybVBhc3RlYm9hcmQuaApAQCAtNTksNiArNTksNyBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBzZXRCdWZmZXJGb3JUeXBlKFBhc3NSZWZQdHI8U2hhcmVkQnVmZmVyPiwgY29uc3QgU3RyaW5n
JiBwYXN0ZWJvYXJkVHlwZSk7CiAgICAgdm9pZCBzZXRQYXRobmFtZXNGb3JUeXBlKGNvbnN0IFZl
Y3RvcjxTdHJpbmc+JiBwYXRobmFtZXMsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZFR5cGUpOwog
ICAgIHZvaWQgc2V0U3RyaW5nRm9yVHlwZShjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmIHBh
c3RlYm9hcmRUeXBlKTsKKyAgICB2b2lkIHNldFVSTChjb25zdCBLVVJMJik7CiAKIHByaXZhdGU6
CiAjaWYgUExBVEZPUk0oTUFDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWFjL1Bhc3RlYm9hcmRNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGFzdGVi
b2FyZE1hYy5tbQppbmRleCA3YjE1NzdkLi4zMjllZjZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tYWMvUGFzdGVib2FyZE1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tYWMvUGFzdGVib2FyZE1hYy5tbQpAQCAtMjMwLDcgKzIzMCw3IEBAIHN0YXRpYyB2
b2lkIHdyaXRlVVJMRm9yVHlwZXMoY29uc3QgVmVjdG9yPFN0cmluZz4mIHR5cGVzLCBjb25zdCBT
dHJpbmcmIHBhc3RlYm9hCiAgICAgICAgIHBsYXRmb3JtU3RyYXRlZ2llcygpLT5wYXN0ZWJvYXJk
U3RyYXRlZ3koKS0+c2V0UGF0aG5hbWVzRm9yVHlwZShwYXRocywgV2ViVVJMc1dpdGhUaXRsZXNQ
Ym9hcmRUeXBlLCBwYXN0ZWJvYXJkTmFtZSk7CiAgICAgfQogICAgIGlmICh0eXBlcy5jb250YWlu
cyhTdHJpbmcoTlNVUkxQYm9hcmRUeXBlKSkpCi0gICAgICAgIHBsYXRmb3JtU3RyYXRlZ2llcygp
LT5wYXN0ZWJvYXJkU3RyYXRlZ3koKS0+c2V0U3RyaW5nRm9yVHlwZShbY29jb2FVUkwgYWJzb2x1
dGVTdHJpbmddLCBOU1VSTFBib2FyZFR5cGUsIHBhc3RlYm9hcmROYW1lKTsKKyAgICAgICAgcGxh
dGZvcm1TdHJhdGVnaWVzKCktPnBhc3RlYm9hcmRTdHJhdGVneSgpLT5zZXRVUkwoY29jb2FVUkws
IHBhc3RlYm9hcmROYW1lKTsKICAgICBpZiAodHlwZXMuY29udGFpbnMoV2ViVVJMUGJvYXJkVHlw
ZSkpCiAgICAgICAgIHBsYXRmb3JtU3RyYXRlZ2llcygpLT5wYXN0ZWJvYXJkU3RyYXRlZ3koKS0+
c2V0U3RyaW5nRm9yVHlwZSh1c2VyVmlzaWJsZVN0cmluZywgV2ViVVJMUGJvYXJkVHlwZSwgcGFz
dGVib2FyZE5hbWUpOwogICAgIGlmICh0eXBlcy5jb250YWlucyhXZWJVUkxOYW1lUGJvYXJkVHlw
ZSkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGxhdGZvcm1QYXN0
ZWJvYXJkTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1BsYXRmb3JtUGFzdGVi
b2FyZE1hYy5tbQppbmRleCA2YjIwNWIwLi42MTIzNWM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tYWMvUGxhdGZvcm1QYXN0ZWJvYXJkTWFjLm1tCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21hYy9QbGF0Zm9ybVBhc3RlYm9hcmRNYWMubW0KQEAgLTE0OSw0ICsx
NDksOSBAQCB2b2lkIFBsYXRmb3JtUGFzdGVib2FyZDo6c2V0U3RyaW5nRm9yVHlwZShjb25zdCBT
dHJpbmcmIHN0cmluZywgY29uc3QgU3RyaW5nJiBwYQogICAgIFttX3Bhc3RlYm9hcmQuZ2V0KCkg
c2V0U3RyaW5nOnN0cmluZyBmb3JUeXBlOnBhc3RlYm9hcmRUeXBlXTsKIH0KIAordm9pZCBQbGF0
Zm9ybVBhc3RlYm9hcmQ6OnNldFVSTChjb25zdCBLVVJMJiB1cmwpCit7CisgICAgWyhOU1VSTCAq
KXVybCB3cml0ZVRvUGFzdGVib2FyZDptX3Bhc3RlYm9hcmQuZ2V0KCldOworfQorCiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9D
aGFuZ2VMb2cKaW5kZXggMTIwYmQ0Ny4uZjAxYTRhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE3IEBACisyMDEyLTAzLTE5ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4K
KworICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTA4NDg1NzU+IGFuZCBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODE1MTYKKyAgICAgICAgUkVHUkVTU0lPTiAocjEwNzQz
NSkgVVJMcyBjb3BpZWQgZnJvbSBXZWJLaXQgYXBwcyBhcmVuJ3QgaW4gdGhlIHJpZ2h0IHBhc3Rl
Ym9hcmQgZm9ybWF0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgU2V0IHRoZSBVUkwgb24gdGhlIHBhc3RlYm9hcmQgdXNpbmcgQXBwS2l0IFVSTCBwYXN0
ZWJvYXJkIEFQSXMuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0
ZWdpZXMuaDoKKyAgICAgICAgKFdlYlBsYXRmb3JtU3RyYXRlZ2llcyk6CisgICAgICAgICogV2Vi
Q29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLm1tOgorICAgICAgICAoV2ViUGxhdGZv
cm1TdHJhdGVnaWVzOjpzZXRVUkwpOgorCiAyMDEyLTAzLTE2ICBCcmFkeSBFaWRzb24gIDxiZWlk
c29uQGFwcGxlLmNvbT4KIAogICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTEwMjc5OTc+IGFuZCBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODE0MTIKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5o
IGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVz
LmgKaW5kZXggMjJmYWJmZC4uMjIyN2M4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMv
V2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmgKKysrIGIvU291cmNlL1dlYktp
dC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmgKQEAgLTcyLDYgKzcy
LDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgc2V0QnVmZmVyRm9yVHlwZShQYXNzUmVm
UHRyPFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcj4sIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZFR5cGUs
IGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9p
ZCBzZXRQYXRobmFtZXNGb3JUeXBlKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiwgY29uc3QgU3RyaW5n
JiBwYXN0ZWJvYXJkVHlwZSwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSkgT1ZFUlJJREU7
CiAgICAgdmlydHVhbCB2b2lkIHNldFN0cmluZ0ZvclR5cGUoY29uc3QgU3RyaW5nJiwgY29uc3Qg
U3RyaW5nJiBwYXN0ZWJvYXJkVHlwZSwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSkgT1ZF
UlJJREU7CisgICAgdmlydHVhbCB2b2lkIHNldFVSTChjb25zdCBXZWJDb3JlOjpLVVJMJiwgY29u
c3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSkgT1ZFUlJJREU7CiAgICAgCiB9OwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdp
ZXMubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0
ZWdpZXMubW0KaW5kZXggNmY2NTY3YS4uNzVjNGEwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5tbQpAQCAt
MTY3LDMgKzE2Nyw4IEBAIHZvaWQgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpzZXRTdHJpbmdGb3JU
eXBlKGNvbnN0IFN0cmluZyYgc3RyaW5nLCBjb25zdCBTdHJpbmcmCiB7CiAgICAgUGxhdGZvcm1Q
YXN0ZWJvYXJkKHBhc3RlYm9hcmROYW1lKS5zZXRTdHJpbmdGb3JUeXBlKHN0cmluZywgcGFzdGVi
b2FyZFR5cGUpOyAgICAKIH0KKwordm9pZCBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OnNldFVSTChj
b25zdCBLVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUpCit7CisgICAgUGxh
dGZvcm1QYXN0ZWJvYXJkKHBhc3RlYm9hcmROYW1lKS5zZXRVUkwodXJsKTsKK30KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpp
bmRleCBkMDA5MGU0Li4wNDgyYWVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTIt
MDMtMTkgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS8xMDg0ODU3NT4gYW5kIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD04MTUxNgorICAgICAgICBSRUdSRVNTSU9OIChyMTA3NDM1KSBVUkxzIGNvcGllZCBm
cm9tIFdlYktpdCBhcHBzIGFyZW4ndCBpbiB0aGUgcmlnaHQgcGFzdGVib2FyZCBmb3JtYXQKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTZXQgdGhlIFVS
TCBvbiB0aGUgcGFzdGVib2FyZCB1c2luZyBBcHBLaXQgVVJMIHBhc3RlYm9hcmQgQVBJcyBmcm9t
IHRoZSBVSVByb2Nlc3MuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViQ29udGV4dC5oOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9XZWJDb250ZXh0Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9tYWMvV2ViQ29udGV4dE1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViQ29udGV4dDo6
c2V0UGFzdGVib2FyZFVSTCk6CisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBsYXRmb3Jt
U3RyYXRlZ2llczo6c2V0VVJMKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oOgorICAgICAgICAoV2ViUGxhdGZvcm1TdHJhdGVnaWVz
KToKKwogMjAxMi0wMy0xNiAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CiAKICAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzExMDI3OTk3PiBhbmQgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTgxNDEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViQ29udGV4dC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQu
aAppbmRleCBmZmNmOWIzLi5kZWMyOTEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250
ZXh0LmgKQEAgLTIzMiw2ICsyMzIsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgc2V0UGFzdGVib2Fy
ZFBhdGhuYW1lc0ZvclR5cGUoY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgY29uc3QgU3Ry
aW5nJiBwYXN0ZWJvYXJkVHlwZSwgY29uc3QgVmVjdG9yPFN0cmluZz4mIHBhdGhuYW1lcyk7CiAg
ICAgdm9pZCBzZXRQYXN0ZWJvYXJkU3RyaW5nRm9yVHlwZShjb25zdCBTdHJpbmcmIHBhc3RlYm9h
cmROYW1lLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRUeXBlLCBjb25zdCBTdHJpbmcmKTsKICAg
ICB2b2lkIHNldFBhc3RlYm9hcmRCdWZmZXJGb3JUeXBlKGNvbnN0IFN0cmluZyYgcGFzdGVib2Fy
ZE5hbWUsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZFR5cGUsIGNvbnN0IFNoYXJlZE1lbW9yeTo6
SGFuZGxlJiwgdWludDY0X3Qgc2l6ZSk7CisgICAgdm9pZCBzZXRQYXN0ZWJvYXJkVVJMKGNvbnN0
IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIGNvbnN0IFN0cmluZyYgdXJsU3RyaW5nKTsKICNlbmRp
ZgogCiAgICAgdm9pZCBkaWRHZXRXZWJDb3JlU3RhdGlzdGljcyhjb25zdCBTdGF0aXN0aWNzRGF0
YSYsIHVpbnQ2NF90IGNhbGxiYWNrSUQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYkNvbnRleHQubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViQ29udGV4dC5tZXNzYWdlcy5pbgppbmRleCA4NWVhN2EyLi42YjJlMGVjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5tZXNzYWdlcy5pbgorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5tZXNzYWdlcy5pbgpAQCAtNTksNSAr
NTksNiBAQCBtZXNzYWdlcyAtPiBXZWJDb250ZXh0IHsKICAgICBTZXRQYXN0ZWJvYXJkUGF0aG5h
bWVzRm9yVHlwZShXVEY6OlN0cmluZyBwYXN0ZWJvYXJkTmFtZSwgV1RGOjpTdHJpbmcgcGFzdGVi
b2FyZFR5cGUsIFZlY3RvcjxXVEY6OlN0cmluZz4gcGF0aG5hbWVzKQogICAgIFNldFBhc3RlYm9h
cmRTdHJpbmdGb3JUeXBlKFdURjo6U3RyaW5nIHBhc3RlYm9hcmROYW1lLCBXVEY6OlN0cmluZyBw
YXN0ZWJvYXJkVHlwZSwgV1RGOjpTdHJpbmcgc3RyaW5nKQogICAgIFNldFBhc3RlYm9hcmRCdWZm
ZXJGb3JUeXBlKFdURjo6U3RyaW5nIHBhc3RlYm9hcmROYW1lLCBXVEY6OlN0cmluZyBwYXN0ZWJv
YXJkVHlwZSwgV2ViS2l0OjpTaGFyZWRNZW1vcnk6OkhhbmRsZSBoYW5kbGUsIHVpbnQ2NF90IHNp
emUpCisgICAgU2V0UGFzdGVib2FyZFVSTChXVEY6OlN0cmluZyBwYXN0ZWJvYXJkTmFtZSwgV1RG
OjpTdHJpbmcgc3RyaW5nKQogI2VuZGlmCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvbWFjL1dlYkNvbnRleHRNYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
bWFjL1dlYkNvbnRleHRNYWMubW0KaW5kZXggNzg1Yjk1ZS4uMjUxYmI0MCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJDb250ZXh0TWFjLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2ViQ29udGV4dE1hYy5tbQpAQCAtMjM5LDUgKzIzOSwx
MSBAQCB2b2lkIFdlYkNvbnRleHQ6OnNldFBhc3RlYm9hcmRCdWZmZXJGb3JUeXBlKGNvbnN0IFN0
cmluZyYgcGFzdGVib2FyZE5hbWUsIGNvbnN0CiAgICAgUGxhdGZvcm1QYXN0ZWJvYXJkKHBhc3Rl
Ym9hcmROYW1lKS5zZXRCdWZmZXJGb3JUeXBlKGJ1ZmZlciwgcGFzdGVib2FyZFR5cGUpOwogfQog
Cit2b2lkIFdlYkNvbnRleHQ6OnNldFBhc3RlYm9hcmRVUkwoY29uc3QgU3RyaW5nJiBwYXN0ZWJv
YXJkTmFtZSwgY29uc3QgU3RyaW5nJiB1cmxTdHJpbmcpCit7CisgICAgS1VSTCB1cmwoUGFyc2Vk
VVJMU3RyaW5nLCB1cmxTdHJpbmcpOworICAgIFBsYXRmb3JtUGFzdGVib2FyZChwYXN0ZWJvYXJk
TmFtZSkuc2V0VVJMKHVybCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3Jt
U3RyYXRlZ2llcy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAKaW5kZXggMTM4ZDUzOS4uYTUzMGEzNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9y
bVN0cmF0ZWdpZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcApAQCAtMjM4LDYgKzIzOCwxMiBAQCB2b2lk
IFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6c2V0U3RyaW5nRm9yVHlwZShjb25zdCBTdHJpbmcmIHN0
cmluZywgY29uc3QgU3RyaW5nJgogewogICAgIFdlYlByb2Nlc3M6OnNoYXJlZCgpLmNvbm5lY3Rp
b24oKS0+c2VuZChNZXNzYWdlczo6V2ViQ29udGV4dDo6U2V0UGFzdGVib2FyZFN0cmluZ0ZvclR5
cGUocGFzdGVib2FyZE5hbWUsIHBhc3RlYm9hcmRUeXBlLCBzdHJpbmcpLCAwKTsKIH0KKwordm9p
ZCBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OnNldFVSTChjb25zdCBXZWJDb3JlOjpLVVJMJiB1cmws
IGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUpCit7CisgICAgV2ViUHJvY2Vzczo6c2hhcmVk
KCkuY29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpXZWJDb250ZXh0OjpTZXRQYXN0ZWJvYXJk
VVJMKHBhc3RlYm9hcmROYW1lLCB1cmwuc3RyaW5nKCkpLCAwKTsKK30KKwogI2VuZGlmCiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaCBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmgKaW5kZXgg
MDg2ZmQwYS4uODUwMWVmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oCkBAIC03
OCw2ICs3OCw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIHNldEJ1ZmZlckZvclR5cGUo
UGFzc1JlZlB0cjxXZWJDb3JlOjpTaGFyZWRCdWZmZXI+LCBjb25zdCBTdHJpbmcmIHBhc3RlYm9h
cmRUeXBlLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lKSBPVkVSUklERTsKICAgICB2aXJ0
dWFsIHZvaWQgc2V0UGF0aG5hbWVzRm9yVHlwZShjb25zdCBWZWN0b3I8U3RyaW5nPiYsIGNvbnN0
IFN0cmluZyYgcGFzdGVib2FyZFR5cGUsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUpIE9W
RVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBzZXRTdHJpbmdGb3JUeXBlKGNvbnN0IFN0cmluZyYs
IGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZFR5cGUsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5h
bWUpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBzZXRVUkwoY29uc3QgV2ViQ29yZTo6S1VS
TCYsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUpIE9WRVJSSURFOwogI2VuZGlmCiAKICAg
ICBib29sIG1fcGx1Z2luQ2FjaGVJc1BvcHVsYXRlZDsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5n
ZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA5YzQyZWUxLi5jNjhmMjRkIDEwMDY0NAotLS0g
YS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAK
KzIwMTItMDMtMTkgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS8xMDg0ODU3NT4gYW5kIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD04MTUxNgorICAgICAgICBSRUdSRVNTSU9OIChyMTA3NDM1KSBVUkxzIGNv
cGllZCBmcm9tIFdlYktpdCBhcHBzIGFyZW4ndCBpbiB0aGUgcmlnaHQgcGFzdGVib2FyZCBmb3Jt
YXQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBCcmlu
ZyB1cCBhIGNvbnRleHQgbWVudSBvbiBhIGxpbmssIGNvcHkgdGhlIGxpbmssIHRoZW4gdmVyaWZ5
IHRoZSBwYXN0ZWJvYXJkIGNvbnRlbnRzCisgICAgICAgIGFyZSBpbiB0aGUgY29ycmVjdCBmb3Jt
YXQuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL21hYy9Db250ZXh0
TWVudUNhbkNvcHlVUkwuaHRtbDogQWRkZWQuCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0
cy9tYWMvQ29udGV4dE1lbnVDYW5Db3B5VVJMLm1tOiBBZGRlZC4KKyAgICAgICAgKC1bQ29udGV4
dE1lbnVDYW5Db3B5VVJMRGVsZWdhdGUgd2ViVmlldzpkaWRGaW5pc2hMb2FkRm9yRnJhbWU6XSk6
CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpjb250ZXh0TWVudUNvcHlMaW5rKToKKyAgICAgICAg
KFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorCiAyMDEyLTAzLTE2ICBCcmFkeSBFaWRzb24gIDxiZWlk
c29uQGFwcGxlLmNvbT4KIAogICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTEwMjc5OTc+IGFuZCBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODE0MTIKZGlmZiAtLWdpdCBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKaW5kZXggNGU0ZjZlYi4uODMxYThjZSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
QEAgLTM4LDYgKzM4LDggQEAKIAkJNDQwQTFEMzkxNEEwMTAzQTAwOEE2NkYyIC8qIEtVUkwuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQwQTFEMzgx
NEEwMTAzQTAwOEE2NkYyIC8qIEtVUkwuY3BwICovOyB9OwogCQk0QkZERkZBNzEzMTQ3NzZDMDA2
MUYyNEIgLyogSGl0VGVzdFJlc3VsdE5vZGVIYW5kbGVfQnVuZGxlLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRCRkRGRkE2MTMxNDc3NkMwMDYxRjI0
QiAvKiBIaXRUZXN0UmVzdWx0Tm9kZUhhbmRsZV9CdW5kbGUuY3BwICovOyB9OwogCQk0QkZERkZB
OTEzMTQ3Nzc3MDA2MUYyNEIgLyogSGl0VGVzdFJlc3VsdE5vZGVIYW5kbGUuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEJGREZGQTgxMzE0Nzc3NzAw
NjFGMjRCIC8qIEhpdFRlc3RSZXN1bHROb2RlSGFuZGxlLmNwcCAqLzsgfTsKKwkJNTE0MkIyNzEx
NTE3Qzg4QjAwQzMyQjE5IC8qIENvbnRleHRNZW51Q2FuQ29weVVSTC5tbSBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxNDJCMjcwMTUxN0M4OEIwMEMzMkIx
OSAvKiBDb250ZXh0TWVudUNhbkNvcHlVUkwubW0gKi87IH07CisJCTUxNDJCMjczMTUxN0M4Qzgw
MEMzMkIxOSAvKiBDb250ZXh0TWVudUNhbkNvcHlVUkwuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTQyQjI3MjE1MTdDODkxMDBDMzJC
MTkgLyogQ29udGV4dE1lbnVDYW5Db3B5VVJMLmh0bWwgKi87IH07CiAJCTUxRkJCQjREMTUxM0Q0
RTkwMDgyMjczOCAvKiBXZWJWaWV3Q2FuUGFzdGVVUkwubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUZCQkI0QzE1MTNENEU5MDA4MjI3MzggLyogV2Vi
Vmlld0NhblBhc3RlVVJMLm1tICovOyB9OwogCQk1MjBCQ0Y0QzE0MUVCMDlFMDA5MzdFQTggLyog
V2ViQXJjaGl2ZV9CdW5kbGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNTIwQkNGNEExNDFFQjA5RTAwOTM3RUE4IC8qIFdlYkFyY2hpdmVfQnVuZGxl
LmNwcCAqLzsgfTsKIAkJNTIwQkNGNEQxNDFFQjA5RTAwOTM3RUE4IC8qIFdlYkFyY2hpdmUuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTIwQkNGNEIx
NDFFQjA5RTAwOTM3RUE4IC8qIFdlYkFyY2hpdmUuY3BwICovOyB9OwpAQCAtMTU4LDYgKzE2MCw3
IEBACiAJCQlkc3RQYXRoID0gVGVzdFdlYktpdEFQSS5yZXNvdXJjZXM7CiAJCQlkc3RTdWJmb2xk
ZXJTcGVjID0gNzsKIAkJCWZpbGVzID0gKAorCQkJCTUxNDJCMjczMTUxN0M4QzgwMEMzMkIxOSAv
KiBDb250ZXh0TWVudUNhbkNvcHlVUkwuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQkz
NzkwMjhCOTE0RkFDMjRDMDA3RTZCNDMgLyogYWNjZXB0c0ZpcnN0TW91c2UuaHRtbCBpbiBDb3B5
IFJlc291cmNlcyAqLywKIAkJCQkzM0RDODkxMjE0MTk1NUZFMDA3NDdFRjcgLyogc2ltcGxlLWlm
cmFtZS5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCTFBOUU1MkM5MTNFNjVFRjQwMDY5
MTdGNSAvKiAxOC1jaGFyYWN0ZXJzLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCkBAIC0yMTQs
NiArMjE3LDggQEAKIAkJNDRBNjIyQzExNEEwRTJCNjAwNDg1MTVCIC8qIFdURlN0cmluZ1V0aWxp
dGllcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXVEZTdHJpbmdVdGlsaXRp
ZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNEJGREZGQTYxMzE0Nzc2QzAwNjFG
MjRCIC8qIEhpdFRlc3RSZXN1bHROb2RlSGFuZGxlX0J1bmRsZS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBIaXRUZXN0UmVzdWx0Tm9kZUhhbmRsZV9CdW5kbGUuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0QkZERkZBODEzMTQ3Nzc3MDA2MUYyNEIg
LyogSGl0VGVzdFJlc3VsdE5vZGVIYW5kbGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gSGl0VGVzdFJlc3VsdE5vZGVIYW5kbGUuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk1MTQyQjI3MDE1MTdDODhCMDBDMzJCMTkgLyogQ29udGV4dE1lbnVDYW5D
b3B5VVJMLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQ29udGV4
dE1lbnVDYW5Db3B5VVJMLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1MTQyQjI3
MjE1MTdDODkxMDBDMzJCMTkgLyogQ29udGV4dE1lbnVDYW5Db3B5VVJMLmh0bWwgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0Lmh0bWw7IHBhdGggPSBDb250ZXh0TWVudUNhbkNvcHlVUkwuaHRtbDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTFGQkJCNEMxNTEzRDRFOTAwODIyNzM4IC8qIFdlYlZpZXdD
YW5QYXN0ZVVSTC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdl
YlZpZXdDYW5QYXN0ZVVSTC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTIwQkNG
NEExNDFFQjA5RTAwOTM3RUE4IC8qIFdlYkFyY2hpdmVfQnVuZGxlLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkFyY2hpdmVfQnVuZGxlLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTIwQkNGNEIxNDFFQjA5RTAwOTM3RUE4IC8qIFdlYkFyY2hp
dmUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViQXJjaGl2ZS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC01ODgsNiArNTkzLDcgQEAKIAkJCWNo
aWxkcmVuID0gKAogCQkJCUMwN0U2Q0IwMTNGRDczN0MwMDM4QjIyQiAvKiBSZXNvdXJjZXMgKi8s
CiAJCQkJMzc5MDI4QjUxNEZBQkQ5MjAwN0U2QjQzIC8qIEFjY2VwdHNGaXJzdE1vdXNlLm1tICov
LAorCQkJCTUxNDJCMjcwMTUxN0M4OEIwMEMzMkIxOSAvKiBDb250ZXh0TWVudUNhbkNvcHlVUkwu
bW0gKi8sCiAJCQkJMzdEQzY3OEIxNDBEN0M1MDAwQUJDQ0RCIC8qIERPTVJhbmdlT2ZTdHJpbmcu
bW0gKi8sCiAJCQkJQzA3RTZDQUUxM0ZENjc2NTAwMzhCMjJCIC8qIER5bmFtaWNEZXZpY2VTY2Fs
ZUZhY3Rvci5tbSAqLywKIAkJCQkzNzc2QkM2MjE1MDk0NkJDMDA0M0E2NkQgLyogRGV2aWNlU2Nh
bGVGYWN0b3JJbkRhc2hib2FyZFJlZ2lvbnMubW0gKi8sCkBAIC02MDYsOCArNjEyLDkgQEAKIAkJ
CWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCiAJCQkJMzc5MDI4QjgxNEZBQkU0OTAw
N0U2QjQzIC8qIGFjY2VwdHNGaXJzdE1vdXNlLmh0bWwgKi8sCi0JCQkJQzA3RTZDQjExM0ZENzM4
QTAwMzhCMjJCIC8qIGRldmljZVBpeGVsUmF0aW8uaHRtbCAqLywKKwkJCQk1MTQyQjI3MjE1MTdD
ODkxMDBDMzJCMTkgLyogQ29udGV4dE1lbnVDYW5Db3B5VVJMLmh0bWwgKi8sCiAJCQkJMzdEQzY3
OEYxNDBEN0QzQTAwQUJDQ0RCIC8qIERPTVJhbmdlT2ZTdHJpbmcuaHRtbCAqLywKKwkJCQlDMDdF
NkNCMTEzRkQ3MzhBMDAzOEIyMkIgLyogZGV2aWNlUGl4ZWxSYXRpby5odG1sICovLAogCQkJKTsK
IAkJCW5hbWUgPSBSZXNvdXJjZXM7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtODAz
LDYgKzgxMCw3IEBACiAJCQkJMzc5MDI4QjYxNEZBQkQ5MjAwN0U2QjQzIC8qIEFjY2VwdHNGaXJz
dE1vdXNlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMzc3NkJDNjMxNTA5NDZCQzAwNDNBNjZEIC8q
IERldmljZVNjYWxlRmFjdG9ySW5EYXNoYm9hcmRSZWdpb25zLm1tIGluIFNvdXJjZXMgKi8sCiAJ
CQkJNTFGQkJCNEQxNTEzRDRFOTAwODIyNzM4IC8qIFdlYlZpZXdDYW5QYXN0ZVVSTC5tbSBpbiBT
b3VyY2VzICovLAorCQkJCTUxNDJCMjcxMTUxN0M4OEIwMEMzMkIxOSAvKiBDb250ZXh0TWVudUNh
bkNvcHlVUkwubW0gaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVu
dFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvbWFjL0NvbnRleHRNZW51Q2FuQ29weVVSTC5odG1sIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9tYWMvQ29udGV4dE1lbnVDYW5Db3B5VVJMLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uZWNiMzhlYgotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvbWFjL0NvbnRleHRNZW51Q2FuQ29weVVSTC5odG1sCkBAIC0wLDAg
KzEgQEAKK0xvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNpY2lu
ZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9s
b3JlIG1hZ25hIGFsaXF1YS4gVXQgZW5pbSBhZCBtaW5pbSB2ZW5pYW0sIHF1aXMgbm9zdHJ1ZCBl
eGVyY2l0YXRpb24gdWxsYW1jbyBsYWJvcmlzIG5pc2kgdXQgYWxpcXVpcCBleCBlYSBjb21tb2Rv
IGNvbnNlcXVhdC4gRHVpcyBhdXRlIGlydXJlIGRvbG9yIGluIHJlcHJlaGVuZGVyaXQgaW4gdm9s
dXB0YXRlIHZlbGl0IGVzc2UgY2lsbHVtIGRvbG9yZSBldSBmdWdpYXQgbnVsbGEgcGFyaWF0dXIu
IEV4Y2VwdGV1ciBzaW50IG9jY2FlY2F0IGN1cGlkYXRhdCBub24gcHJvaWRlbnQsIHN1bnQgaW4g
Y3VscGEgcXVpIG9mZmljaWEgZGVzZXJ1bnQgbW9sbGl0IGFuaW0gaWQgZXN0IGxhYm9ydW0uPGEg
aHJlZj0naHR0cDovL3d3dy53ZWJraXQub3JnLyc+Q2xpY2sgbWU8L2E+TG9yZW0gaXBzdW0gZG9s
b3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9k
IHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVhLiBVdCBl
bmltIGFkIG1pbmltIHZlbmlhbSwgcXVpcyBub3N0cnVkIGV4ZXJjaXRhdGlvbiB1bGxhbWNvIGxh
Ym9yaXMgbmlzaSB1dCBhbGlxdWlwIGV4IGVhIGNvbW1vZG8gY29uc2VxdWF0LiBEdWlzIGF1dGUg
aXJ1cmUgZG9sb3IgaW4gcmVwcmVoZW5kZXJpdCBpbiB2b2x1cHRhdGUgdmVsaXQgZXNzZSBjaWxs
dW0gZG9sb3JlIGV1IGZ1Z2lhdCBudWxsYSBwYXJpYXR1ci4gRXhjZXB0ZXVyIHNpbnQgb2NjYWVj
YXQgY3VwaWRhdGF0IG5vbiBwcm9pZGVudCwgc3VudCBpbiBjdWxwYSBxdWkgb2ZmaWNpYSBkZXNl
cnVudCBtb2xsaXQgYW5pbSBpZCBlc3QgbGFib3J1bS4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL21hYy9Db250ZXh0TWVu
dUNhbkNvcHlVUkwubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL21hYy9Db250ZXh0TWVu
dUNhbkNvcHlVUkwubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWM5NTM0
MAotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvbWFjL0NvbnRl
eHRNZW51Q2FuQ29weVVSTC5tbQpAQCAtMCwwICsxLDEwNyBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBv
cnQgImNvbmZpZy5oIgorI2ltcG9ydCAiUGxhdGZvcm1VdGlsaXRpZXMuaCIKKyNpbXBvcnQgIlBs
YXRmb3JtV2ViVmlldy5oIgorI2ltcG9ydCAiV1RGU3RyaW5nVXRpbGl0aWVzLmgiCisKKyNpbXBv
cnQgPFdlYktpdC9XZWJWaWV3UHJpdmF0ZS5oPgorI2ltcG9ydCA8V2ViS2l0L0RPTS5oPgorI2lt
cG9ydCA8Q2FyYm9uL0NhcmJvbi5oPgorI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgorCisKK0Bp
bnRlcmZhY2UgQ29udGV4dE1lbnVDYW5Db3B5VVJMRGVsZWdhdGUgOiBOU09iamVjdCB7Cit9CitA
ZW5kCisKK3N0YXRpYyBib29sIGRpZEZpbmlzaExvYWQ7CisKK0BpbXBsZW1lbnRhdGlvbiBDb250
ZXh0TWVudUNhbkNvcHlVUkxEZWxlZ2F0ZQorCistICh2b2lkKXdlYlZpZXc6KFdlYlZpZXcgKilz
ZW5kZXIgZGlkRmluaXNoTG9hZEZvckZyYW1lOihXZWJGcmFtZSAqKWZyYW1lCit7CisgICAgZGlk
RmluaXNoTG9hZCA9IHRydWU7Cit9CisKK0BlbmQKKworbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkg
eworCitzdGF0aWMgdm9pZCBjb250ZXh0TWVudUNvcHlMaW5rKFdlYlZpZXcqIHdlYlZpZXcpCit7
CisgICAgW1tbW3dlYlZpZXcgbWFpbkZyYW1lXSBmcmFtZVZpZXddIGRvY3VtZW50Vmlld10gbGF5
b3V0XTsKKyAgICAKKyAgICBET01Eb2N1bWVudCAqZG9jdW1lbnQgPSBbW3dlYlZpZXcgbWFpbkZy
YW1lXSBET01Eb2N1bWVudF07CisgICAgRE9NRWxlbWVudCAqZG9jdW1lbnRFbGVtZW50ID0gW2Rv
Y3VtZW50IGRvY3VtZW50RWxlbWVudF07CisgICAgRE9NSFRNTEFuY2hvckVsZW1lbnQgKmFuY2hv
ciA9IChET01IVE1MQW5jaG9yRWxlbWVudCAqKVtkb2N1bWVudEVsZW1lbnQgcXVlcnlTZWxlY3Rv
cjpAImEiXTsKKworICAgIE5TV2luZG93ICp3aW5kb3cgPSBbd2ViVmlldyB3aW5kb3ddOworICAg
IE5TRXZlbnQgKmV2ZW50ID0gW05TRXZlbnQgbW91c2VFdmVudFdpdGhUeXBlOk5TUmlnaHRNb3Vz
ZURvd24KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbjpO
U01ha2VQb2ludChhbmNob3Iub2Zmc2V0TGVmdCArIGFuY2hvci5vZmZzZXRXaWR0aCAvIDIsIHdp
bmRvdy5mcmFtZS5zaXplLmhlaWdodCAtIChhbmNob3Iub2Zmc2V0VG9wICsgYW5jaG9yLm9mZnNl
dEhlaWdodCAvIDIpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RpZmll
ckZsYWdzOjAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVzdGFt
cDpHZXRDdXJyZW50RXZlbnRUaW1lKCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHdpbmRvd051bWJlcjpbd2luZG93IHdpbmRvd051bWJlcl0KKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dDpbTlNHcmFwaGljc0NvbnRleHQgY3VycmVu
dENvbnRleHRdIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50TnVt
YmVyOjAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpY2tDb3VudDow
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJlc3N1cmU6MC4wXTsK
KworICAgIE5TVmlldyAqc3ViVmlldyA9IFt3ZWJWaWV3IGhpdFRlc3Q6W2V2ZW50IGxvY2F0aW9u
SW5XaW5kb3ddXTsKKyAgICBpZiAoIXN1YlZpZXcpCisgICAgICAgIHJldHVybjsKKworICAgIE5T
TWVudSogbWVudSA9IFtzdWJWaWV3IG1lbnVGb3JFdmVudDpldmVudF07CisgICAgZm9yIChpbnQg
aSA9IDA7IGkgPCBbbWVudSBudW1iZXJPZkl0ZW1zXTsgKytpKSB7CisgICAgICAgIE5TTWVudUl0
ZW0qIG1lbnVJdGVtID0gW21lbnUgaXRlbUF0SW5kZXg6aV07CisgICAgICAgIGlmIChbbWVudUl0
ZW0gdGFnXSAhPSBXZWJNZW51SXRlbVRhZ0NvcHlMaW5rVG9DbGlwYm9hcmQpCisgICAgICAgICAg
ICBjb250aW51ZTsKKyAgICAgICAgICAgIAorICAgICAgICBbbWVudSBwZXJmb3JtQWN0aW9uRm9y
SXRlbUF0SW5kZXg6aV07CisgICAgfQorfQorCisKK1RFU1QoV2ViS2l0MSwgQ29udGV4dE1lbnVD
YW5Db3B5VVJMKQoreworICAgIFJldGFpblB0cjxXZWJWaWV3PiB3ZWJWaWV3KEFkb3B0TlMsIFtb
V2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsMCw4MDAsNjAwKSBmcmFt
ZU5hbWU6bmlsIGdyb3VwTmFtZTpuaWxdKTsKKyAgICBSZXRhaW5QdHI8TlNXaW5kb3c+IHdpbmRv
dyhBZG9wdE5TLCBbW05TV2luZG93IGFsbG9jXSBpbml0V2l0aENvbnRlbnRSZWN0Ok5TTWFrZVJl
Y3QoMTAwLCAxMDAsIDgwMCwgNjAwKSBzdHlsZU1hc2s6TlNCb3JkZXJsZXNzV2luZG93TWFzayBi
YWNraW5nOk5TQmFja2luZ1N0b3JlQnVmZmVyZWQgZGVmZXI6WUVTXSk7CisgICAgUmV0YWluUHRy
PENvbnRleHRNZW51Q2FuQ29weVVSTERlbGVnYXRlPiBkZWxlZ2F0ZShBZG9wdE5TLCBbW0NvbnRl
eHRNZW51Q2FuQ29weVVSTERlbGVnYXRlIGFsbG9jXSBpbml0XSk7CisKKyAgICBbd2luZG93Lmdl
dCgpLmNvbnRlbnRWaWV3IGFkZFN1YnZpZXc6d2ViVmlldy5nZXQoKV07CisgICAgd2ViVmlldy5n
ZXQoKS5mcmFtZUxvYWREZWxlZ2F0ZSA9IGRlbGVnYXRlLmdldCgpOworCisgICAgW3dlYlZpZXcu
Z2V0KCkubWFpbkZyYW1lIGxvYWRSZXF1ZXN0OltOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6
W1tOU0J1bmRsZSBtYWluQnVuZGxlXSBVUkxGb3JSZXNvdXJjZTpAIkNvbnRleHRNZW51Q2FuQ29w
eVVSTCIgd2l0aEV4dGVuc2lvbjpAImh0bWwiIHN1YmRpcmVjdG9yeTpAIlRlc3RXZWJLaXRBUEku
cmVzb3VyY2VzIl1dXTsKKyAgICAKKyAgICBVdGlsOjpydW4oJmRpZEZpbmlzaExvYWQpOworCisg
ICAgY29udGV4dE1lbnVDb3B5TGluayh3ZWJWaWV3LmdldCgpKTsKKyAgICAKKyAgICBOU1VSTCAq
dXJsID0gW05TVVJMIFVSTEZyb21QYXN0ZWJvYXJkOltOU1Bhc3RlYm9hcmQgZ2VuZXJhbFBhc3Rl
Ym9hcmRdXTsKKyAgICBFWFBFQ1RfRVEoU3RyaW5nKCJodHRwOi8vd3d3LndlYmtpdC5vcmcvIiks
IFN0cmluZyhbdXJsIGFic29sdXRlU3RyaW5nXSkpOworfQorCit9IC8vIG5hbWVzcGFjZSBUZXN0
V2ViS2l0QVBJCg==
</data>
<flag name="commit-queue"
          id="136413"
          type_id="3"
          status="-"
          setter="gustavo"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132690</attachid>
            <date>2012-03-19 15:41:59 -0700</date>
            <delta_ts>2012-03-19 15:49:23 -0700</delta_ts>
            <desc>Patch v2 - With API test</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>18135</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBjZjgzYWUwLi4zMjVhMWRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMg
QEAKKzIwMTItMDMtMTkgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS8xMDg0ODU3NT4gYW5kIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD04MTUxNgorICAgICAgICBSRUdSRVNTSU9OIChyMTA3NDM1KSBVUkxz
IGNvcGllZCBmcm9tIFdlYktpdCBhcHBzIGFyZW4ndCBpbiB0aGUgcmlnaHQgcGFzdGVib2FyZCBm
b3JtYXQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBy
MTA3NDM1IHN0YXJ0ZWQgc2F2aW5nL3Jlc3RvcmluZyBVUkxzIGFzIHN0cmluZ3MuCisgICAgICAg
IFdlIG5lZWQgdG8gZ28gYmFjayB0byBzZXR0aW5nIHRoZSBVUkwgb24gdGhlIHBhc3RlYm9hcmQg
dXNpbmcgQXBwS2l0IFVSTCBwYXN0ZWJvYXJkIEFQSXMuCisKKyAgICAgICAgV2ViS2l0IEFQSSB0
ZXN0OiBDb250ZXh0TWVudUNhbkNvcHlVUkwKKyAgICAgICAgTm8gV2ViS2l0MiBBUEkgdGVzdCBw
b3NzaWJsZSBhdCB0aGlzIHRpbWUuCisKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKKworICAg
ICAgICAqIHBsYXRmb3JtL1BsYXRmb3JtUGFzdGVib2FyZC5oOgorICAgICAgICAoUGxhdGZvcm1Q
YXN0ZWJvYXJkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvUGxhdGZvcm1QYXN0ZWJvYXJkTWFj
Lm1tOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1QYXN0ZWJvYXJkOjpzZXRVUkwpOgorCiAy
MDEyLTAzLTE5ICBFbWlsIEEgRWtsdW5kICA8ZWFlQGNocm9taXVtLm9yZz4KIAogICAgICAgICBD
b3JyZWN0IHVzYWdlIG9mIExheW91dFVuaXRzIGluIHBhZ2UgY29kZSBpbiBwcmVwYXJhdGlvbiBm
b3IgdHVybmluZyBvbiBzdWJwaXhlbCBsYXlvdXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggNzA1
NTBkZi4uMzEzYzg4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4K
KysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTU0OCw2ICs1NDgsNyBAQCBf
X1pON1dlYkNvcmUxOFBsYXRmb3JtUGFzdGVib2FyZDEzc3RyaW5nRm9yVHlwZUVSS04zV1RGNlN0
cmluZ0UKIF9fWk43V2ViQ29yZTE4UGxhdGZvcm1QYXN0ZWJvYXJkMTlzZXRQYXRobmFtZXNGb3JU
eXBlRVJLTjNXVEY2VmVjdG9ySU5TMV82U3RyaW5nRUxtMEVFRVJLUzNfCiBfX1pON1dlYkNvcmUx
OFBsYXRmb3JtUGFzdGVib2FyZDE5Z2V0UGF0aG5hbWVzRm9yVHlwZUVSTjNXVEY2VmVjdG9ySU5T
MV82U3RyaW5nRUxtMEVFRVJLUzNfCiBfX1pON1dlYkNvcmUxOFBsYXRmb3JtUGFzdGVib2FyZDN1
cmxFdgorX19aTjdXZWJDb3JlMThQbGF0Zm9ybVBhc3RlYm9hcmQ2c2V0VVJMRVJLTlNfNEtVUkxF
CiBfX1pON1dlYkNvcmUxOFBsYXRmb3JtUGFzdGVib2FyZDhhZGRUeXBlc0VSS04zV1RGNlZlY3Rv
cklOUzFfNlN0cmluZ0VMbTBFRUUKIF9fWk43V2ViQ29yZTE4UGxhdGZvcm1QYXN0ZWJvYXJkOHNl
dFR5cGVzRVJLTjNXVEY2VmVjdG9ySU5TMV82U3RyaW5nRUxtMEVFRQogX19aTjdXZWJDb3JlMThQ
bGF0Zm9ybVBhc3RlYm9hcmRDMUVSS04zV1RGNlN0cmluZ0UKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtUGFzdGVib2FyZC5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vUGxhdGZvcm1QYXN0ZWJvYXJkLmgKaW5kZXggMjdlZjM5MS4uMWI4MWZmNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1QYXN0ZWJvYXJkLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1QYXN0ZWJvYXJkLmgKQEAgLTU5LDYgKzU5
LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0QnVmZmVyRm9yVHlwZShQYXNzUmVmUHRyPFNoYXJl
ZEJ1ZmZlcj4sIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZFR5cGUpOwogICAgIHZvaWQgc2V0UGF0
aG5hbWVzRm9yVHlwZShjb25zdCBWZWN0b3I8U3RyaW5nPiYgcGF0aG5hbWVzLCBjb25zdCBTdHJp
bmcmIHBhc3RlYm9hcmRUeXBlKTsKICAgICB2b2lkIHNldFN0cmluZ0ZvclR5cGUoY29uc3QgU3Ry
aW5nJiwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkVHlwZSk7CisgICAgdm9pZCBzZXRVUkwoY29u
c3QgS1VSTCYpOwogCiBwcml2YXRlOgogI2lmIFBMQVRGT1JNKE1BQykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QbGF0Zm9ybVBhc3RlYm9hcmRNYWMubW0gYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGxhdGZvcm1QYXN0ZWJvYXJkTWFjLm1tCmluZGV4IDZi
MjA1YjAuLjYxMjM1YzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9Q
bGF0Zm9ybVBhc3RlYm9hcmRNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFj
L1BsYXRmb3JtUGFzdGVib2FyZE1hYy5tbQpAQCAtMTQ5LDQgKzE0OSw5IEBAIHZvaWQgUGxhdGZv
cm1QYXN0ZWJvYXJkOjpzZXRTdHJpbmdGb3JUeXBlKGNvbnN0IFN0cmluZyYgc3RyaW5nLCBjb25z
dCBTdHJpbmcmIHBhCiAgICAgW21fcGFzdGVib2FyZC5nZXQoKSBzZXRTdHJpbmc6c3RyaW5nIGZv
clR5cGU6cGFzdGVib2FyZFR5cGVdOwogfQogCit2b2lkIFBsYXRmb3JtUGFzdGVib2FyZDo6c2V0
VVJMKGNvbnN0IEtVUkwmIHVybCkKK3sKKyAgICBbKE5TVVJMICopdXJsIHdyaXRlVG9QYXN0ZWJv
YXJkOm1fcGFzdGVib2FyZC5nZXQoKV07Cit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCAxMjBi
ZDQ3Li41MDRhMWI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMDMt
MTkgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS8xMDg0ODU3NT4gYW5kIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD04MTUxNgorICAgICAgICBSRUdSRVNTSU9OIChyMTA3NDM1KSBVUkxzIGNvcGllZCBmcm9t
IFdlYktpdCBhcHBzIGFyZW4ndCBpbiB0aGUgcmlnaHQgcGFzdGVib2FyZCBmb3JtYXQKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBw
b3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5tbToKKyAgICAgICAgKFdlYlBsYXRmb3JtU3RyYXRl
Z2llczo6c2V0U3RyaW5nRm9yVHlwZSk6CisKIDIwMTItMDMtMTYgIEJyYWR5IEVpZHNvbiAgPGJl
aWRzb25AYXBwbGUuY29tPgogCiAgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMTAyNzk5Nz4gYW5k
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MTQxMgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVz
Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVn
aWVzLm1tCmluZGV4IDZmNjU2N2EuLmI1YzI1NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
bWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMubW0KQEAgLTE2
NSw1ICsxNjUsOCBAQCB2b2lkIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6c2V0UGF0aG5hbWVzRm9y
VHlwZShjb25zdCBWZWN0b3I8U3RyaW5nPiYgcGF0aG5hbWVzLAogCiB2b2lkIFdlYlBsYXRmb3Jt
U3RyYXRlZ2llczo6c2V0U3RyaW5nRm9yVHlwZShjb25zdCBTdHJpbmcmIHN0cmluZywgY29uc3Qg
U3RyaW5nJiBwYXN0ZWJvYXJkVHlwZSwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSkKIHsK
LSAgICBQbGF0Zm9ybVBhc3RlYm9hcmQocGFzdGVib2FyZE5hbWUpLnNldFN0cmluZ0ZvclR5cGUo
c3RyaW5nLCBwYXN0ZWJvYXJkVHlwZSk7ICAgIAorICAgIGlmIChwYXN0ZWJvYXJkVHlwZSA9PSBT
dHJpbmcoTlNVUkxQYm9hcmRUeXBlKSkKKyAgICAgICAgUGxhdGZvcm1QYXN0ZWJvYXJkKHBhc3Rl
Ym9hcmROYW1lKS5zZXRVUkwoS1VSTChQYXJzZWRVUkxTdHJpbmcsIHN0cmluZykpOworICAgIGVs
c2UKKyAgICAgICAgUGxhdGZvcm1QYXN0ZWJvYXJkKHBhc3RlYm9hcmROYW1lKS5zZXRTdHJpbmdG
b3JUeXBlKHN0cmluZywgcGFzdGVib2FyZFR5cGUpOyAgIAogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDc1MWRj
YmIuLmRjNDYyOGIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTItMDMtMTkgIEJy
YWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS8xMDg0ODU3NT4gYW5kIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04
MTUxNgorICAgICAgICBSRUdSRVNTSU9OIChyMTA3NDM1KSBVUkxzIGNvcGllZCBmcm9tIFdlYktp
dCBhcHBzIGFyZW4ndCBpbiB0aGUgcmlnaHQgcGFzdGVib2FyZCBmb3JtYXQKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvV2Vi
Q29udGV4dE1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViQ29udGV4dDo6c2V0UGFzdGVib2Fy
ZFN0cmluZ0ZvclR5cGUpOgorCisKIDIwMTItMDMtMTkgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxh
cEBhcHBsZS5jb20+CiAKICAgICAgICAgTWFrZSBXZWJGcmFtZUxvYWRlckNsaWVudDo6Y3JlYXRl
RnJhbWUgbW9yZSBsaWtlIFdlYktpdDEgdmVyc2lvbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9tYWMvV2ViQ29udGV4dE1hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9tYWMvV2ViQ29udGV4dE1hYy5tbQppbmRleCA3ODViOTVlLi4yYjQxN2M3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYkNvbnRleHRNYWMubW0KKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJDb250ZXh0TWFjLm1tCkBAIC0zMSw2ICsz
MSw4IEBACiAjaW1wb3J0IDxXZWJDb3JlL0NvbG9yLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0ZpbGVT
eXN0ZW0uaD4KICNpbXBvcnQgPFdlYkNvcmUvUGxhdGZvcm1QYXN0ZWJvYXJkLmg+CisKKyNpbXBv
cnQgPEFwcEtpdC9OU1Bhc3RlYm9hcmQuaD4KICNpbXBvcnQgPHN5cy9wYXJhbS5oPgogCiAjaWYg
IWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKQpAQCAtMjI1LDcgKzIyNywxMCBAQCB2
b2lkIFdlYkNvbnRleHQ6OnNldFBhc3RlYm9hcmRQYXRobmFtZXNGb3JUeXBlKGNvbnN0IFN0cmlu
ZyYgcGFzdGVib2FyZE5hbWUsIGNvbgogCiB2b2lkIFdlYkNvbnRleHQ6OnNldFBhc3RlYm9hcmRT
dHJpbmdGb3JUeXBlKGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIGNvbnN0IFN0cmluZyYg
cGFzdGVib2FyZFR5cGUsIGNvbnN0IFN0cmluZyYgc3RyaW5nKQogewotICAgIFBsYXRmb3JtUGFz
dGVib2FyZChwYXN0ZWJvYXJkTmFtZSkuc2V0U3RyaW5nRm9yVHlwZShzdHJpbmcsIHBhc3RlYm9h
cmRUeXBlKTsgICAgCisgICAgaWYgKHBhc3RlYm9hcmRUeXBlID09IFN0cmluZyhOU1VSTFBib2Fy
ZFR5cGUpKQorICAgICAgICBQbGF0Zm9ybVBhc3RlYm9hcmQocGFzdGVib2FyZE5hbWUpLnNldFVS
TChLVVJMKFBhcnNlZFVSTFN0cmluZywgc3RyaW5nKSk7CisgICAgZWxzZQorICAgICAgICBQbGF0
Zm9ybVBhc3RlYm9hcmQocGFzdGVib2FyZE5hbWUpLnNldFN0cmluZ0ZvclR5cGUoc3RyaW5nLCBw
YXN0ZWJvYXJkVHlwZSk7ICAgIAogfQogCiB2b2lkIFdlYkNvbnRleHQ6OnNldFBhc3RlYm9hcmRC
dWZmZXJGb3JUeXBlKGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIGNvbnN0IFN0cmluZyYg
cGFzdGVib2FyZFR5cGUsIGNvbnN0IFNoYXJlZE1lbW9yeTo6SGFuZGxlJiBoYW5kbGUsIHVpbnQ2
NF90IHNpemUpCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cK
aW5kZXggOTkxYTc1Yi4uZTY0OTlkNyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBi
L1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEyLTAzLTE5ICBCcmFkeSBFaWRz
b24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTA4NDg1
NzU+IGFuZCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODE1MTYKKyAg
ICAgICAgUkVHUkVTU0lPTiAocjEwNzQzNSkgVVJMcyBjb3BpZWQgZnJvbSBXZWJLaXQgYXBwcyBh
cmVuJ3QgaW4gdGhlIHJpZ2h0IHBhc3RlYm9hcmQgZm9ybWF0CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQnJpbmcgdXAgYSBjb250ZXh0IG1lbnUgb24g
YSBsaW5rLCBjb3B5IHRoZSBsaW5rLCB0aGVuIHZlcmlmeSB0aGUgcGFzdGVib2FyZCBjb250ZW50
cworICAgICAgICBhcmUgaW4gdGhlIGNvcnJlY3QgZm9ybWF0LgorCisgICAgICAgICogVGVzdFdl
YktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAg
ICogVGVzdFdlYktpdEFQSS9UZXN0cy9tYWMvQ29udGV4dE1lbnVDYW5Db3B5VVJMLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvbWFjL0NvbnRleHRNZW51Q2FuQ29w
eVVSTC5tbTogQWRkZWQuCisgICAgICAgICgtW0NvbnRleHRNZW51Q2FuQ29weVVSTERlbGVnYXRl
IHdlYlZpZXc6ZGlkRmluaXNoTG9hZEZvckZyYW1lOl0pOgorICAgICAgICAoVGVzdFdlYktpdEFQ
STo6Y29udGV4dE1lbnVDb3B5TGluayk6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToK
KwogMjAxMi0wMy0xOSAgT2phbiBWYWZhaSAgPG9qYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IERvbid0IHNob3cgV09OVEZJWCB0ZXN0cyBpbiBnYXJkZW4tby1tYXRpYwpkaWZmIC0tZ2l0IGEv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2ogYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagppbmRleCA0ZTRmNmViLi44MzFhOGNlIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpA
QCAtMzgsNiArMzgsOCBAQAogCQk0NDBBMUQzOTE0QTAxMDNBMDA4QTY2RjIgLyogS1VSTC5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NDBBMUQzODE0
QTAxMDNBMDA4QTY2RjIgLyogS1VSTC5jcHAgKi87IH07CiAJCTRCRkRGRkE3MTMxNDc3NkMwMDYx
RjI0QiAvKiBIaXRUZXN0UmVzdWx0Tm9kZUhhbmRsZV9CdW5kbGUuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEJGREZGQTYxMzE0Nzc2QzAwNjFGMjRC
IC8qIEhpdFRlc3RSZXN1bHROb2RlSGFuZGxlX0J1bmRsZS5jcHAgKi87IH07CiAJCTRCRkRGRkE5
MTMxNDc3NzcwMDYxRjI0QiAvKiBIaXRUZXN0UmVzdWx0Tm9kZUhhbmRsZS5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0QkZERkZBODEzMTQ3Nzc3MDA2
MUYyNEIgLyogSGl0VGVzdFJlc3VsdE5vZGVIYW5kbGUuY3BwICovOyB9OworCQk1MTQyQjI3MTE1
MTdDODhCMDBDMzJCMTkgLyogQ29udGV4dE1lbnVDYW5Db3B5VVJMLm1tIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE0MkIyNzAxNTE3Qzg4QjAwQzMyQjE5
IC8qIENvbnRleHRNZW51Q2FuQ29weVVSTC5tbSAqLzsgfTsKKwkJNTE0MkIyNzMxNTE3QzhDODAw
QzMyQjE5IC8qIENvbnRleHRNZW51Q2FuQ29weVVSTC5odG1sIGluIENvcHkgUmVzb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxNDJCMjcyMTUxN0M4OTEwMEMzMkIx
OSAvKiBDb250ZXh0TWVudUNhbkNvcHlVUkwuaHRtbCAqLzsgfTsKIAkJNTFGQkJCNEQxNTEzRDRF
OTAwODIyNzM4IC8qIFdlYlZpZXdDYW5QYXN0ZVVSTC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRkJCQjRDMTUxM0Q0RTkwMDgyMjczOCAvKiBXZWJW
aWV3Q2FuUGFzdGVVUkwubW0gKi87IH07CiAJCTUyMEJDRjRDMTQxRUIwOUUwMDkzN0VBOCAvKiBX
ZWJBcmNoaXZlX0J1bmRsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA1MjBCQ0Y0QTE0MUVCMDlFMDA5MzdFQTggLyogV2ViQXJjaGl2ZV9CdW5kbGUu
Y3BwICovOyB9OwogCQk1MjBCQ0Y0RDE0MUVCMDlFMDA5MzdFQTggLyogV2ViQXJjaGl2ZS5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MjBCQ0Y0QjE0
MUVCMDlFMDA5MzdFQTggLyogV2ViQXJjaGl2ZS5jcHAgKi87IH07CkBAIC0xNTgsNiArMTYwLDcg
QEAKIAkJCWRzdFBhdGggPSBUZXN0V2ViS2l0QVBJLnJlc291cmNlczsKIAkJCWRzdFN1YmZvbGRl
clNwZWMgPSA3OwogCQkJZmlsZXMgPSAoCisJCQkJNTE0MkIyNzMxNTE3QzhDODAwQzMyQjE5IC8q
IENvbnRleHRNZW51Q2FuQ29weVVSTC5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCTM3
OTAyOEI5MTRGQUMyNEMwMDdFNkI0MyAvKiBhY2NlcHRzRmlyc3RNb3VzZS5odG1sIGluIENvcHkg
UmVzb3VyY2VzICovLAogCQkJCTMzREM4OTEyMTQxOTU1RkUwMDc0N0VGNyAvKiBzaW1wbGUtaWZy
YW1lLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJMUE5RTUyQzkxM0U2NUVGNDAwNjkx
N0Y1IC8qIDE4LWNoYXJhY3RlcnMuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKQEAgLTIxNCw2
ICsyMTcsOCBAQAogCQk0NEE2MjJDMTE0QTBFMkI2MDA0ODUxNUIgLyogV1RGU3RyaW5nVXRpbGl0
aWVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdURlN0cmluZ1V0aWxpdGll
cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0QkZERkZBNjEzMTQ3NzZDMDA2MUYy
NEIgLyogSGl0VGVzdFJlc3VsdE5vZGVIYW5kbGVfQnVuZGxlLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEhpdFRlc3RSZXN1bHROb2RlSGFuZGxlX0J1bmRsZS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTRCRkRGRkE4MTMxNDc3NzcwMDYxRjI0QiAv
KiBIaXRUZXN0UmVzdWx0Tm9kZUhhbmRsZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBIaXRUZXN0UmVzdWx0Tm9kZUhhbmRsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTUxNDJCMjcwMTUxN0M4OEIwMEMzMkIxOSAvKiBDb250ZXh0TWVudUNhbkNv
cHlVUkwubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBDb250ZXh0
TWVudUNhbkNvcHlVUkwubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUxNDJCMjcy
MTUxN0M4OTEwMEMzMkIxOSAvKiBDb250ZXh0TWVudUNhbkNvcHlVUkwuaHRtbCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQuaHRtbDsgcGF0aCA9IENvbnRleHRNZW51Q2FuQ29weVVSTC5odG1sOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk1MUZCQkI0QzE1MTNENEU5MDA4MjI3MzggLyogV2ViVmlld0Nh
blBhc3RlVVJMLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2Vi
Vmlld0NhblBhc3RlVVJMLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MjBCQ0Y0
QTE0MUVCMDlFMDA5MzdFQTggLyogV2ViQXJjaGl2ZV9CdW5kbGUuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViQXJjaGl2ZV9CdW5kbGUuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk1MjBCQ0Y0QjE0MUVCMDlFMDA5MzdFQTggLyogV2ViQXJjaGl2
ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJBcmNoaXZlLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTU4OCw2ICs1OTMsNyBAQAogCQkJY2hp
bGRyZW4gPSAoCiAJCQkJQzA3RTZDQjAxM0ZENzM3QzAwMzhCMjJCIC8qIFJlc291cmNlcyAqLywK
IAkJCQkzNzkwMjhCNTE0RkFCRDkyMDA3RTZCNDMgLyogQWNjZXB0c0ZpcnN0TW91c2UubW0gKi8s
CisJCQkJNTE0MkIyNzAxNTE3Qzg4QjAwQzMyQjE5IC8qIENvbnRleHRNZW51Q2FuQ29weVVSTC5t
bSAqLywKIAkJCQkzN0RDNjc4QjE0MEQ3QzUwMDBBQkNDREIgLyogRE9NUmFuZ2VPZlN0cmluZy5t
bSAqLywKIAkJCQlDMDdFNkNBRTEzRkQ2NzY1MDAzOEIyMkIgLyogRHluYW1pY0RldmljZVNjYWxl
RmFjdG9yLm1tICovLAogCQkJCTM3NzZCQzYyMTUwOTQ2QkMwMDQzQTY2RCAvKiBEZXZpY2VTY2Fs
ZUZhY3RvckluRGFzaGJvYXJkUmVnaW9ucy5tbSAqLywKQEAgLTYwNiw4ICs2MTIsOSBAQAogCQkJ
aXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKIAkJCQkzNzkwMjhCODE0RkFCRTQ5MDA3
RTZCNDMgLyogYWNjZXB0c0ZpcnN0TW91c2UuaHRtbCAqLywKLQkJCQlDMDdFNkNCMTEzRkQ3MzhB
MDAzOEIyMkIgLyogZGV2aWNlUGl4ZWxSYXRpby5odG1sICovLAorCQkJCTUxNDJCMjcyMTUxN0M4
OTEwMEMzMkIxOSAvKiBDb250ZXh0TWVudUNhbkNvcHlVUkwuaHRtbCAqLywKIAkJCQkzN0RDNjc4
RjE0MEQ3RDNBMDBBQkNDREIgLyogRE9NUmFuZ2VPZlN0cmluZy5odG1sICovLAorCQkJCUMwN0U2
Q0IxMTNGRDczOEEwMDM4QjIyQiAvKiBkZXZpY2VQaXhlbFJhdGlvLmh0bWwgKi8sCiAJCQkpOwog
CQkJbmFtZSA9IFJlc291cmNlczsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC04MDMs
NiArODEwLDcgQEAKIAkJCQkzNzkwMjhCNjE0RkFCRDkyMDA3RTZCNDMgLyogQWNjZXB0c0ZpcnN0
TW91c2UubW0gaW4gU291cmNlcyAqLywKIAkJCQkzNzc2QkM2MzE1MDk0NkJDMDA0M0E2NkQgLyog
RGV2aWNlU2NhbGVGYWN0b3JJbkRhc2hib2FyZFJlZ2lvbnMubW0gaW4gU291cmNlcyAqLywKIAkJ
CQk1MUZCQkI0RDE1MTNENEU5MDA4MjI3MzggLyogV2ViVmlld0NhblBhc3RlVVJMLm1tIGluIFNv
dXJjZXMgKi8sCisJCQkJNTE0MkIyNzExNTE3Qzg4QjAwQzMyQjE5IC8qIENvbnRleHRNZW51Q2Fu
Q29weVVSTC5tbSBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50
UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9tYWMvQ29udGV4dE1lbnVDYW5Db3B5VVJMLmh0bWwgYi9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL21hYy9Db250ZXh0TWVudUNhbkNvcHlVUkwuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwLi5lY2IzOGViCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9tYWMvQ29udGV4dE1lbnVDYW5Db3B5VVJMLmh0bWwKQEAgLTAsMCAr
MSBAQAorTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2ljaW5n
IGVsaXQsIHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xv
cmUgbWFnbmEgYWxpcXVhLiBVdCBlbmltIGFkIG1pbmltIHZlbmlhbSwgcXVpcyBub3N0cnVkIGV4
ZXJjaXRhdGlvbiB1bGxhbWNvIGxhYm9yaXMgbmlzaSB1dCBhbGlxdWlwIGV4IGVhIGNvbW1vZG8g
Y29uc2VxdWF0LiBEdWlzIGF1dGUgaXJ1cmUgZG9sb3IgaW4gcmVwcmVoZW5kZXJpdCBpbiB2b2x1
cHRhdGUgdmVsaXQgZXNzZSBjaWxsdW0gZG9sb3JlIGV1IGZ1Z2lhdCBudWxsYSBwYXJpYXR1ci4g
RXhjZXB0ZXVyIHNpbnQgb2NjYWVjYXQgY3VwaWRhdGF0IG5vbiBwcm9pZGVudCwgc3VudCBpbiBj
dWxwYSBxdWkgb2ZmaWNpYSBkZXNlcnVudCBtb2xsaXQgYW5pbSBpZCBlc3QgbGFib3J1bS48YSBo
cmVmPSdodHRwOi8vd3d3LndlYmtpdC5vcmcvJz5DbGljayBtZTwvYT5Mb3JlbSBpcHN1bSBkb2xv
ciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2Qg
dGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuIFV0IGVu
aW0gYWQgbWluaW0gdmVuaWFtLCBxdWlzIG5vc3RydWQgZXhlcmNpdGF0aW9uIHVsbGFtY28gbGFi
b3JpcyBuaXNpIHV0IGFsaXF1aXAgZXggZWEgY29tbW9kbyBjb25zZXF1YXQuIER1aXMgYXV0ZSBp
cnVyZSBkb2xvciBpbiByZXByZWhlbmRlcml0IGluIHZvbHVwdGF0ZSB2ZWxpdCBlc3NlIGNpbGx1
bSBkb2xvcmUgZXUgZnVnaWF0IG51bGxhIHBhcmlhdHVyLiBFeGNlcHRldXIgc2ludCBvY2NhZWNh
dCBjdXBpZGF0YXQgbm9uIHByb2lkZW50LCBzdW50IGluIGN1bHBhIHF1aSBvZmZpY2lhIGRlc2Vy
dW50IG1vbGxpdCBhbmltIGlkIGVzdCBsYWJvcnVtLgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvbWFjL0NvbnRleHRNZW51
Q2FuQ29weVVSTC5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvbWFjL0NvbnRleHRNZW51
Q2FuQ29weVVSTC5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYzk1MzQw
Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9tYWMvQ29udGV4
dE1lbnVDYW5Db3B5VVJMLm1tCkBAIC0wLDAgKzEsMTA3IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9y
dCAiY29uZmlnLmgiCisjaW1wb3J0ICJQbGF0Zm9ybVV0aWxpdGllcy5oIgorI2ltcG9ydCAiUGxh
dGZvcm1XZWJWaWV3LmgiCisjaW1wb3J0ICJXVEZTdHJpbmdVdGlsaXRpZXMuaCIKKworI2ltcG9y
dCA8V2ViS2l0L1dlYlZpZXdQcml2YXRlLmg+CisjaW1wb3J0IDxXZWJLaXQvRE9NLmg+CisjaW1w
b3J0IDxDYXJib24vQ2FyYm9uLmg+CisjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CisKKworQGlu
dGVyZmFjZSBDb250ZXh0TWVudUNhbkNvcHlVUkxEZWxlZ2F0ZSA6IE5TT2JqZWN0IHsKK30KK0Bl
bmQKKworc3RhdGljIGJvb2wgZGlkRmluaXNoTG9hZDsKKworQGltcGxlbWVudGF0aW9uIENvbnRl
eHRNZW51Q2FuQ29weVVSTERlbGVnYXRlCisKKy0gKHZvaWQpd2ViVmlldzooV2ViVmlldyAqKXNl
bmRlciBkaWRGaW5pc2hMb2FkRm9yRnJhbWU6KFdlYkZyYW1lICopZnJhbWUKK3sKKyAgICBkaWRG
aW5pc2hMb2FkID0gdHJ1ZTsKK30KKworQGVuZAorCituYW1lc3BhY2UgVGVzdFdlYktpdEFQSSB7
CisKK3N0YXRpYyB2b2lkIGNvbnRleHRNZW51Q29weUxpbmsoV2ViVmlldyogd2ViVmlldykKK3sK
KyAgICBbW1tbd2ViVmlldyBtYWluRnJhbWVdIGZyYW1lVmlld10gZG9jdW1lbnRWaWV3XSBsYXlv
dXRdOworICAgIAorICAgIERPTURvY3VtZW50ICpkb2N1bWVudCA9IFtbd2ViVmlldyBtYWluRnJh
bWVdIERPTURvY3VtZW50XTsKKyAgICBET01FbGVtZW50ICpkb2N1bWVudEVsZW1lbnQgPSBbZG9j
dW1lbnQgZG9jdW1lbnRFbGVtZW50XTsKKyAgICBET01IVE1MQW5jaG9yRWxlbWVudCAqYW5jaG9y
ID0gKERPTUhUTUxBbmNob3JFbGVtZW50ICopW2RvY3VtZW50RWxlbWVudCBxdWVyeVNlbGVjdG9y
OkAiYSJdOworCisgICAgTlNXaW5kb3cgKndpbmRvdyA9IFt3ZWJWaWV3IHdpbmRvd107CisgICAg
TlNFdmVudCAqZXZlbnQgPSBbTlNFdmVudCBtb3VzZUV2ZW50V2l0aFR5cGU6TlNSaWdodE1vdXNl
RG93bgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2F0aW9uOk5T
TWFrZVBvaW50KGFuY2hvci5vZmZzZXRMZWZ0ICsgYW5jaG9yLm9mZnNldFdpZHRoIC8gMiwgd2lu
ZG93LmZyYW1lLnNpemUuaGVpZ2h0IC0gKGFuY2hvci5vZmZzZXRUb3AgKyBhbmNob3Iub2Zmc2V0
SGVpZ2h0IC8gMikpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGlmaWVy
RmxhZ3M6MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZXN0YW1w
OkdldEN1cnJlbnRFdmVudFRpbWUoKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgd2luZG93TnVtYmVyOlt3aW5kb3cgd2luZG93TnVtYmVyXQorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0OltOU0dyYXBoaWNzQ29udGV4dCBjdXJyZW50
Q29udGV4dF0gCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnROdW1i
ZXI6MAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGlja0NvdW50OjAK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmVzc3VyZTowLjBdOwor
CisgICAgTlNWaWV3ICpzdWJWaWV3ID0gW3dlYlZpZXcgaGl0VGVzdDpbZXZlbnQgbG9jYXRpb25J
bldpbmRvd11dOworICAgIGlmICghc3ViVmlldykKKyAgICAgICAgcmV0dXJuOworCisgICAgTlNN
ZW51KiBtZW51ID0gW3N1YlZpZXcgbWVudUZvckV2ZW50OmV2ZW50XTsKKyAgICBmb3IgKGludCBp
ID0gMDsgaSA8IFttZW51IG51bWJlck9mSXRlbXNdOyArK2kpIHsKKyAgICAgICAgTlNNZW51SXRl
bSogbWVudUl0ZW0gPSBbbWVudSBpdGVtQXRJbmRleDppXTsKKyAgICAgICAgaWYgKFttZW51SXRl
bSB0YWddICE9IFdlYk1lbnVJdGVtVGFnQ29weUxpbmtUb0NsaXBib2FyZCkKKyAgICAgICAgICAg
IGNvbnRpbnVlOworICAgICAgICAgICAgCisgICAgICAgIFttZW51IHBlcmZvcm1BY3Rpb25Gb3JJ
dGVtQXRJbmRleDppXTsKKyAgICB9Cit9CisKKworVEVTVChXZWJLaXQxLCBDb250ZXh0TWVudUNh
bkNvcHlVUkwpCit7CisgICAgUmV0YWluUHRyPFdlYlZpZXc+IHdlYlZpZXcoQWRvcHROUywgW1tX
ZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwwLDgwMCw2MDApIGZyYW1l
TmFtZTpuaWwgZ3JvdXBOYW1lOm5pbF0pOworICAgIFJldGFpblB0cjxOU1dpbmRvdz4gd2luZG93
KEFkb3B0TlMsIFtbTlNXaW5kb3cgYWxsb2NdIGluaXRXaXRoQ29udGVudFJlY3Q6TlNNYWtlUmVj
dCgxMDAsIDEwMCwgODAwLCA2MDApIHN0eWxlTWFzazpOU0JvcmRlcmxlc3NXaW5kb3dNYXNrIGJh
Y2tpbmc6TlNCYWNraW5nU3RvcmVCdWZmZXJlZCBkZWZlcjpZRVNdKTsKKyAgICBSZXRhaW5QdHI8
Q29udGV4dE1lbnVDYW5Db3B5VVJMRGVsZWdhdGU+IGRlbGVnYXRlKEFkb3B0TlMsIFtbQ29udGV4
dE1lbnVDYW5Db3B5VVJMRGVsZWdhdGUgYWxsb2NdIGluaXRdKTsKKworICAgIFt3aW5kb3cuZ2V0
KCkuY29udGVudFZpZXcgYWRkU3Vidmlldzp3ZWJWaWV3LmdldCgpXTsKKyAgICB3ZWJWaWV3Lmdl
dCgpLmZyYW1lTG9hZERlbGVnYXRlID0gZGVsZWdhdGUuZ2V0KCk7CisKKyAgICBbd2ViVmlldy5n
ZXQoKS5tYWluRnJhbWUgbG9hZFJlcXVlc3Q6W05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpb
W05TQnVuZGxlIG1haW5CdW5kbGVdIFVSTEZvclJlc291cmNlOkAiQ29udGV4dE1lbnVDYW5Db3B5
VVJMIiB3aXRoRXh0ZW5zaW9uOkAiaHRtbCIgc3ViZGlyZWN0b3J5OkAiVGVzdFdlYktpdEFQSS5y
ZXNvdXJjZXMiXV1dOworICAgIAorICAgIFV0aWw6OnJ1bigmZGlkRmluaXNoTG9hZCk7CisKKyAg
ICBjb250ZXh0TWVudUNvcHlMaW5rKHdlYlZpZXcuZ2V0KCkpOworICAgIAorICAgIE5TVVJMICp1
cmwgPSBbTlNVUkwgVVJMRnJvbVBhc3RlYm9hcmQ6W05TUGFzdGVib2FyZCBnZW5lcmFsUGFzdGVi
b2FyZF1dOworICAgIEVYUEVDVF9FUShTdHJpbmcoImh0dHA6Ly93d3cud2Via2l0Lm9yZy8iKSwg
U3RyaW5nKFt1cmwgYWJzb2x1dGVTdHJpbmddKSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFRlc3RX
ZWJLaXRBUEkK
</data>
<flag name="review"
          id="136415"
          type_id="1"
          status="+"
          setter="enrica"
    />
          </attachment>
      

    </bug>

</bugzilla>