<?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>87328</bug_id>
          
          <creation_ts>2012-05-23 18:15:09 -0700</creation_ts>
          <short_desc>Move allowRoundingHacks to Internals interface</short_desc>
          <delta_ts>2013-04-17 14:45:40 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Gyuyoung Kim">gyuyoung.kim</reporter>
          <assigned_to name="Gyuyoung Kim">gyuyoung.kim</assigned_to>
          <cc>ap</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>jberlin</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>morrita</cc>
    
    <cc>rakuco</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>632271</commentid>
    <comment_count>0</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-05-23 18:15:09 -0700</bug_when>
    <thetext>Adjust allowRoundingHacks() tests into use Internals instead of LayoutTestController interface. In my humble opinion, allowRoundingHacks() is able to be supported by Internals because it looks this function is implemented by WebCore layer, not WebKit layer. It seems allowRoundingHacks() is just to turn TextRun::s_allowsRoundingHacks variable on.

If reviewers think this moving is not able to be moved to Internals, I&apos;m willing to close this bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>632273</commentid>
    <comment_count>1</comment_count>
      <attachid>143692</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-05-23 18:18:54 -0700</bug_when>
    <thetext>Created attachment 143692
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>632275</commentid>
    <comment_count>2</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-05-23 18:20:09 -0700</bug_when>
    <thetext>CC&apos;ing Alexey, could you take a look this patch when you have time ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>632315</commentid>
    <comment_count>3</comment_count>
      <attachid>143692</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-05-23 19:15:02 -0700</bug_when>
    <thetext>Comment on attachment 143692
Patch

Attachment 143692 did not pass win-ews (win):
Output: http://queues.webkit.org/results/12791062</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>632364</commentid>
    <comment_count>4</comment_count>
      <attachid>143715</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-05-23 20:22:46 -0700</bug_when>
    <thetext>Created attachment 143715
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>632368</commentid>
    <comment_count>5</comment_count>
      <attachid>143715</attachid>
    <who name="">mitz</who>
    <bug_when>2012-05-23 20:32:45 -0700</bug_when>
    <thetext>Comment on attachment 143715
Patch

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

&gt; Source/WebKit/mac/WebView/WebViewPrivate.h:-347
&gt; -+ (void)_setAllowsRoundingHacks:(BOOL)allowsRoundingHacks;
&gt; -+ (BOOL)_allowsRoundingHacks;

Do not remove this WebKit API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>632394</commentid>
    <comment_count>6</comment_count>
      <attachid>143723</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-05-23 21:15:42 -0700</bug_when>
    <thetext>Created attachment 143723
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>632395</commentid>
    <comment_count>7</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-05-23 21:16:48 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 143715 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=143715&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/mac/WebView/WebViewPrivate.h:-347
&gt; &gt; -+ (void)_setAllowsRoundingHacks:(BOOL)allowsRoundingHacks;
&gt; &gt; -+ (BOOL)_allowsRoundingHacks;
&gt; 
&gt; Do not remove this WebKit API.

Ok, I restore WebKit API for mac.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>632855</commentid>
    <comment_count>8</comment_count>
      <attachid>143723</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-05-24 09:05:40 -0700</bug_when>
    <thetext>Comment on attachment 143723
Patch

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

&gt; Source/WebCore/testing/Internals.cpp:1057
&gt; +void Internals::allowRoundingHacks() const
&gt; +{
&gt; +    TextRun::setAllowsRoundingHacks(true);
&gt; +}

How does this get reset between test runs?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>633624</commentid>
    <comment_count>9</comment_count>
      <attachid>143723</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-05-25 00:02:25 -0700</bug_when>
    <thetext>Comment on attachment 143723
Patch

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

&gt;&gt; Source/WebCore/testing/Internals.cpp:1057
&gt;&gt; +}
&gt; 
&gt; How does this get reset between test runs?

Currently, this LTC function is implemented by Mac.   As you can see in LayoutTestControllerMac.mm, LayoutTestController::allowRoundingHacks() just sets true.

 void LayoutTestController::allowRoundingHacks()
 {
     [WebView _setAllowsRoundingHacks:YES];
 }

It looks there is no reset function in LTC now. This patch is just to move from LTC function to Internals. Do you think I need to modify it together with this patch ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>634506</commentid>
    <comment_count>10</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-05-25 18:27:25 -0700</bug_when>
    <thetext>Yes, but it&apos;s reset between tests in DRT:
http://trac.webkit.org/browser/trunk/Tools/DumpRenderTree/mac/DumpRenderTree.mm#L1271

I believe Internals has a similar concept, w/o doing such, we&apos;ll end up bleeding this setting between tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>634518</commentid>
    <comment_count>11</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-05-25 18:49:53 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; Yes, but it&apos;s reset between tests in DRT:
&gt; http://trac.webkit.org/browser/trunk/Tools/DumpRenderTree/mac/DumpRenderTree.mm#L1271
&gt; 
&gt; I believe Internals has a similar concept, w/o doing such, we&apos;ll end up bleeding this setting between tests.

Ok, I will check if Internals has similar concept to reset settings. If internals has similar one, I think we can move more LTC functions to Internals.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>634891</commentid>
    <comment_count>12</comment_count>
      <attachid>144266</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-05-27 22:14:43 -0700</bug_when>
    <thetext>Created attachment 144266
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>634893</commentid>
    <comment_count>13</comment_count>
      <attachid>144268</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-05-27 22:25:55 -0700</bug_when>
    <thetext>Created attachment 144268
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>634894</commentid>
    <comment_count>14</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-05-27 22:29:29 -0700</bug_when>
    <thetext>I add a function to Internals in order to reset default consistent values like each port&apos;s LTC. I think Internals also needs to have reset function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>634915</commentid>
    <comment_count>15</comment_count>
      <attachid>144268</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-05-27 23:13:31 -0700</bug_when>
    <thetext>Comment on attachment 144268
Patch

I&apos;m wondering a bit if this need to be cross platform since the tests are under platform/mac.
But it&apos;s fine to have this on Internals even if so.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>634916</commentid>
    <comment_count>16</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-05-27 23:24:36 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; (From update of attachment 144268 [details])
&gt; I&apos;m wondering a bit if this need to be cross platform since the tests are under platform/mac.

I expect other ports will support allowRoundingHacks() testing in future. So, in my humble opinion, to move allowRoundingHacks() to Internals is valid. In addition, Internals also needs to have reset functions for other test cases. Thank you for your review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>635018</commentid>
    <comment_count>17</comment_count>
      <attachid>144268</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-28 02:06:09 -0700</bug_when>
    <thetext>Comment on attachment 144268
Patch

Clearing flags on attachment: 144268

Committed r118657: &lt;http://trac.webkit.org/changeset/118657&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>635019</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-28 02:06:16 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>736981</commentid>
    <comment_count>19</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-10-08 13:34:53 -0700</bug_when>
    <thetext>allowRoundingHacks() is a terrible name for a method on internals, because:
1. It&apos;s not clear if it&apos;s querying state (areRoundingHacksAllowed()) or setting state (setRoundingHacksAllowed()). If the latter, why doesn&apos;t it take a bool?
2. I&apos;ve no idea what rounding hacks are. The name should be more specific.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>737391</commentid>
    <comment_count>20</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-10-08 21:25:35 -0700</bug_when>
    <thetext>(In reply to comment #19)
&gt; allowRoundingHacks() is a terrible name for a method on internals, because:
&gt; 1. It&apos;s not clear if it&apos;s querying state (areRoundingHacksAllowed()) or setting state (setRoundingHacksAllowed()). If the latter, why doesn&apos;t it take a bool?
&gt; 2. I&apos;ve no idea what rounding hacks are. The name should be more specific.

Simon, your comment looks reasonable. How about changing allowRoundingHacks() with setAllowRoundingHacks(bool) ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>877506</commentid>
    <comment_count>21</comment_count>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2013-04-17 14:45:40 -0700</bug_when>
    <thetext>*** Bug 63477 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>143692</attachid>
            <date>2012-05-23 18:18:54 -0700</date>
            <delta_ts>2012-05-23 20:22:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87328-20120524101852.patch</filename>
            <type>text/plain</type>
            <size>17061</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE4MTc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmM3N2IyNDg1MWM5Y2Jh
MzlkOTYwNGNiNDYxMWI4MGUxMjdkZDUxMS4uMDNkNTQ4MGNmNWVkNjdkMDM1ZDQ0MTZhM2ZhMWQy
MTNjMzc2NmE2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTA1LTIzICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgTW92ZSBhbGxv
d1JvdW5kaW5nSGFja3MgdG8gSW50ZXJuYWxzIGludGVyZmFjZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODczMjgKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYWxsb3dSb3VuZGluZ0hhY2tzIGZ1bmN0
aW9uLCBiZWNhdXNlIGl0IGlzIGFibGUgdG8gd29yayBpbiB0aGUKKyAgICAgICAgY3Jvc3MtcG9y
dCB3YXkgYnkgbWVhbnMgb2YgdGhlIEludGVybmFscyBpbnRlcmZhY2UuCisKKyAgICAgICAgTm8g
bmV3IHRlc3RzLCBzaW5jZSB3ZSBhcmUgaW1wcm92aW5nIGhlcmUgdGhlIGluZnJhLXN0cnVjdHVy
ZSBmb3IgdGVzdGluZworICAgICAgICBhIHNwZWNpZmljIG1ldGhvZC4KKworICAgICAgICAqIHRl
c3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6YWxsb3dS
b3VuZGluZ0hhY2tzKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5oOgorICAgICAgICAo
SW50ZXJuYWxzKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6CisKIDIwMTItMDUt
MjMgIEFuZHJlaSBCdWN1ciAgPGFidWN1ckBhZG9iZS5jb20+CiAKICAgICAgICAgW0NTU1JlZ2lv
bnNdSW1wbGVtZW50IE5hbWVkRmxvdzo6bmFtZSBhdHRyaWJ1dGUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRl
eCAxNjQ1YzQwMTc0NGI1YWU4OWI0OGRiN2E2MTdmNDY3NjBiNTQyOGJiLi4wMWI2NzdkODQ4MmUz
Njc5NTE0ODI1MGUyNjIxNTBiZjg3YjM4NDQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTYgQEAKKzIwMTItMDUtMjMgIEd5dXlvdW5nIEtpbSAgPGd5dXlvdW5nLmtpbUBzYW1zdW5nLmNv
bT4KKworICAgICAgICBNb3ZlIGFsbG93Um91bmRpbmdIYWNrcyB0byBJbnRlcm5hbHMgaW50ZXJm
YWNlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NzMy
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92
ZSBzZXRBbGxvd3NSb3VuZGluZ0hhY2tzKCkgYW5kIGFsbG93Um91ZGluZ0hhY2tzKCkgZnVuY3Rp
b25zLCBiZWNhdXNlIGl0IGlzIGFibGUgdG8gd29yayBpbiB0aGUKKyAgICAgICAgY3Jvc3MtcG9y
dCB3YXkgdGhyb3VnaCB0aGUgSW50ZXJuYWxTZXR0aW5ncyBpbnRlcmZhY2UuCisKKyAgICAgICAg
KiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAgICogV2ViVmlldy9XZWJWaWV3UHJpdmF0ZS5o
OgorCiAyMDEyLTA1LTIyICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgog
CiAgICAgICAgIEFkZCBhIHF1aXJrIGZvciBhcHBsaWNhdGlvbnMgdGhhdCBkZXBlbmQgb24gdGhl
IHJlbGF0aXZlIG9yZGVyaW5nIG9mIHByb2dyZXNzQ29tcGxldGVkL2RpZEZpbmlzaExvYWQKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCA4NDJlOGUxNDQ5MzIzYmJkMmEwM2Ji
ZTdmYTU5OWVkZjRhNmVhZDQyLi43NjU0ZWRkYjE3OGU5ZmUzYjY1MDU2MzM2MzA0MzI1NmJmOTEz
M2IwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC02MCw2ICs2MCw3IEBA
CiAjaW5jbHVkZSAiU2hhZG93Um9vdC5oIgogI2luY2x1ZGUgIlNwZWxsQ2hlY2tlci5oIgogI2lu
Y2x1ZGUgIlRleHRJdGVyYXRvci5oIgorI2luY2x1ZGUgIlRleHRSdW4uaCIKICNpbmNsdWRlICJU
cmVlU2NvcGUuaCIKIAogI2lmIEVOQUJMRShJTlBVVF9UWVBFX0NPTE9SKQpAQCAtMTA1MCw2ICsx
MDUxLDEwIEBAIHZvaWQgSW50ZXJuYWxzOjpyZXN1bWVBbmltYXRpb25zKERvY3VtZW50KiBkb2N1
bWVudCwgRXhjZXB0aW9uQ29kZSYgZWMpIGNvbnN0CiAgICAgY29udHJvbGxlci0+cmVzdW1lQW5p
bWF0aW9ucygpOwogfQogCit2b2lkIEludGVybmFsczo6YWxsb3dSb3VuZGluZ0hhY2tzKCkgY29u
c3QKK3sKKyAgICBUZXh0UnVuOjpzZXRBbGxvd3NSb3VuZGluZ0hhY2tzKHRydWUpOworfQogCiAj
aWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJKQogdm9pZCBJbnRlcm5hbHM6OndlYmtpdFdpbGxFbnRl
ckZ1bGxTY3JlZW5Gb3JFbGVtZW50KERvY3VtZW50KiBkb2N1bWVudCwgRWxlbWVudCogZWxlbWVu
dCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmggYi9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCmluZGV4IDhlMDEwZTk4NjQwZDRlMGY5OWE4
MjU2NDYxODA3OTA0YjA4ZGZiMGIuLjdkZTc0YTM5MWI4NzZkZWM0Mjg0NjI5MDlmODljMjdhZDgy
YjM3M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaApAQCAtMTY4LDYgKzE2OCw4IEBA
IHB1YmxpYzoKICAgICB2b2lkIHN1c3BlbmRBbmltYXRpb25zKERvY3VtZW50KiwgRXhjZXB0aW9u
Q29kZSYpIGNvbnN0OwogICAgIHZvaWQgcmVzdW1lQW5pbWF0aW9ucyhEb2N1bWVudCosIEV4Y2Vw
dGlvbkNvZGUmKSBjb25zdDsKIAorICAgIHZvaWQgYWxsb3dSb3VuZGluZ0hhY2tzKCkgY29uc3Q7
CisKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIHVuc2lnbmVkIG51bWJlck9mTGl2ZU5vZGVz
KCkgY29uc3Q7CiAgICAgdW5zaWduZWQgbnVtYmVyT2ZMaXZlRG9jdW1lbnRzKCkgY29uc3Q7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKaW5kZXggZWY5ZWQ3NTNkZmFlYWIyNjFlOTIw
MDAzMTZhY2UzMzI3YWIyMDExMi4uYWExMDg1OGJiM2Q2NjZhZjRmYzA1ZGJlZThhNDQwNzZhZGY4
NjA0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbApAQCAtMTM3LDYgKzEzNyw4
IEBAIG1vZHVsZSB3aW5kb3cgewogICAgICAgICB2b2lkIHN1c3BlbmRBbmltYXRpb25zKGluIERv
Y3VtZW50IGRvY3VtZW50KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CiAgICAgICAgIHZvaWQgcmVz
dW1lQW5pbWF0aW9ucyhpbiBEb2N1bWVudCBkb2N1bWVudCkgcmFpc2VzIChET01FeGNlcHRpb24p
OwogCisgICAgICAgIHZvaWQgYWxsb3dSb3VuZGluZ0hhY2tzKCk7CisKICNpZiBkZWZpbmVkKEVO
QUJMRV9CQVRURVJZX1NUQVRVUykgJiYgRU5BQkxFX0JBVFRFUllfU1RBVFVTCiAgICAgICAgIHZv
aWQgc2V0QmF0dGVyeVN0YXR1cyhpbiBEb2N1bWVudCBkb2N1bWVudCwgaW4gRE9NU3RyaW5nIGV2
ZW50VHlwZSwgaW4gYm9vbGVhbiBjaGFyZ2luZywgaW4gZG91YmxlIGNoYXJnaW5nVGltZSwgaW4g
ZG91YmxlIGRpc2NoYXJnaW5nVGltZSwgaW4gZG91YmxlIGxldmVsKSByYWlzZXMgKERPTUV4Y2Vw
dGlvbik7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2Vi
Vmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCBjOTM4
MjNhMzk0MGNhODY2ZmRhYzY2ZTlkMDU4MWFkZmU2NzBmZTQzLi43YzJjZDcyOWY1MjEwYTIyOWE2
MGRkMjA1NDRlMDA1YzNlNzM1MmQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJW
aWV3L1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1t
CkBAIC05NzgsMTYgKzk3OCw2IEBAIHN0YXRpYyBOU011dGFibGVTZXQgKmtub3duUGx1Z2luTUlN
RVR5cGVzKCkKICAgICBGb250OjpzZXRDb2RlUGF0aChmID8gRm9udDo6Q29tcGxleCA6IEZvbnQ6
OkF1dG8pOwogfQogCi0rICh2b2lkKV9zZXRBbGxvd3NSb3VuZGluZ0hhY2tzOihCT09MKWFsbG93
c1JvdW5kaW5nSGFja3MKLXsKLSAgICBUZXh0UnVuOjpzZXRBbGxvd3NSb3VuZGluZ0hhY2tzKGFs
bG93c1JvdW5kaW5nSGFja3MpOwotfQotCi0rIChCT09MKV9hbGxvd3NSb3VuZGluZ0hhY2tzCi17
Ci0gICAgcmV0dXJuIFRleHRSdW46OmFsbG93c1JvdW5kaW5nSGFja3MoKTsKLX0KLQogKyAoQk9P
TCljYW5DbG9zZUFsbFdlYlZpZXdzCiB7CiAgICAgcmV0dXJuIERPTVdpbmRvdzo6ZGlzcGF0Y2hB
bGxQZW5kaW5nQmVmb3JlVW5sb2FkRXZlbnRzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L21hYy9XZWJWaWV3L1dlYlZpZXdQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3
L1dlYlZpZXdQcml2YXRlLmgKaW5kZXggMDJmN2JjYzQ1NjdkNzY1YzdiZDNhNDM0ZjI1NzI2YTYx
MDNlMzEzMC4uYTllMzBiYjYxMTgyMGMwYjU2ZWI1MTk0OTViZWYxMDI4YTc2ZWMzMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3UHJpdmF0ZS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlld1ByaXZhdGUuaApAQCAtMzQzLDkgKzM0Myw2
IEBAIENvdWxkIGJlIHdvcnRoIGFkZGluZyB0byB0aGUgQVBJLgogLy8gVGhpcyBpcyB0aGUgb2xk
IG5hbWUgb2YgdGhlIGFib3ZlIG1ldGhvZC4gTmVlZGVkIGZvciBTYWZhcmkgdmVyc2lvbnMgdGhh
dCBjYWxsIGl0LgogKyAodm9pZClfc2V0QWx3YXlzVXNlQVRTVTooQk9PTClmOwogCi0rICh2b2lk
KV9zZXRBbGxvd3NSb3VuZGluZ0hhY2tzOihCT09MKWFsbG93c1JvdW5kaW5nSGFja3M7Ci0rIChC
T09MKV9hbGxvd3NSb3VuZGluZ0hhY2tzOwotCiAtIChOU0NhY2hlZFVSTFJlc3BvbnNlICopX2Nh
Y2hlZFJlc3BvbnNlRm9yVVJMOihOU1VSTCAqKVVSTDsKIAogI2lmIEVOQUJMRV9EQVNIQk9BUkRf
U1VQUE9SVApkaWZmIC0tZ2l0IGEvU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlciBiL1Nv
dXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIKaW5kZXggOTZjMGY3ZjQxOTMzZDk0NzZhMWM4
OTk3YTFjMWViODQ0NTk5NGUyOC4uOTBkNDg4YWY0YjYyOTA3NTNjNjkzNjQ1MzFkZThiOWRhMTIy
OGIwMSAxMDA2NDQKLS0tIGEvU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlcgorKysgYi9T
b3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyCkBAIC0xNDUsNiArMTQ1LDcgQEAgX1pON1dl
YkNvcmU4RG9jdW1lbnQzNHdlYmtpdERpZEVudGVyRnVsbFNjcmVlbkZvckVsZW1lbnRFUE5TXzdF
bGVtZW50RTsKIF9aTjdXZWJDb3JlOERvY3VtZW50MzR3ZWJraXRXaWxsRXhpdEZ1bGxTY3JlZW5G
b3JFbGVtZW50RVBOU183RWxlbWVudEU7CiBfWk43V2ViQ29yZThEb2N1bWVudDM1d2Via2l0V2ls
bEVudGVyRnVsbFNjcmVlbkZvckVsZW1lbnRFUE5TXzdFbGVtZW50RTsKIF9aTjdXZWJDb3JlMTdK
U0RPTUdsb2JhbE9iamVjdDZzX2luZm9FOworX1pON1dlYkNvcmU3VGV4dFJ1bjIyc2V0QWxsb3dz
Um91bmRpbmdIYWNrc0ViOwogbG9jYWw6CiBfWio7CiBjdGkqOwpkaWZmIC0tZ2l0IGEvVG9vbHMv
Q2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGRjMzFkNjU0MmQwOWFmYzRmMTg4YTc0
ZjJkMjUyODc3YzNiNjQ4ZWYuLjM3NzNmMTI4ZTkzMTM5YWI3MjM2MWZiNjM3ZTI4YjRiZDYwZmZi
MTIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyNCBAQAorMjAxMi0wNS0yMyAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHNh
bXN1bmcuY29tPgorCisgICAgICAgIE1vdmUgYWxsb3dSb3VuZGluZ0hhY2tzIHRvIEludGVybmFs
cyBpbnRlcmZhY2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTg3MzI4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgUmVtb3ZlIGFsbG93Um91bmRpbmdIYWNrcyBmdW5jdGlvbnMsIGJlY2F1c2UgaXQgaXMgYWJs
ZSB0byB3b3JrIGluIHRoZQorICAgICAgICBjcm9zcy1wb3J0IHdheSB0aHJvdWdoIHRoZSBJbnRl
cmFscyBpbnRlcmZhY2UuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29u
dHJvbGxlci5jcHA6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6c3RhdGljRnVuY3Rp
b25zKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5oOgor
ICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXIpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVl
L2JsYWNrYmVycnkvTGF5b3V0VGVzdENvbnRyb2xsZXJCbGFja0JlcnJ5LmNwcDoKKyAgICAgICAg
KiBEdW1wUmVuZGVyVHJlZS9lZmwvTGF5b3V0VGVzdENvbnRyb2xsZXJFZmwuY3BwOgorICAgICAg
ICAqIER1bXBSZW5kZXJUcmVlL2d0ay9MYXlvdXRUZXN0Q29udHJvbGxlckd0ay5jcHA6CisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvbWFjL0xheW91dFRlc3RDb250cm9sbGVyTWFjLm1tOgorICAg
ICAgICAqIER1bXBSZW5kZXJUcmVlL3dpbi9MYXlvdXRUZXN0Q29udHJvbGxlcldpbi5jcHA6Cisg
ICAgICAgICogRHVtcFJlbmRlclRyZWUvd3gvTGF5b3V0VGVzdENvbnRyb2xsZXJXeC5jcHA6CisK
IDIwMTItMDUtMjMgIERvbmd3b28gSW0gIDxkdy5pbUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBb
RUZMXSBJbXBsZW1lbnRzIHRoZSByZWdpc3RlclByb3RvY29sSGFuZGxlciBtZXRob2QgYW5kIG9w
dGlvbi4KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9s
bGVyLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmNwcApp
bmRleCA2ZTRhZjIyNTJlNTkxMDkzOGE1MWE2YjYxMzJjMjIzYWVhYmUwZjcwLi40Mzk3YjZlMTU4
MmM0YmIwM2Q3NTdmZWYzOGQwZGE2MTY2YmFlMDdhIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwCkBAIC0yMDQ5LDE0ICsyMDQ5LDYgQEAgc3RhdGlj
IEpTVmFsdWVSZWYgc2V0U2VyaWFsaXplSFRUUExvYWRzQ2FsbGJhY2soSlNDb250ZXh0UmVmIGNv
bnRleHQsIEpTT2JqZWN0UmUKICAgICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4
dCk7CiB9CiAKLXN0YXRpYyBKU1ZhbHVlUmVmIGFsbG93Um91bmRpbmdIYWNrc0NhbGxiYWNrKEpT
Q29udGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwg
c2l6ZV90IGFyZ3VtZW50Q291bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJndW1lbnRzW10sIEpTVmFs
dWVSZWYqIGV4Y2VwdGlvbikKLXsKLSAgICBMYXlvdXRUZXN0Q29udHJvbGxlciogY29udHJvbGxl
ciA9IHN0YXRpY19jYXN0PExheW91dFRlc3RDb250cm9sbGVyKj4oSlNPYmplY3RHZXRQcml2YXRl
KHRoaXNPYmplY3QpKTsKLQotICAgIGNvbnRyb2xsZXItPmFsbG93Um91bmRpbmdIYWNrcygpOwot
ICAgIHJldHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjb250ZXh0KTsKLX0KLQogc3RhdGljIEpT
VmFsdWVSZWYgc2V0U2hvdWxkU3RheU9uUGFnZUFmdGVySGFuZGxpbmdCZWZvcmVVbmxvYWRDYWxs
YmFjayhKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYsIEpTT2JqZWN0UmVmIHRoaXNP
YmplY3QsIHNpemVfdCBhcmd1bWVudENvdW50LCBjb25zdCBKU1ZhbHVlUmVmIGFyZ3VtZW50c1td
LCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pCiB7CiAgICAgTGF5b3V0VGVzdENvbnRyb2xsZXIqIGNv
bnRyb2xsZXIgPSBzdGF0aWNfY2FzdDxMYXlvdXRUZXN0Q29udHJvbGxlcio+KEpTT2JqZWN0R2V0
UHJpdmF0ZSh0aGlzT2JqZWN0KSk7CkBAIC0yNDE2LDcgKzI0MDgsNiBAQCBKU1N0YXRpY0Z1bmN0
aW9uKiBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c3RhdGljRnVuY3Rpb25zKCkKICAgICAgICAgeyAi
b3JpZ2luc1dpdGhMb2NhbFN0b3JhZ2UiLCBvcmlnaW5zV2l0aExvY2FsU3RvcmFnZUNhbGxiYWNr
LCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250
RGVsZXRlIH0sCiAgICAgICAgIHsgInNldFNob3VsZFBhaW50QnJva2VuSW1hZ2UiLCBzZXRTaG91
bGRQYWludEJyb2tlbkltYWdlQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkg
fCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKICAgICAgICAgeyAic2V0VGV4dERp
cmVjdGlvbiIsIHNldFRleHREaXJlY3Rpb25DYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVS
ZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAotICAgICAgICB7ICJh
bGxvd1JvdW5kaW5nSGFja3MiLCBhbGxvd1JvdW5kaW5nSGFja3NDYWxsYmFjaywga0pTUHJvcGVy
dHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAog
ICAgICAgICB7ICJzZXRTaG91bGRTdGF5T25QYWdlQWZ0ZXJIYW5kbGluZ0JlZm9yZVVubG9hZCIs
IHNldFNob3VsZFN0YXlPblBhZ2VBZnRlckhhbmRsaW5nQmVmb3JlVW5sb2FkQ2FsbGJhY2ssIGtK
U1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxl
dGUgfSwKICAgICAgICAgeyAiYWRkQ2hyb21lSW5wdXRGaWVsZCIsIGFkZENocm9tZUlucHV0Rmll
bGRDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0
cmlidXRlRG9udERlbGV0ZSB9LAogICAgICAgICB7ICJyZW1vdmVDaHJvbWVJbnB1dEZpZWxkIiwg
cmVtb3ZlQ2hyb21lSW5wdXRGaWVsZENhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRP
bmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCmRpZmYgLS1naXQgYS9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5oIGIvVG9vbHMvRHVtcFJlbmRl
clRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuaAppbmRleCBjMDc2MDY3MjM4NjM4MjU3NTk0YWUw
MTgxMjc5MDE1ZjE3NjIwYTcxLi5mZjI2ZGU2Nzg1YzJmMDc2NDE1Y2U1NGRiMTQ0YmVhZWJjOTQ4
YmE2IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxl
ci5oCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmgKQEAg
LTMwOCw3ICszMDgsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBldmFsdWF0ZUluV2ViSW5zcGVjdG9y
KGxvbmcgY2FsbElkLCBKU1N0cmluZ1JlZiBzY3JpcHQpOwogICAgIHZvaWQgZXZhbHVhdGVTY3Jp
cHRJbklzb2xhdGVkV29ybGQodW5zaWduZWQgd29ybGRJRCwgSlNPYmplY3RSZWYgZ2xvYmFsT2Jq
ZWN0LCBKU1N0cmluZ1JlZiBzY3JpcHQpOwogICAgIHZvaWQgZXZhbHVhdGVTY3JpcHRJbklzb2xh
dGVkV29ybGRBbmRSZXR1cm5WYWx1ZSh1bnNpZ25lZCB3b3JsZElELCBKU09iamVjdFJlZiBnbG9i
YWxPYmplY3QsIEpTU3RyaW5nUmVmIHNjcmlwdCk7Ci0gICAgdm9pZCBhbGxvd1JvdW5kaW5nSGFj
a3MoKTsKIAogICAgIGJvb2wgc2hvdWxkU3RheU9uUGFnZUFmdGVySGFuZGxpbmdCZWZvcmVVbmxv
YWQoKSBjb25zdCB7IHJldHVybiBtX3Nob3VsZFN0YXlPblBhZ2VBZnRlckhhbmRsaW5nQmVmb3Jl
VW5sb2FkOyB9CiAgICAgdm9pZCBzZXRTaG91bGRTdGF5T25QYWdlQWZ0ZXJIYW5kbGluZ0JlZm9y
ZVVubG9hZChib29sIHNob3VsZFN0YXlPblBhZ2VBZnRlckhhbmRsaW5nQmVmb3JlVW5sb2FkKSB7
IG1fc2hvdWxkU3RheU9uUGFnZUFmdGVySGFuZGxpbmdCZWZvcmVVbmxvYWQgPSBzaG91bGRTdGF5
T25QYWdlQWZ0ZXJIYW5kbGluZ0JlZm9yZVVubG9hZDsgfQpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVt
cFJlbmRlclRyZWUvYmxhY2tiZXJyeS9MYXlvdXRUZXN0Q29udHJvbGxlckJsYWNrQmVycnkuY3Bw
IGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvYmxhY2tiZXJyeS9MYXlvdXRUZXN0Q29udHJvbGxlckJs
YWNrQmVycnkuY3BwCmluZGV4IDg0YjUxMGRlMjk2ZWU3MzEyMDNjOWM5MGY5MmEyYWViNGI5OTY1
NTMuLmEzYjc3NTU0MjFhZTg5OWE5YmMwOWU0MWQyNTg1NjA1ZGYwNzc3ZTIgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2JsYWNrYmVycnkvTGF5b3V0VGVzdENvbnRyb2xsZXJCbGFj
a0JlcnJ5LmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9ibGFja2JlcnJ5L0xheW91dFRl
c3RDb250cm9sbGVyQmxhY2tCZXJyeS5jcHAKQEAgLTcwNSwxMSArNzA1LDYgQEAgdm9pZCBMYXlv
dXRUZXN0Q29udHJvbGxlcjo6c2V0VGV4dERpcmVjdGlvbihKU1N0cmluZ1JlZikKICAgICBub3RJ
bXBsZW1lbnRlZCgpOwogfQogCi12b2lkIExheW91dFRlc3RDb250cm9sbGVyOjphbGxvd1JvdW5k
aW5nSGFja3MoKQotewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci19Ci0KIHZvaWQgTGF5b3V0VGVz
dENvbnRyb2xsZXI6OmdvQmFjaygpCiB7CiAgICAgLy8gRklYTUU6IGltcGxlbWVudCB0byBlbmFi
bGUgbG9hZGVyL25hdmlnYXRpb24td2hpbGUtZGVmZXJyaW5nLWxvYWRzLmh0bWwKZGlmZiAtLWdp
dCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9MYXlvdXRUZXN0Q29udHJvbGxlckVmbC5jcHAg
Yi9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvTGF5b3V0VGVzdENvbnRyb2xsZXJFZmwuY3BwCmlu
ZGV4IDJmMTExZWQzOTJlMzRlODQwYjg0ZjRjNDllYzNkNmVmZDQ5Njk4ZjQuLjVkM2I5OWRmOTdl
NTdkYjY1ZDYwZjlhMzIxZTYxODQxY2QzMDk5OTUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL2VmbC9MYXlvdXRUZXN0Q29udHJvbGxlckVmbC5jcHAKKysrIGIvVG9vbHMvRHVtcFJl
bmRlclRyZWUvZWZsL0xheW91dFRlc3RDb250cm9sbGVyRWZsLmNwcApAQCAtODAwLDExICs4MDAs
NiBAQCB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRUZXh0RGlyZWN0aW9uKEpTU3RyaW5n
UmVmKQogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAKLXZvaWQgTGF5b3V0VGVzdENvbnRyb2xs
ZXI6OmFsbG93Um91bmRpbmdIYWNrcygpCi17Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLX0KLQog
dm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6YWRkQ2hyb21lSW5wdXRGaWVsZCgpCiB7CiAgICAg
bm90SW1wbGVtZW50ZWQoKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9M
YXlvdXRUZXN0Q29udHJvbGxlckd0ay5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9ndGsvTGF5
b3V0VGVzdENvbnRyb2xsZXJHdGsuY3BwCmluZGV4IDk1MWQyYmVmN2VkOThmNzBlZDk5MDczN2U4
MTI4MzljMzE3ZDYyYWUuLmJjMjRhMzBlZDc4MDZkOTI3ZTljMGY4MmYxYmNiOThlNmQ2Njc2YTcg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9MYXlvdXRUZXN0Q29udHJvbGxl
ckd0ay5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0xheW91dFRlc3RDb250cm9s
bGVyR3RrLmNwcApAQCAtOTgyLDEwICs5ODIsNiBAQCB2b2lkIExheW91dFRlc3RDb250cm9sbGVy
OjpzZXRUZXh0RGlyZWN0aW9uKEpTU3RyaW5nUmVmIGRpcmVjdGlvbikKICAgICAvLyBGSVhNRTog
SW1wbGVtZW50LgogfQogCi12b2lkIExheW91dFRlc3RDb250cm9sbGVyOjphbGxvd1JvdW5kaW5n
SGFja3MoKQotewotfQotCiB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjphZGRDaHJvbWVJbnB1
dEZpZWxkKCkKIHsKIH0KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9MYXlv
dXRUZXN0Q29udHJvbGxlck1hYy5tbSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9MYXlvdXRU
ZXN0Q29udHJvbGxlck1hYy5tbQppbmRleCA2NzczODI1Mzc3OWRiOGExNDdiMmFkMmFmNmY0NjU0
NjA4NDc3YTQxLi5iMTRjY2E3MWVmMjczY2E4MzUxMmE3ZTk0YzNkYmY0ZmQ1NWQ3YTZmIDEwMDY0
NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvTGF5b3V0VGVzdENvbnRyb2xsZXJNYWMu
bW0KKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0xheW91dFRlc3RDb250cm9sbGVyTWFj
Lm1tCkBAIC05NjcsMTEgKzk2Nyw2IEBAIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmV2YWx1
YXRlU2NyaXB0SW5Jc29sYXRlZFdvcmxkKHVuc2lnbmVkIHdvcmxkSUQsIEpTT2JqCiAgICAgW21h
aW5GcmFtZSBfc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdEZyb21TdHJpbmc6c2NyaXB0TlMg
d2l0aEdsb2JhbE9iamVjdDpnbG9iYWxPYmplY3QgaW5TY3JpcHRXb3JsZDp3b3JsZF07CiB9CiAK
LXZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmFsbG93Um91bmRpbmdIYWNrcygpCi17Ci0gICAg
W1dlYlZpZXcgX3NldEFsbG93c1JvdW5kaW5nSGFja3M6WUVTXTsKLX0KLQogQGludGVyZmFjZSBB
UElUZXN0RGVsZWdhdGUgOiBOU09iamVjdAogewogICAgIGJvb2wqIG1fY29uZGl0aW9uOwpkaWZm
IC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0xheW91dFRlc3RDb250cm9sbGVyV2lu
LmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9MYXlvdXRUZXN0Q29udHJvbGxlcldpbi5j
cHAKaW5kZXggN2U1ZWU3MzIyZGFlZTYzOGNiOWE0MDliOGJkYWJjZGVlNjExZmE0OS4uMzEyMmE0
ODU5OTNmOGZiYzU0NDE1YWY2ZGY1NTQ0OGQxODVlMTMwYSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVt
cFJlbmRlclRyZWUvd2luL0xheW91dFRlc3RDb250cm9sbGVyV2luLmNwcAorKysgYi9Ub29scy9E
dW1wUmVuZGVyVHJlZS93aW4vTGF5b3V0VGVzdENvbnRyb2xsZXJXaW4uY3BwCkBAIC0xNDc1LDEw
ICsxNDc1LDYgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0VGV4dERpcmVjdGlvbihK
U1N0cmluZ1JlZiBkaXJlY3Rpb24pCiAgICAgZnJhbWVQcml2YXRlLT5zZXRUZXh0RGlyZWN0aW9u
KGJzdHJUKGRpcmVjdGlvbikuR2V0QlNUUigpKTsKIH0KIAotdm9pZCBMYXlvdXRUZXN0Q29udHJv
bGxlcjo6YWxsb3dSb3VuZGluZ0hhY2tzKCkKLXsKLX0KLQogdm9pZCBMYXlvdXRUZXN0Q29udHJv
bGxlcjo6YWRkQ2hyb21lSW5wdXRGaWVsZCgpCiB7CiB9CmRpZmYgLS1naXQgYS9Ub29scy9EdW1w
UmVuZGVyVHJlZS93eC9MYXlvdXRUZXN0Q29udHJvbGxlcld4LmNwcCBiL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL3d4L0xheW91dFRlc3RDb250cm9sbGVyV3guY3BwCmluZGV4IGI0YjE4MDZjY2RjNzdm
NWI3OWU3YTY0ZDMyODRjYTE3NjE5Y2QzZjEuLjFiYTE5ODE1NGNmNmMzOWJmMzE1N2RkN2M2OTA0
ZDcwODNmZDAwMDcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3d4L0xheW91dFRl
c3RDb250cm9sbGVyV3guY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3d4L0xheW91dFRl
c3RDb250cm9sbGVyV3guY3BwCkBAIC02MDgsMTAgKzYwOCw2IEBAIHZvaWQgTGF5b3V0VGVzdENv
bnRyb2xsZXI6OnNldFRleHREaXJlY3Rpb24oSlNTdHJpbmdSZWYgZGlyZWN0aW9uKQogICAgIC8v
IEZJWE1FOiBJbXBsZW1lbnQuCiB9CiAKLXZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmFsbG93
Um91bmRpbmdIYWNrcygpCi17Ci19Ci0KIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmFkZENo
cm9tZUlucHV0RmllbGQoKQogewogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDAwODBkN2YwMzU4YTY5MjViZGRhODJiNDIx
ODJkOWE5ZGExZTgxY2MuLjkzOGU2MjA1MGJlOTg1Njk4MWUwZmE5NmRkOTNhYzU3NmQ1NzJlZmMg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMi0wNS0yMyAgR3l1eW91bmcgS2ltICA8Z3l1eW91
bmcua2ltQHNhbXN1bmcuY29tPgorCisgICAgICAgIE1vdmUgYWxsb3dSb3VuZGluZ0hhY2tzIHRv
IEludGVybmFscyBpbnRlcmZhY2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTg3MzI4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgSW52b2tlIGFsbG93Um91bmRpbmdIYWNrcyBmdW5jdGlvbiBmcm9tIGludGVy
bmFscywgYmVjYXVzZSBpdCBpcyBhYmxlIHRvIHdvcmsgaW4gdGhlCisgICAgICAgIGNyb3NzLXBv
cnQgd2F5IHZpYSB0aGUgSW50ZXJuYWxzIGludGVyZmFjZS4KKworICAgICAgICAqIHBsYXRmb3Jt
L21hYy9mYXN0L3RleHQvcm91bmRpbmctaGFja3MtZXhwYW5zaW9uLmh0bWw6CisgICAgICAgICog
cGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9yb3VuZGluZy1oYWNrcy5odG1sOgorCiAyMDEyLTA1LTIz
ICBTdGV2ZSBCbG9jayAgPHN0ZXZlYmxvY2tAZ29vZ2xlLmNvbT4KIAogICAgICAgICBBZGQgY3Jh
c2hpbmcgZXhwZWN0YXRpb24gZm9yIG1lZGlhL3ZpZGVvLXNyYy1pbnZhbGlkLXJlbW92ZS5odG1s
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L3JvdW5kaW5n
LWhhY2tzLWV4cGFuc2lvbi5odG1sIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4
dC9yb3VuZGluZy1oYWNrcy1leHBhbnNpb24uaHRtbAppbmRleCA4YzNiN2Y5YWIzZjA1ZWY0ZTk1
YmNkMWRlMzM0ZjhhNjBmZDliYWRlLi5mZDgxNDgyMDc5ZGE1YTQyNjJjZDc2ZWVmZWE3MzEyYzJk
M2YzNzkxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L3Jv
dW5kaW5nLWhhY2tzLWV4cGFuc2lvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9mYXN0L3RleHQvcm91bmRpbmctaGFja3MtZXhwYW5zaW9uLmh0bWwKQEAgLTEsNiArMSw2IEBA
CiA8c2NyaXB0PgotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAg
IGxheW91dFRlc3RDb250cm9sbGVyLmFsbG93Um91bmRpbmdIYWNrcygpOworICAgIGlmICh3aW5k
b3cuaW50ZXJuYWxzKQorICAgICAgICBpbnRlcm5hbHMuYWxsb3dSb3VuZGluZ0hhY2tzKCk7CiA8
L3NjcmlwdD4KIDxkaXYgc3R5bGU9ImJvcmRlcjogc29saWQgY3lhbjsgZm9udDogMTZweCAnbHVj
aWRhIGdyYW5kZSc7IHRleHQtYWxpZ246IGp1c3RpZnk7IHdpZHRoOiAzMDBweDsiPkdpdmVuIGFu
IG9wcG9ydHVuaXR5IHRvIG1ha2UgYSBtaXN0YWtlPC9kaXY+CiA8ZGl2IHN0eWxlPSJib3JkZXI6
IHNvbGlkIGN5YW47IGZvbnQ6IDE2cHggJ2x1Y2lkYSBncmFuZGUnOyB0ZXh0LWFsaWduOiBqdXN0
aWZ5OyB3aWR0aDogMzAwcHg7Ij5HaXZlbiBhbiBvcHBvcnR1bml0eSB0byBtYWtlIGEgbWlzdGFr
ZTwvZGl2PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9y
b3VuZGluZy1oYWNrcy5odG1sIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9y
b3VuZGluZy1oYWNrcy5odG1sCmluZGV4IDI1MWFhZjg2ZmQ1NTM0Y2VjZDljYjUxMDAxZTc2ZWVm
MzFjZGYxODguLjg3NDc3MDhkMTk3Y2Y3OWY1YTkxZGNiYjNlNjQ3MzFjZTQ0NmVmMjMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvcm91bmRpbmctaGFja3Mu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L3JvdW5kaW5nLWhh
Y2tzLmh0bWwKQEAgLTEsNiArMSw2IEBACiA8c2NyaXB0PgotICAgIGlmICh3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmFsbG93Um91bmRp
bmdIYWNrcygpOworICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICBpbnRlcm5hbHMu
YWxsb3dSb3VuZGluZ0hhY2tzKCk7CiA8L3NjcmlwdD4KIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5
OiAnbHVjaWRhIGdyYW5kZSc7IGZvbnQtc2l6ZTogMjJweDsiPgogICAgIExvcmVtIGlwc3VtIGRv
bG9yIHNpdCBhbWV0LCAgY29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0LiBQcmFlc2VudApkaWZm
IC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IDIxZWZiYWEzNTUwM2M1NDYwMzNh
Mzk3OWQxOGIxZjUzODI5YmVjNTYuLjFiMzYwZDcxMzIxMjY4NjRjZTliYTZiYTFlYjM1OTRiM2M0
MjhlZTYgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
MiBAQAorMjAxMi0wNS0yMyAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHNhbXN1bmcuY29t
PgorCisgICAgICAgIE1vdmUgYWxsb3dSb3VuZGluZ0hhY2tzIHRvIEludGVybmFscyBpbnRlcmZh
Y2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg3MzI4
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTb3Vy
Y2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyOiBBZGQgYWxsb3dSb3VuZGluZ0hhY2tzIHN5bWJv
bCBmaWx0ZXIuCisKIDIwMTItMDUtMjIgIERvbmd3b28gSW0gIDxkdy5pbUBzYW1zdW5nLmNvbT4K
IAogICAgICAgICBbRUZMXSBJbXBsZW1lbnRzIHRoZSByZWdpc3RlclByb3RvY29sSGFuZGxlciBt
ZXRob2QgYW5kIG9wdGlvbi4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>143715</attachid>
            <date>2012-05-23 20:22:46 -0700</date>
            <delta_ts>2012-05-23 21:15:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87328-20120524122245.patch</filename>
            <type>text/plain</type>
            <size>18130</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE4MzE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGNkZWNhNDAxMGEwYTc3
Yjk2M2U4ZTQ4MjE2N2IyNmRmMWVlYTI2Yi4uMWQ1Nzk4Yzk3MzA5NDljMjE1YmY3MTQ1ZmFkNDU3
YTY1ZjQyNDRhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTA1LTIzICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgTW92ZSBhbGxv
d1JvdW5kaW5nSGFja3MgdG8gSW50ZXJuYWxzIGludGVyZmFjZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODczMjgKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYWxsb3dSb3VuZGluZ0hhY2tzIGZ1bmN0
aW9uLCBiZWNhdXNlIGl0IGlzIGFibGUgdG8gd29yayBpbiB0aGUKKyAgICAgICAgY3Jvc3MtcG9y
dCB3YXkgYnkgbWVhbnMgb2YgdGhlIEludGVybmFscyBpbnRlcmZhY2UuCisKKyAgICAgICAgTm8g
bmV3IHRlc3RzLCBzaW5jZSB3ZSBhcmUgaW1wcm92aW5nIGhlcmUgdGhlIGluZnJhLXN0cnVjdHVy
ZSBmb3IgdGVzdGluZworICAgICAgICBhIHNwZWNpZmljIG1ldGhvZC4KKworICAgICAgICAqIHRl
c3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6YWxsb3dS
b3VuZGluZ0hhY2tzKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5oOgorICAgICAgICAo
SW50ZXJuYWxzKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6CisKIDIwMTItMDUt
MjMgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lP
TjogY29tcG9zaXRpbmcvdmlkZW8vdmlkZW8tcG9zdGVyLmh0bWwgZmFpbHMgb24gTWFjCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9D
aGFuZ2VMb2cKaW5kZXggNjAwMTIxNGI1YWRlOGY4MTg3Y2E0ZTRiMzYxMTU5YmFiNjZjMzExNC4u
ZjA3MmMzNzRjNThmOGIwOGMyYjE1NDg1MTAwOGNjMmNlODMzZjYwYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTA1LTIzICBHeXV5b3VuZyBLaW0gIDxneXV5b3VuZy5r
aW1Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgTW92ZSBhbGxvd1JvdW5kaW5nSGFja3MgdG8gSW50
ZXJuYWxzIGludGVyZmFjZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9ODczMjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBSZW1vdmUgc2V0QWxsb3dzUm91bmRpbmdIYWNrcygpIGFuZCBhbGxvd1JvdWRpbmdI
YWNrcygpIGZ1bmN0aW9ucywgYmVjYXVzZSBpdCBpcyBhYmxlIHRvIHdvcmsgaW4gdGhlCisgICAg
ICAgIGNyb3NzLXBvcnQgd2F5IHRocm91Z2ggdGhlIEludGVybmFsU2V0dGluZ3MgaW50ZXJmYWNl
LgorCisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgorICAgICAgICAqIFdlYlZpZXcvV2Vi
Vmlld1ByaXZhdGUuaDoKKwogMjAxMi0wNS0yMyAgT2phbiBWYWZhaSAgPG9qYW5AY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIGFkZCBiYWNrIHRoZSBhYmlsaXR5IHRvIGRpc2FibGUgZmxleGJveApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCmluZGV4IDVlZWUzZThjYTE1M2E0OWIzNmZlNDBiMDAyZjNjMWRjY2VkOGU3ODQuLjYx
ZDM1NGZhZWJmNDg0ZWVjNTUxMzUzNjIwYzE2NTBkODM5ZWZiYjcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAxMi0wNS0yMyAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHNhbXN1
bmcuY29tPgorCisgICAgICAgIE1vdmUgYWxsb3dSb3VuZGluZ0hhY2tzIHRvIEludGVybmFscyBp
bnRlcmZhY2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTg3MzI4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiB3aW4vV2ViS2l0Mi5kZWY6IEFkZCBzZXRBbGxvd3NSb3VuZGluZ0hhY2tzKCkgdG8gc3ltYm9s
IGZpbHRlci4KKwogMjAxMi0wNS0yMyAgT2phbiBWYWZhaSAgPG9qYW5AY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIGFkZCBiYWNrIHRoZSBhYmlsaXR5IHRvIGRpc2FibGUgZmxleGJveApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IDg0MmU4ZTE0NDkzMjNiYmQyYTAzYmJlN2Zh
NTk5ZWRmNGE2ZWFkNDIuLjc2NTRlZGRiMTc4ZTlmZTNiNjUwNTYzMzYzMDQzMjU2YmY5MTMzYjAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTYwLDYgKzYwLDcgQEAKICNp
bmNsdWRlICJTaGFkb3dSb290LmgiCiAjaW5jbHVkZSAiU3BlbGxDaGVja2VyLmgiCiAjaW5jbHVk
ZSAiVGV4dEl0ZXJhdG9yLmgiCisjaW5jbHVkZSAiVGV4dFJ1bi5oIgogI2luY2x1ZGUgIlRyZWVT
Y29wZS5oIgogCiAjaWYgRU5BQkxFKElOUFVUX1RZUEVfQ09MT1IpCkBAIC0xMDUwLDYgKzEwNTEs
MTAgQEAgdm9pZCBJbnRlcm5hbHM6OnJlc3VtZUFuaW1hdGlvbnMoRG9jdW1lbnQqIGRvY3VtZW50
LCBFeGNlcHRpb25Db2RlJiBlYykgY29uc3QKICAgICBjb250cm9sbGVyLT5yZXN1bWVBbmltYXRp
b25zKCk7CiB9CiAKK3ZvaWQgSW50ZXJuYWxzOjphbGxvd1JvdW5kaW5nSGFja3MoKSBjb25zdAor
eworICAgIFRleHRSdW46OnNldEFsbG93c1JvdW5kaW5nSGFja3ModHJ1ZSk7Cit9CiAKICNpZiBF
TkFCTEUoRlVMTFNDUkVFTl9BUEkpCiB2b2lkIEludGVybmFsczo6d2Via2l0V2lsbEVudGVyRnVs
bFNjcmVlbkZvckVsZW1lbnQoRG9jdW1lbnQqIGRvY3VtZW50LCBFbGVtZW50KiBlbGVtZW50KQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaCBiL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKaW5kZXggOGUwMTBlOTg2NDBkNGUwZjk5YTgyNTY0
NjE4MDc5MDRiMDhkZmIwYi4uN2RlNzRhMzkxYjg3NmRlYzQyODQ2MjkwOWY4OWMyN2FkODJiMzcz
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCkBAIC0xNjgsNiArMTY4LDggQEAgcHVi
bGljOgogICAgIHZvaWQgc3VzcGVuZEFuaW1hdGlvbnMoRG9jdW1lbnQqLCBFeGNlcHRpb25Db2Rl
JikgY29uc3Q7CiAgICAgdm9pZCByZXN1bWVBbmltYXRpb25zKERvY3VtZW50KiwgRXhjZXB0aW9u
Q29kZSYpIGNvbnN0OwogCisgICAgdm9pZCBhbGxvd1JvdW5kaW5nSGFja3MoKSBjb25zdDsKKwog
I2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgdW5zaWduZWQgbnVtYmVyT2ZMaXZlTm9kZXMoKSBj
b25zdDsKICAgICB1bnNpZ25lZCBudW1iZXJPZkxpdmVEb2N1bWVudHMoKSBjb25zdDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbCBiL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAppbmRleCBlZjllZDc1M2RmYWVhYjI2MWU5MjAwMDMx
NmFjZTMzMjdhYjIwMTEyLi5hYTEwODU4YmIzZDY2NmFmNGZjMDVkYmVlOGE0NDA3NmFkZjg2MDQw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKKysrIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCkBAIC0xMzcsNiArMTM3LDggQEAg
bW9kdWxlIHdpbmRvdyB7CiAgICAgICAgIHZvaWQgc3VzcGVuZEFuaW1hdGlvbnMoaW4gRG9jdW1l
bnQgZG9jdW1lbnQpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKICAgICAgICAgdm9pZCByZXN1bWVB
bmltYXRpb25zKGluIERvY3VtZW50IGRvY3VtZW50KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CiAK
KyAgICAgICAgdm9pZCBhbGxvd1JvdW5kaW5nSGFja3MoKTsKKwogI2lmIGRlZmluZWQoRU5BQkxF
X0JBVFRFUllfU1RBVFVTKSAmJiBFTkFCTEVfQkFUVEVSWV9TVEFUVVMKICAgICAgICAgdm9pZCBz
ZXRCYXR0ZXJ5U3RhdHVzKGluIERvY3VtZW50IGRvY3VtZW50LCBpbiBET01TdHJpbmcgZXZlbnRU
eXBlLCBpbiBib29sZWFuIGNoYXJnaW5nLCBpbiBkb3VibGUgY2hhcmdpbmdUaW1lLCBpbiBkb3Vi
bGUgZGlzY2hhcmdpbmdUaW1lLCBpbiBkb3VibGUgbGV2ZWwpIHJhaXNlcyAoRE9NRXhjZXB0aW9u
KTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3
Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCmluZGV4IGM5MzgyM2Ez
OTQwY2E4NjZmZGFjNjZlOWQwNTgxYWRmZTY3MGZlNDMuLjdjMmNkNzI5ZjUyMTBhMjI5YTYwZGQy
MDU0NGUwMDVjM2U3MzUyZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcv
V2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAg
LTk3OCwxNiArOTc4LDYgQEAgc3RhdGljIE5TTXV0YWJsZVNldCAqa25vd25QbHVnaW5NSU1FVHlw
ZXMoKQogICAgIEZvbnQ6OnNldENvZGVQYXRoKGYgPyBGb250OjpDb21wbGV4IDogRm9udDo6QXV0
byk7CiB9CiAKLSsgKHZvaWQpX3NldEFsbG93c1JvdW5kaW5nSGFja3M6KEJPT0wpYWxsb3dzUm91
bmRpbmdIYWNrcwotewotICAgIFRleHRSdW46OnNldEFsbG93c1JvdW5kaW5nSGFja3MoYWxsb3dz
Um91bmRpbmdIYWNrcyk7Ci19Ci0KLSsgKEJPT0wpX2FsbG93c1JvdW5kaW5nSGFja3MKLXsKLSAg
ICByZXR1cm4gVGV4dFJ1bjo6YWxsb3dzUm91bmRpbmdIYWNrcygpOwotfQotCiArIChCT09MKWNh
bkNsb3NlQWxsV2ViVmlld3MKIHsKICAgICByZXR1cm4gRE9NV2luZG93OjpkaXNwYXRjaEFsbFBl
bmRpbmdCZWZvcmVVbmxvYWRFdmVudHMoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFj
L1dlYlZpZXcvV2ViVmlld1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2Vi
Vmlld1ByaXZhdGUuaAppbmRleCAwMmY3YmNjNDU2N2Q3NjVjN2JkM2E0MzRmMjU3MjZhNjEwM2Uz
MTMwLi5hOWUzMGJiNjExODIwYzBiNTZlYjUxOTQ5NWJlZjEwMjhhNzZlYzMzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXdQcml2YXRlLmgKKysrIGIvU291cmNl
L1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3UHJpdmF0ZS5oCkBAIC0zNDMsOSArMzQzLDYgQEAg
Q291bGQgYmUgd29ydGggYWRkaW5nIHRvIHRoZSBBUEkuCiAvLyBUaGlzIGlzIHRoZSBvbGQgbmFt
ZSBvZiB0aGUgYWJvdmUgbWV0aG9kLiBOZWVkZWQgZm9yIFNhZmFyaSB2ZXJzaW9ucyB0aGF0IGNh
bGwgaXQuCiArICh2b2lkKV9zZXRBbHdheXNVc2VBVFNVOihCT09MKWY7CiAKLSsgKHZvaWQpX3Nl
dEFsbG93c1JvdW5kaW5nSGFja3M6KEJPT0wpYWxsb3dzUm91bmRpbmdIYWNrczsKLSsgKEJPT0wp
X2FsbG93c1JvdW5kaW5nSGFja3M7Ci0KIC0gKE5TQ2FjaGVkVVJMUmVzcG9uc2UgKilfY2FjaGVk
UmVzcG9uc2VGb3JVUkw6KE5TVVJMICopVVJMOwogCiAjaWYgRU5BQkxFX0RBU0hCT0FSRF9TVVBQ
T1JUCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWYgYi9Tb3VyY2Uv
V2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWYKaW5kZXggZGM3YjRjYjZkODMzNWE5MmQ0ZDNjZTYyNjli
ZWM0MGMxMzI1YjRhYy4uMjgyYTZmYmE1NTgwMWU5ODI5Njg3MDBkMDM2NGU5NmRhNDk4MDk4ZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIuZGVmCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL3dpbi9XZWJLaXQyLmRlZgpAQCAtMjU1LDMgKzI1NSw0IEBAIEVYUE9SVFMKICAgICAg
ICAgP2lzUGFnZUJveFZpc2libGVARG9jdW1lbnRAV2ViQ29yZUBAUUFFX05IQFoKICAgICAgICAg
P3N1c3BlbmRBbmltYXRpb25zQEFuaW1hdGlvbkNvbnRyb2xsZXJAV2ViQ29yZUBAUUFFWFhaCiAg
ICAgICAgID9yZXN1bWVBbmltYXRpb25zQEFuaW1hdGlvbkNvbnRyb2xsZXJAV2ViQ29yZUBAUUFF
WFhaCisgICAgICAgID9zZXRBbGxvd3NSb3VuZGluZ0hhY2tzQFRleHRSdW5AV2ViQ29yZUBAU0FY
X05AWgpkaWZmIC0tZ2l0IGEvU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlciBiL1NvdXJj
ZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIKaW5kZXggOTZjMGY3ZjQxOTMzZDk0NzZhMWM4OTk3
YTFjMWViODQ0NTk5NGUyOC4uOTBkNDg4YWY0YjYyOTA3NTNjNjkzNjQ1MzFkZThiOWRhMTIyOGIw
MSAxMDA2NDQKLS0tIGEvU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlcgorKysgYi9Tb3Vy
Y2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyCkBAIC0xNDUsNiArMTQ1LDcgQEAgX1pON1dlYkNv
cmU4RG9jdW1lbnQzNHdlYmtpdERpZEVudGVyRnVsbFNjcmVlbkZvckVsZW1lbnRFUE5TXzdFbGVt
ZW50RTsKIF9aTjdXZWJDb3JlOERvY3VtZW50MzR3ZWJraXRXaWxsRXhpdEZ1bGxTY3JlZW5Gb3JF
bGVtZW50RVBOU183RWxlbWVudEU7CiBfWk43V2ViQ29yZThEb2N1bWVudDM1d2Via2l0V2lsbEVu
dGVyRnVsbFNjcmVlbkZvckVsZW1lbnRFUE5TXzdFbGVtZW50RTsKIF9aTjdXZWJDb3JlMTdKU0RP
TUdsb2JhbE9iamVjdDZzX2luZm9FOworX1pON1dlYkNvcmU3VGV4dFJ1bjIyc2V0QWxsb3dzUm91
bmRpbmdIYWNrc0ViOwogbG9jYWw6CiBfWio7CiBjdGkqOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hh
bmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGMxNDhjZTBlYjExYzczY2I2ZGJlMTBlZGE2
NTgyNDc0OGM0MTQ2MDUuLjM3MmE4MDYxMDIxODUyM2MyMGQwYWViZTc4N2VlOGQwOTg0MmM5OWUg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNCBAQAorMjAxMi0wNS0yMyAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHNhbXN1
bmcuY29tPgorCisgICAgICAgIE1vdmUgYWxsb3dSb3VuZGluZ0hhY2tzIHRvIEludGVybmFscyBp
bnRlcmZhY2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTg3MzI4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
UmVtb3ZlIGFsbG93Um91bmRpbmdIYWNrcyBmdW5jdGlvbnMsIGJlY2F1c2UgaXQgaXMgYWJsZSB0
byB3b3JrIGluIHRoZQorICAgICAgICBjcm9zcy1wb3J0IHdheSB0aHJvdWdoIHRoZSBJbnRlcmFs
cyBpbnRlcmZhY2UuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJv
bGxlci5jcHA6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6c3RhdGljRnVuY3Rpb25z
KToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5oOgorICAg
ICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXIpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Js
YWNrYmVycnkvTGF5b3V0VGVzdENvbnRyb2xsZXJCbGFja0JlcnJ5LmNwcDoKKyAgICAgICAgKiBE
dW1wUmVuZGVyVHJlZS9lZmwvTGF5b3V0VGVzdENvbnRyb2xsZXJFZmwuY3BwOgorICAgICAgICAq
IER1bXBSZW5kZXJUcmVlL2d0ay9MYXlvdXRUZXN0Q29udHJvbGxlckd0ay5jcHA6CisgICAgICAg
ICogRHVtcFJlbmRlclRyZWUvbWFjL0xheW91dFRlc3RDb250cm9sbGVyTWFjLm1tOgorICAgICAg
ICAqIER1bXBSZW5kZXJUcmVlL3dpbi9MYXlvdXRUZXN0Q29udHJvbGxlcldpbi5jcHA6CisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvd3gvTGF5b3V0VGVzdENvbnRyb2xsZXJXeC5jcHA6CisKIDIw
MTItMDUtMjMgIEthbmdpbCBIYW4gIDxrYW5naWwuaGFuQHNhbXN1bmcuY29tPgogCiAgICAgICAg
IFtFRkxdW0RSVF0gRml4IFdlYkNvcmUgbGlicmFyeSBwYXRoIGFuZCByZWJhc2VsaW5lIHJlc3Vs
dApkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIu
Y3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwCmluZGV4
IDZlNGFmMjI1MmU1OTEwOTM4YTUxYTZiNjEzMmMyMjNhZWFiZTBmNzAuLjQzOTdiNmUxNTgyYzRi
YjAzZDc1N2ZlZjM4ZDBkYTYxNjZiYWUwN2EgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL0xheW91dFRlc3RDb250cm9sbGVyLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9M
YXlvdXRUZXN0Q29udHJvbGxlci5jcHAKQEAgLTIwNDksMTQgKzIwNDksNiBAQCBzdGF0aWMgSlNW
YWx1ZVJlZiBzZXRTZXJpYWxpemVIVFRQTG9hZHNDYWxsYmFjayhKU0NvbnRleHRSZWYgY29udGV4
dCwgSlNPYmplY3RSZQogICAgIHJldHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjb250ZXh0KTsK
IH0KIAotc3RhdGljIEpTVmFsdWVSZWYgYWxsb3dSb3VuZGluZ0hhY2tzQ2FsbGJhY2soSlNDb250
ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmLCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBzaXpl
X3QgYXJndW1lbnRDb3VudCwgY29uc3QgSlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNWYWx1ZVJl
ZiogZXhjZXB0aW9uKQotewotICAgIExheW91dFRlc3RDb250cm9sbGVyKiBjb250cm9sbGVyID0g
c3RhdGljX2Nhc3Q8TGF5b3V0VGVzdENvbnRyb2xsZXIqPihKU09iamVjdEdldFByaXZhdGUodGhp
c09iamVjdCkpOwotCi0gICAgY29udHJvbGxlci0+YWxsb3dSb3VuZGluZ0hhY2tzKCk7Ci0gICAg
cmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRleHQpOwotfQotCiBzdGF0aWMgSlNWYWx1
ZVJlZiBzZXRTaG91bGRTdGF5T25QYWdlQWZ0ZXJIYW5kbGluZ0JlZm9yZVVubG9hZENhbGxiYWNr
KEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiwgSlNPYmplY3RSZWYgdGhpc09iamVj
dCwgc2l6ZV90IGFyZ3VtZW50Q291bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJndW1lbnRzW10sIEpT
VmFsdWVSZWYqIGV4Y2VwdGlvbikKIHsKICAgICBMYXlvdXRUZXN0Q29udHJvbGxlciogY29udHJv
bGxlciA9IHN0YXRpY19jYXN0PExheW91dFRlc3RDb250cm9sbGVyKj4oSlNPYmplY3RHZXRQcml2
YXRlKHRoaXNPYmplY3QpKTsKQEAgLTI0MTYsNyArMjQwOCw2IEBAIEpTU3RhdGljRnVuY3Rpb24q
IExheW91dFRlc3RDb250cm9sbGVyOjpzdGF0aWNGdW5jdGlvbnMoKQogICAgICAgICB7ICJvcmln
aW5zV2l0aExvY2FsU3RvcmFnZSIsIG9yaWdpbnNXaXRoTG9jYWxTdG9yYWdlQ2FsbGJhY2ssIGtK
U1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxl
dGUgfSwKICAgICAgICAgeyAic2V0U2hvdWxkUGFpbnRCcm9rZW5JbWFnZSIsIHNldFNob3VsZFBh
aW50QnJva2VuSW1hZ2VDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtK
U1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAgICAgICB7ICJzZXRUZXh0RGlyZWN0
aW9uIiwgc2V0VGV4dERpcmVjdGlvbkNhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRP
bmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCi0gICAgICAgIHsgImFsbG93
Um91bmRpbmdIYWNrcyIsIGFsbG93Um91bmRpbmdIYWNrc0NhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0
dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAg
ICAgIHsgInNldFNob3VsZFN0YXlPblBhZ2VBZnRlckhhbmRsaW5nQmVmb3JlVW5sb2FkIiwgc2V0
U2hvdWxkU3RheU9uUGFnZUFmdGVySGFuZGxpbmdCZWZvcmVVbmxvYWRDYWxsYmFjaywga0pTUHJv
cGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9
LAogICAgICAgICB7ICJhZGRDaHJvbWVJbnB1dEZpZWxkIiwgYWRkQ2hyb21lSW5wdXRGaWVsZENh
bGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1
dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsgInJlbW92ZUNocm9tZUlucHV0RmllbGQiLCByZW1v
dmVDaHJvbWVJbnB1dEZpZWxkQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkg
fCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmggYi9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9MYXlvdXRUZXN0Q29udHJvbGxlci5oCmluZGV4IGMwNzYwNjcyMzg2MzgyNTc1OTRhZTAxODEy
NzkwMTVmMTc2MjBhNzEuLmZmMjZkZTY3ODVjMmYwNzY0MTVjZTU0ZGIxNDRiZWFlYmM5NDhiYTYg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmgK
KysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuaApAQCAtMzA4
LDcgKzMwOCw2IEBAIHB1YmxpYzoKICAgICB2b2lkIGV2YWx1YXRlSW5XZWJJbnNwZWN0b3IobG9u
ZyBjYWxsSWQsIEpTU3RyaW5nUmVmIHNjcmlwdCk7CiAgICAgdm9pZCBldmFsdWF0ZVNjcmlwdElu
SXNvbGF0ZWRXb3JsZCh1bnNpZ25lZCB3b3JsZElELCBKU09iamVjdFJlZiBnbG9iYWxPYmplY3Qs
IEpTU3RyaW5nUmVmIHNjcmlwdCk7CiAgICAgdm9pZCBldmFsdWF0ZVNjcmlwdEluSXNvbGF0ZWRX
b3JsZEFuZFJldHVyblZhbHVlKHVuc2lnbmVkIHdvcmxkSUQsIEpTT2JqZWN0UmVmIGdsb2JhbE9i
amVjdCwgSlNTdHJpbmdSZWYgc2NyaXB0KTsKLSAgICB2b2lkIGFsbG93Um91bmRpbmdIYWNrcygp
OwogCiAgICAgYm9vbCBzaG91bGRTdGF5T25QYWdlQWZ0ZXJIYW5kbGluZ0JlZm9yZVVubG9hZCgp
IGNvbnN0IHsgcmV0dXJuIG1fc2hvdWxkU3RheU9uUGFnZUFmdGVySGFuZGxpbmdCZWZvcmVVbmxv
YWQ7IH0KICAgICB2b2lkIHNldFNob3VsZFN0YXlPblBhZ2VBZnRlckhhbmRsaW5nQmVmb3JlVW5s
b2FkKGJvb2wgc2hvdWxkU3RheU9uUGFnZUFmdGVySGFuZGxpbmdCZWZvcmVVbmxvYWQpIHsgbV9z
aG91bGRTdGF5T25QYWdlQWZ0ZXJIYW5kbGluZ0JlZm9yZVVubG9hZCA9IHNob3VsZFN0YXlPblBh
Z2VBZnRlckhhbmRsaW5nQmVmb3JlVW5sb2FkOyB9CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9ibGFja2JlcnJ5L0xheW91dFRlc3RDb250cm9sbGVyQmxhY2tCZXJyeS5jcHAgYi9U
b29scy9EdW1wUmVuZGVyVHJlZS9ibGFja2JlcnJ5L0xheW91dFRlc3RDb250cm9sbGVyQmxhY2tC
ZXJyeS5jcHAKaW5kZXggODRiNTEwZGUyOTZlZTczMTIwM2M5YzkwZjkyYTJhZWI0Yjk5NjU1My4u
YTNiNzc1NTQyMWFlODk5YTliYzA5ZTQxZDI1ODU2MDVkZjA3NzdlMiAxMDA2NDQKLS0tIGEvVG9v
bHMvRHVtcFJlbmRlclRyZWUvYmxhY2tiZXJyeS9MYXlvdXRUZXN0Q29udHJvbGxlckJsYWNrQmVy
cnkuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2JsYWNrYmVycnkvTGF5b3V0VGVzdENv
bnRyb2xsZXJCbGFja0JlcnJ5LmNwcApAQCAtNzA1LDExICs3MDUsNiBAQCB2b2lkIExheW91dFRl
c3RDb250cm9sbGVyOjpzZXRUZXh0RGlyZWN0aW9uKEpTU3RyaW5nUmVmKQogICAgIG5vdEltcGxl
bWVudGVkKCk7CiB9CiAKLXZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmFsbG93Um91bmRpbmdI
YWNrcygpCi17Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLX0KLQogdm9pZCBMYXlvdXRUZXN0Q29u
dHJvbGxlcjo6Z29CYWNrKCkKIHsKICAgICAvLyBGSVhNRTogaW1wbGVtZW50IHRvIGVuYWJsZSBs
b2FkZXIvbmF2aWdhdGlvbi13aGlsZS1kZWZlcnJpbmctbG9hZHMuaHRtbApkaWZmIC0tZ2l0IGEv
VG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0xheW91dFRlc3RDb250cm9sbGVyRWZsLmNwcCBiL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9MYXlvdXRUZXN0Q29udHJvbGxlckVmbC5jcHAKaW5kZXgg
MmYxMTFlZDM5MmUzNGU4NDBiODRmNGM0OWVjM2Q2ZWZkNDk2OThmNC4uNWQzYjk5ZGY5N2U1N2Ri
NjVkNjBmOWEzMjFlNjE4NDFjZDMwOTk5NSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvZWZsL0xheW91dFRlc3RDb250cm9sbGVyRWZsLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVy
VHJlZS9lZmwvTGF5b3V0VGVzdENvbnRyb2xsZXJFZmwuY3BwCkBAIC04MDAsMTEgKzgwMCw2IEBA
IHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldFRleHREaXJlY3Rpb24oSlNTdHJpbmdSZWYp
CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAotdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6
YWxsb3dSb3VuZGluZ0hhY2tzKCkKLXsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotfQotCiB2b2lk
IExheW91dFRlc3RDb250cm9sbGVyOjphZGRDaHJvbWVJbnB1dEZpZWxkKCkKIHsKICAgICBub3RJ
bXBsZW1lbnRlZCgpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0xheW91
dFRlc3RDb250cm9sbGVyR3RrLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9MYXlvdXRU
ZXN0Q29udHJvbGxlckd0ay5jcHAKaW5kZXggOTUxZDJiZWY3ZWQ5OGY3MGVkOTkwNzM3ZTgxMjgz
OWMzMTdkNjJhZS4uYmMyNGEzMGVkNzgwNmQ5MjdlOWMwZjgyZjFiY2I5OGU2ZDY2NzZhNyAxMDA2
NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0xheW91dFRlc3RDb250cm9sbGVyR3Rr
LmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9ndGsvTGF5b3V0VGVzdENvbnRyb2xsZXJH
dGsuY3BwCkBAIC05ODIsMTAgKzk4Miw2IEBAIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNl
dFRleHREaXJlY3Rpb24oSlNTdHJpbmdSZWYgZGlyZWN0aW9uKQogICAgIC8vIEZJWE1FOiBJbXBs
ZW1lbnQuCiB9CiAKLXZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmFsbG93Um91bmRpbmdIYWNr
cygpCi17Ci19Ci0KIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmFkZENocm9tZUlucHV0Rmll
bGQoKQogewogfQpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0xheW91dFRl
c3RDb250cm9sbGVyTWFjLm1tIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0xheW91dFRlc3RD
b250cm9sbGVyTWFjLm1tCmluZGV4IDY3NzM4MjUzNzc5ZGI4YTE0N2IyYWQyYWY2ZjQ2NTQ2MDg0
NzdhNDEuLmIxNGNjYTcxZWYyNzNjYTgzNTEyYTdlOTRjM2RiZjRmZDU1ZDdhNmYgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9MYXlvdXRUZXN0Q29udHJvbGxlck1hYy5tbQor
KysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvTGF5b3V0VGVzdENvbnRyb2xsZXJNYWMubW0K
QEAgLTk2NywxMSArOTY3LDYgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6ZXZhbHVhdGVT
Y3JpcHRJbklzb2xhdGVkV29ybGQodW5zaWduZWQgd29ybGRJRCwgSlNPYmoKICAgICBbbWFpbkZy
YW1lIF9zdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0RnJvbVN0cmluZzpzY3JpcHROUyB3aXRo
R2xvYmFsT2JqZWN0Omdsb2JhbE9iamVjdCBpblNjcmlwdFdvcmxkOndvcmxkXTsKIH0KIAotdm9p
ZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6YWxsb3dSb3VuZGluZ0hhY2tzKCkKLXsKLSAgICBbV2Vi
VmlldyBfc2V0QWxsb3dzUm91bmRpbmdIYWNrczpZRVNdOwotfQotCiBAaW50ZXJmYWNlIEFQSVRl
c3REZWxlZ2F0ZSA6IE5TT2JqZWN0CiB7CiAgICAgYm9vbCogbV9jb25kaXRpb247CmRpZmYgLS1n
aXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vTGF5b3V0VGVzdENvbnRyb2xsZXJXaW4uY3Bw
IGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0xheW91dFRlc3RDb250cm9sbGVyV2luLmNwcApp
bmRleCA3ZTVlZTczMjJkYWVlNjM4Y2I5YTQwOWI4YmRhYmNkZWU2MTFmYTQ5Li4zMTIyYTQ4NTk5
M2Y4ZmJjNTQ0MTVhZjZkZjU1NDQ4ZDE4NWUxMzBhIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVu
ZGVyVHJlZS93aW4vTGF5b3V0VGVzdENvbnRyb2xsZXJXaW4uY3BwCisrKyBiL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL3dpbi9MYXlvdXRUZXN0Q29udHJvbGxlcldpbi5jcHAKQEAgLTE0NzUsMTAgKzE0
NzUsNiBAQCB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRUZXh0RGlyZWN0aW9uKEpTU3Ry
aW5nUmVmIGRpcmVjdGlvbikKICAgICBmcmFtZVByaXZhdGUtPnNldFRleHREaXJlY3Rpb24oYnN0
clQoZGlyZWN0aW9uKS5HZXRCU1RSKCkpOwogfQogCi12b2lkIExheW91dFRlc3RDb250cm9sbGVy
OjphbGxvd1JvdW5kaW5nSGFja3MoKQotewotfQotCiB2b2lkIExheW91dFRlc3RDb250cm9sbGVy
OjphZGRDaHJvbWVJbnB1dEZpZWxkKCkKIHsKIH0KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL3d4L0xheW91dFRlc3RDb250cm9sbGVyV3guY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvd3gvTGF5b3V0VGVzdENvbnRyb2xsZXJXeC5jcHAKaW5kZXggYjRiMTgwNmNjZGM3N2Y1Yjc5
ZTdhNjRkMzI4NGNhMTc2MTljZDNmMS4uMWJhMTk4MTU0Y2Y2YzM5YmYzMTU3ZGQ3YzY5MDRkNzA4
M2ZkMDAwNyAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvd3gvTGF5b3V0VGVzdENv
bnRyb2xsZXJXeC5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvd3gvTGF5b3V0VGVzdENv
bnRyb2xsZXJXeC5jcHAKQEAgLTYwOCwxMCArNjA4LDYgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJv
bGxlcjo6c2V0VGV4dERpcmVjdGlvbihKU1N0cmluZ1JlZiBkaXJlY3Rpb24pCiAgICAgLy8gRklY
TUU6IEltcGxlbWVudC4KIH0KIAotdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6YWxsb3dSb3Vu
ZGluZ0hhY2tzKCkKLXsKLX0KLQogdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6YWRkQ2hyb21l
SW5wdXRGaWVsZCgpCiB7CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYzYxNjEzZWYzNmMwYmZhN2RlOTdlNGMxYjY1Y2Vh
NzQ1MmQ5NWRiNy4uOWNlZTg5OWY0MDBjYzYxMGRlNGZmMDFlMThiYzk1MGU4ZTczY2VhOCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTA1LTIzICBHeXV5b3VuZyBLaW0gIDxneXV5b3VuZy5r
aW1Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgTW92ZSBhbGxvd1JvdW5kaW5nSGFja3MgdG8gSW50
ZXJuYWxzIGludGVyZmFjZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9ODczMjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBJbnZva2UgYWxsb3dSb3VuZGluZ0hhY2tzIGZ1bmN0aW9uIGZyb20gaW50ZXJuYWxz
LCBiZWNhdXNlIGl0IGlzIGFibGUgdG8gd29yayBpbiB0aGUKKyAgICAgICAgY3Jvc3MtcG9ydCB3
YXkgdmlhIHRoZSBJbnRlcm5hbHMgaW50ZXJmYWNlLgorCisgICAgICAgICogcGxhdGZvcm0vbWFj
L2Zhc3QvdGV4dC9yb3VuZGluZy1oYWNrcy1leHBhbnNpb24uaHRtbDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9tYWMvZmFzdC90ZXh0L3JvdW5kaW5nLWhhY2tzLmh0bWw6CisKIDIwMTItMDUtMjMgIFJh
cGhhZWwgS3VibyBkYSBDb3N0YSAgPHJha3Vjb0B3ZWJraXQub3JnPgogCiAgICAgICAgIFtFRkxd
IEdhcmRlbmluZyBhZnRlciByMTE4MjAzIGFuZCByMTE4MTcxLgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9yb3VuZGluZy1oYWNrcy1leHBhbnNpb24uaHRt
bCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvcm91bmRpbmctaGFja3MtZXhw
YW5zaW9uLmh0bWwKaW5kZXggOGMzYjdmOWFiM2YwNWVmNGU5NWJjZDFkZTMzNGY4YTYwZmQ5YmFk
ZS4uZmQ4MTQ4MjA3OWRhNWE0MjYyY2Q3NmVlZmVhNzMxMmMyZDNmMzc5MSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9yb3VuZGluZy1oYWNrcy1leHBhbnNp
b24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L3JvdW5kaW5n
LWhhY2tzLWV4cGFuc2lvbi5odG1sCkBAIC0xLDYgKzEsNiBAQAogPHNjcmlwdD4KLSAgICBpZiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxl
ci5hbGxvd1JvdW5kaW5nSGFja3MoKTsKKyAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAg
ICAgaW50ZXJuYWxzLmFsbG93Um91bmRpbmdIYWNrcygpOwogPC9zY3JpcHQ+CiA8ZGl2IHN0eWxl
PSJib3JkZXI6IHNvbGlkIGN5YW47IGZvbnQ6IDE2cHggJ2x1Y2lkYSBncmFuZGUnOyB0ZXh0LWFs
aWduOiBqdXN0aWZ5OyB3aWR0aDogMzAwcHg7Ij5HaXZlbiBhbiBvcHBvcnR1bml0eSB0byBtYWtl
IGEgbWlzdGFrZTwvZGl2PgogPGRpdiBzdHlsZT0iYm9yZGVyOiBzb2xpZCBjeWFuOyBmb250OiAx
NnB4ICdsdWNpZGEgZ3JhbmRlJzsgdGV4dC1hbGlnbjoganVzdGlmeTsgd2lkdGg6IDMwMHB4OyI+
R2l2ZW4gYW4gb3Bwb3J0dW5pdHkgdG8gbWFrZSBhIG1pc3Rha2U8L2Rpdj4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvcm91bmRpbmctaGFja3MuaHRtbCBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvcm91bmRpbmctaGFja3MuaHRtbApp
bmRleCAyNTFhYWY4NmZkNTUzNGNlY2Q5Y2I1MTAwMWU3NmVlZjMxY2RmMTg4Li44NzQ3NzA4ZDE5
N2NmNzlmNWE5MWRjYmIzZTY0NzMxY2U0NDZlZjIzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvZmFzdC90ZXh0L3JvdW5kaW5nLWhhY2tzLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9yb3VuZGluZy1oYWNrcy5odG1sCkBAIC0xLDYgKzEs
NiBAQAogPHNjcmlwdD4KLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAg
ICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5hbGxvd1JvdW5kaW5nSGFja3MoKTsKKyAgICBpZiAo
d2luZG93LmludGVybmFscykKKyAgICAgICAgaW50ZXJuYWxzLmFsbG93Um91bmRpbmdIYWNrcygp
OwogPC9zY3JpcHQ+CiA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTogJ2x1Y2lkYSBncmFuZGUnOyBm
b250LXNpemU6IDIycHg7Ij4KICAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgIGNvbnNl
Y3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gUHJhZXNlbnQKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBi
L0NoYW5nZUxvZwppbmRleCAyZTBlZDU3OTAwZjEzOWM5YWU1YzM5NmQ0MTE5MjlkYTYwMWY0MmFm
Li4xMGM3MTJiN2JhMDUzNjA5OTcwYjc2ZmU2OTI1NjYyNTAyZjQwZDZmIDEwMDY0NAotLS0gYS9D
aGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTItMDUtMjMgIEd5
dXlvdW5nIEtpbSAgPGd5dXlvdW5nLmtpbUBzYW1zdW5nLmNvbT4KKworICAgICAgICBNb3ZlIGFs
bG93Um91bmRpbmdIYWNrcyB0byBJbnRlcm5hbHMgaW50ZXJmYWNlCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NzMyOAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU291cmNlL2F1dG90b29scy9zeW1ib2xz
LmZpbHRlcjogQWRkIGFsbG93Um91bmRpbmdIYWNrcyBzeW1ib2wgZmlsdGVyLgorCiAyMDEyLTA1
LTIzICBSYXBoYWVsIEt1Ym8gZGEgQ29zdGEgIDxyYWt1Y29Ad2Via2l0Lm9yZz4KIAogICAgICAg
ICBbQ01ha2VdIFVucmV2aWV3ZWQsIGFkZCBFTkFCTEVfQ1NTM19GTEVYQk9YIGFmdGVyIHIxMTgz
MDQuCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>143723</attachid>
            <date>2012-05-23 21:15:42 -0700</date>
            <delta_ts>2012-05-27 22:14:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87328-20120524131541.patch</filename>
            <type>text/plain</type>
            <size>15993</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE4MzE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDI5NmViYmQ1YzE5ZDhh
NGQ2ODJlNjRlMmQ5ZjBiNzY4ODY0NjQxOC4uNDMyMmY4YjU5MmVjNTk0M2FlMjJlNDdjZjBlN2E5
MjNhODg5MGEwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTA1LTIzICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgTW92ZSBhbGxv
d1JvdW5kaW5nSGFja3MgdG8gSW50ZXJuYWxzIGludGVyZmFjZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODczMjgKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYWxsb3dSb3VuZGluZ0hhY2tzIGZ1bmN0
aW9uLCBiZWNhdXNlIGl0IGlzIGFibGUgdG8gd29yayBpbiB0aGUKKyAgICAgICAgY3Jvc3MtcG9y
dCB3YXkgYnkgbWVhbnMgb2YgdGhlIEludGVybmFscyBpbnRlcmZhY2UuCisKKyAgICAgICAgTm8g
bmV3IHRlc3RzLCBzaW5jZSB3ZSBhcmUgaW1wcm92aW5nIGhlcmUgdGhlIGluZnJhLXN0cnVjdHVy
ZSBmb3IgdGVzdGluZworICAgICAgICBhIHNwZWNpZmljIG1ldGhvZC4KKworICAgICAgICAqIHRl
c3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6YWxsb3dS
b3VuZGluZ0hhY2tzKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5oOgorICAgICAgICAo
SW50ZXJuYWxzKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6CisKIDIwMTItMDUt
MjMgIFNoaW55YSBLYXdhbmFrYSAgPHNoaW55YWtAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIERv
Y3VtZW50LmVsZW1lbnRGcm9tUG9pbnQgZXhwb3NlcyBpbm5lciBlbGVtZW50IG9mIFNoYWRvdyBE
T00uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKaW5kZXggNWVlZTNlOGNhMTUzYTQ5YjM2ZmU0MGIwMDJmM2MxZGNjZWQ4ZTc4
NC4uNjFkMzU0ZmFlYmY0ODRlZWM1NTEzNTM2MjBjMTY1MGQ4MzllZmJiNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDEyIEBACisyMDEyLTA1LTIzICBHeXV5b3VuZyBLaW0gIDxneXV5b3VuZy5raW1A
c2Ftc3VuZy5jb20+CisKKyAgICAgICAgTW92ZSBhbGxvd1JvdW5kaW5nSGFja3MgdG8gSW50ZXJu
YWxzIGludGVyZmFjZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9ODczMjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIHdpbi9XZWJLaXQyLmRlZjogQWRkIHNldEFsbG93c1JvdW5kaW5nSGFja3MoKSB0byBz
eW1ib2wgZmlsdGVyLgorCiAyMDEyLTA1LTIzICBPamFuIFZhZmFpICA8b2phbkBjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgYWRkIGJhY2sgdGhlIGFiaWxpdHkgdG8gZGlzYWJsZSBmbGV4Ym94CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXggODQyZThlMTQ0OTMyM2JiZDJhMDNi
YmU3ZmE1OTllZGY0YTZlYWQ0Mi4uNzY1NGVkZGIxNzhlOWZlM2I2NTA1NjMzNjMwNDMyNTZiZjkx
MzNiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtNjAsNiArNjAsNyBA
QAogI2luY2x1ZGUgIlNoYWRvd1Jvb3QuaCIKICNpbmNsdWRlICJTcGVsbENoZWNrZXIuaCIKICNp
bmNsdWRlICJUZXh0SXRlcmF0b3IuaCIKKyNpbmNsdWRlICJUZXh0UnVuLmgiCiAjaW5jbHVkZSAi
VHJlZVNjb3BlLmgiCiAKICNpZiBFTkFCTEUoSU5QVVRfVFlQRV9DT0xPUikKQEAgLTEwNTAsNiAr
MTA1MSwxMCBAQCB2b2lkIEludGVybmFsczo6cmVzdW1lQW5pbWF0aW9ucyhEb2N1bWVudCogZG9j
dW1lbnQsIEV4Y2VwdGlvbkNvZGUmIGVjKSBjb25zdAogICAgIGNvbnRyb2xsZXItPnJlc3VtZUFu
aW1hdGlvbnMoKTsKIH0KIAordm9pZCBJbnRlcm5hbHM6OmFsbG93Um91bmRpbmdIYWNrcygpIGNv
bnN0Cit7CisgICAgVGV4dFJ1bjo6c2V0QWxsb3dzUm91bmRpbmdIYWNrcyh0cnVlKTsKK30KIAog
I2lmIEVOQUJMRShGVUxMU0NSRUVOX0FQSSkKIHZvaWQgSW50ZXJuYWxzOjp3ZWJraXRXaWxsRW50
ZXJGdWxsU2NyZWVuRm9yRWxlbWVudChEb2N1bWVudCogZG9jdW1lbnQsIEVsZW1lbnQqIGVsZW1l
bnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oIGIvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAppbmRleCA4ZTAxMGU5ODY0MGQ0ZTBmOTlh
ODI1NjQ2MTgwNzkwNGIwOGRmYjBiLi43ZGU3NGEzOTFiODc2ZGVjNDI4NDYyOTA5Zjg5YzI3YWQ4
MmIzNzNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAgLTE2OCw2ICsxNjgsOCBA
QCBwdWJsaWM6CiAgICAgdm9pZCBzdXNwZW5kQW5pbWF0aW9ucyhEb2N1bWVudCosIEV4Y2VwdGlv
bkNvZGUmKSBjb25zdDsKICAgICB2b2lkIHJlc3VtZUFuaW1hdGlvbnMoRG9jdW1lbnQqLCBFeGNl
cHRpb25Db2RlJikgY29uc3Q7CiAKKyAgICB2b2lkIGFsbG93Um91bmRpbmdIYWNrcygpIGNvbnN0
OworCiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICB1bnNpZ25lZCBudW1iZXJPZkxpdmVOb2Rl
cygpIGNvbnN0OwogICAgIHVuc2lnbmVkIG51bWJlck9mTGl2ZURvY3VtZW50cygpIGNvbnN0Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsIGIvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCmluZGV4IGVmOWVkNzUzZGZhZWFiMjYxZTky
MDAwMzE2YWNlMzMyN2FiMjAxMTIuLmFhMTA4NThiYjNkNjY2YWY0ZmMwNWRiZWU4YTQ0MDc2YWRm
ODYwNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKQEAgLTEzNyw2ICsxMzcs
OCBAQCBtb2R1bGUgd2luZG93IHsKICAgICAgICAgdm9pZCBzdXNwZW5kQW5pbWF0aW9ucyhpbiBE
b2N1bWVudCBkb2N1bWVudCkgcmFpc2VzIChET01FeGNlcHRpb24pOwogICAgICAgICB2b2lkIHJl
c3VtZUFuaW1hdGlvbnMoaW4gRG9jdW1lbnQgZG9jdW1lbnQpIHJhaXNlcyAoRE9NRXhjZXB0aW9u
KTsKIAorICAgICAgICB2b2lkIGFsbG93Um91bmRpbmdIYWNrcygpOworCiAjaWYgZGVmaW5lZChF
TkFCTEVfQkFUVEVSWV9TVEFUVVMpICYmIEVOQUJMRV9CQVRURVJZX1NUQVRVUwogICAgICAgICB2
b2lkIHNldEJhdHRlcnlTdGF0dXMoaW4gRG9jdW1lbnQgZG9jdW1lbnQsIGluIERPTVN0cmluZyBl
dmVudFR5cGUsIGluIGJvb2xlYW4gY2hhcmdpbmcsIGluIGRvdWJsZSBjaGFyZ2luZ1RpbWUsIGlu
IGRvdWJsZSBkaXNjaGFyZ2luZ1RpbWUsIGluIGRvdWJsZSBsZXZlbCkgcmFpc2VzIChET01FeGNl
cHRpb24pOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5k
ZWYgYi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWYKaW5kZXggZGM3YjRjYjZkODMzNWE5
MmQ0ZDNjZTYyNjliZWM0MGMxMzI1YjRhYy4uMjgyYTZmYmE1NTgwMWU5ODI5Njg3MDBkMDM2NGU5
NmRhNDk4MDk4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIuZGVmCisr
KyBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLmRlZgpAQCAtMjU1LDMgKzI1NSw0IEBAIEVY
UE9SVFMKICAgICAgICAgP2lzUGFnZUJveFZpc2libGVARG9jdW1lbnRAV2ViQ29yZUBAUUFFX05I
QFoKICAgICAgICAgP3N1c3BlbmRBbmltYXRpb25zQEFuaW1hdGlvbkNvbnRyb2xsZXJAV2ViQ29y
ZUBAUUFFWFhaCiAgICAgICAgID9yZXN1bWVBbmltYXRpb25zQEFuaW1hdGlvbkNvbnRyb2xsZXJA
V2ViQ29yZUBAUUFFWFhaCisgICAgICAgID9zZXRBbGxvd3NSb3VuZGluZ0hhY2tzQFRleHRSdW5A
V2ViQ29yZUBAU0FYX05AWgpkaWZmIC0tZ2l0IGEvU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZp
bHRlciBiL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIKaW5kZXggOTZjMGY3ZjQxOTMz
ZDk0NzZhMWM4OTk3YTFjMWViODQ0NTk5NGUyOC4uOTBkNDg4YWY0YjYyOTA3NTNjNjkzNjQ1MzFk
ZThiOWRhMTIyOGIwMSAxMDA2NDQKLS0tIGEvU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRl
cgorKysgYi9Tb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyCkBAIC0xNDUsNiArMTQ1LDcg
QEAgX1pON1dlYkNvcmU4RG9jdW1lbnQzNHdlYmtpdERpZEVudGVyRnVsbFNjcmVlbkZvckVsZW1l
bnRFUE5TXzdFbGVtZW50RTsKIF9aTjdXZWJDb3JlOERvY3VtZW50MzR3ZWJraXRXaWxsRXhpdEZ1
bGxTY3JlZW5Gb3JFbGVtZW50RVBOU183RWxlbWVudEU7CiBfWk43V2ViQ29yZThEb2N1bWVudDM1
d2Via2l0V2lsbEVudGVyRnVsbFNjcmVlbkZvckVsZW1lbnRFUE5TXzdFbGVtZW50RTsKIF9aTjdX
ZWJDb3JlMTdKU0RPTUdsb2JhbE9iamVjdDZzX2luZm9FOworX1pON1dlYkNvcmU3VGV4dFJ1bjIy
c2V0QWxsb3dzUm91bmRpbmdIYWNrc0ViOwogbG9jYWw6CiBfWio7CiBjdGkqOwpkaWZmIC0tZ2l0
IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGMxNDhjZTBlYjExYzcz
Y2I2ZGJlMTBlZGE2NTgyNDc0OGM0MTQ2MDUuLjM3MmE4MDYxMDIxODUyM2MyMGQwYWViZTc4N2Vl
OGQwOTg0MmM5OWUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAxMi0wNS0yMyAgR3l1eW91bmcgS2ltICA8Z3l1eW91
bmcua2ltQHNhbXN1bmcuY29tPgorCisgICAgICAgIE1vdmUgYWxsb3dSb3VuZGluZ0hhY2tzIHRv
IEludGVybmFscyBpbnRlcmZhY2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTg3MzI4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgUmVtb3ZlIGFsbG93Um91bmRpbmdIYWNrcyBmdW5jdGlvbnMsIGJlY2F1c2Ug
aXQgaXMgYWJsZSB0byB3b3JrIGluIHRoZQorICAgICAgICBjcm9zcy1wb3J0IHdheSB0aHJvdWdo
IHRoZSBJbnRlcmFscyBpbnRlcmZhY2UuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9MYXlv
dXRUZXN0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6c3Rh
dGljRnVuY3Rpb25zKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJv
bGxlci5oOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXIpOgorICAgICAgICAqIER1bXBS
ZW5kZXJUcmVlL2JsYWNrYmVycnkvTGF5b3V0VGVzdENvbnRyb2xsZXJCbGFja0JlcnJ5LmNwcDoK
KyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9lZmwvTGF5b3V0VGVzdENvbnRyb2xsZXJFZmwuY3Bw
OgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2d0ay9MYXlvdXRUZXN0Q29udHJvbGxlckd0ay5j
cHA6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFjL0xheW91dFRlc3RDb250cm9sbGVyTWFj
Lm1tOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3dpbi9MYXlvdXRUZXN0Q29udHJvbGxlcldp
bi5jcHA6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvd3gvTGF5b3V0VGVzdENvbnRyb2xsZXJX
eC5jcHA6CisKIDIwMTItMDUtMjMgIEthbmdpbCBIYW4gIDxrYW5naWwuaGFuQHNhbXN1bmcuY29t
PgogCiAgICAgICAgIFtFRkxdW0RSVF0gRml4IFdlYkNvcmUgbGlicmFyeSBwYXRoIGFuZCByZWJh
c2VsaW5lIHJlc3VsdApkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVz
dENvbnRyb2xsZXIuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xs
ZXIuY3BwCmluZGV4IDZlNGFmMjI1MmU1OTEwOTM4YTUxYTZiNjEzMmMyMjNhZWFiZTBmNzAuLjQz
OTdiNmUxNTgyYzRiYjAzZDc1N2ZlZjM4ZDBkYTYxNjZiYWUwN2EgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmNwcAorKysgYi9Ub29scy9EdW1w
UmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAKQEAgLTIwNDksMTQgKzIwNDksNiBA
QCBzdGF0aWMgSlNWYWx1ZVJlZiBzZXRTZXJpYWxpemVIVFRQTG9hZHNDYWxsYmFjayhKU0NvbnRl
eHRSZWYgY29udGV4dCwgSlNPYmplY3RSZQogICAgIHJldHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5l
ZChjb250ZXh0KTsKIH0KIAotc3RhdGljIEpTVmFsdWVSZWYgYWxsb3dSb3VuZGluZ0hhY2tzQ2Fs
bGJhY2soSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmLCBKU09iamVjdFJlZiB0aGlz
T2JqZWN0LCBzaXplX3QgYXJndW1lbnRDb3VudCwgY29uc3QgSlNWYWx1ZVJlZiBhcmd1bWVudHNb
XSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKQotewotICAgIExheW91dFRlc3RDb250cm9sbGVyKiBj
b250cm9sbGVyID0gc3RhdGljX2Nhc3Q8TGF5b3V0VGVzdENvbnRyb2xsZXIqPihKU09iamVjdEdl
dFByaXZhdGUodGhpc09iamVjdCkpOwotCi0gICAgY29udHJvbGxlci0+YWxsb3dSb3VuZGluZ0hh
Y2tzKCk7Ci0gICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRleHQpOwotfQotCiBz
dGF0aWMgSlNWYWx1ZVJlZiBzZXRTaG91bGRTdGF5T25QYWdlQWZ0ZXJIYW5kbGluZ0JlZm9yZVVu
bG9hZENhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiwgSlNPYmplY3RS
ZWYgdGhpc09iamVjdCwgc2l6ZV90IGFyZ3VtZW50Q291bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJn
dW1lbnRzW10sIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikKIHsKICAgICBMYXlvdXRUZXN0Q29udHJv
bGxlciogY29udHJvbGxlciA9IHN0YXRpY19jYXN0PExheW91dFRlc3RDb250cm9sbGVyKj4oSlNP
YmplY3RHZXRQcml2YXRlKHRoaXNPYmplY3QpKTsKQEAgLTI0MTYsNyArMjQwOCw2IEBAIEpTU3Rh
dGljRnVuY3Rpb24qIExheW91dFRlc3RDb250cm9sbGVyOjpzdGF0aWNGdW5jdGlvbnMoKQogICAg
ICAgICB7ICJvcmlnaW5zV2l0aExvY2FsU3RvcmFnZSIsIG9yaWdpbnNXaXRoTG9jYWxTdG9yYWdl
Q2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJp
YnV0ZURvbnREZWxldGUgfSwKICAgICAgICAgeyAic2V0U2hvdWxkUGFpbnRCcm9rZW5JbWFnZSIs
IHNldFNob3VsZFBhaW50QnJva2VuSW1hZ2VDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVS
ZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAgICAgICB7ICJz
ZXRUZXh0RGlyZWN0aW9uIiwgc2V0VGV4dERpcmVjdGlvbkNhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0
dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCi0gICAg
ICAgIHsgImFsbG93Um91bmRpbmdIYWNrcyIsIGFsbG93Um91bmRpbmdIYWNrc0NhbGxiYWNrLCBr
SlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVs
ZXRlIH0sCiAgICAgICAgIHsgInNldFNob3VsZFN0YXlPblBhZ2VBZnRlckhhbmRsaW5nQmVmb3Jl
VW5sb2FkIiwgc2V0U2hvdWxkU3RheU9uUGFnZUFmdGVySGFuZGxpbmdCZWZvcmVVbmxvYWRDYWxs
YmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRl
RG9udERlbGV0ZSB9LAogICAgICAgICB7ICJhZGRDaHJvbWVJbnB1dEZpZWxkIiwgYWRkQ2hyb21l
SW5wdXRGaWVsZENhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJv
cGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsgInJlbW92ZUNocm9tZUlucHV0
RmllbGQiLCByZW1vdmVDaHJvbWVJbnB1dEZpZWxkQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmli
dXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKZGlmZiAtLWdp
dCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmggYi9Ub29scy9E
dW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5oCmluZGV4IGMwNzYwNjcyMzg2Mzgy
NTc1OTRhZTAxODEyNzkwMTVmMTc2MjBhNzEuLmZmMjZkZTY3ODVjMmYwNzY0MTVjZTU0ZGIxNDRi
ZWFlYmM5NDhiYTYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RD
b250cm9sbGVyLmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xs
ZXIuaApAQCAtMzA4LDcgKzMwOCw2IEBAIHB1YmxpYzoKICAgICB2b2lkIGV2YWx1YXRlSW5XZWJJ
bnNwZWN0b3IobG9uZyBjYWxsSWQsIEpTU3RyaW5nUmVmIHNjcmlwdCk7CiAgICAgdm9pZCBldmFs
dWF0ZVNjcmlwdEluSXNvbGF0ZWRXb3JsZCh1bnNpZ25lZCB3b3JsZElELCBKU09iamVjdFJlZiBn
bG9iYWxPYmplY3QsIEpTU3RyaW5nUmVmIHNjcmlwdCk7CiAgICAgdm9pZCBldmFsdWF0ZVNjcmlw
dEluSXNvbGF0ZWRXb3JsZEFuZFJldHVyblZhbHVlKHVuc2lnbmVkIHdvcmxkSUQsIEpTT2JqZWN0
UmVmIGdsb2JhbE9iamVjdCwgSlNTdHJpbmdSZWYgc2NyaXB0KTsKLSAgICB2b2lkIGFsbG93Um91
bmRpbmdIYWNrcygpOwogCiAgICAgYm9vbCBzaG91bGRTdGF5T25QYWdlQWZ0ZXJIYW5kbGluZ0Jl
Zm9yZVVubG9hZCgpIGNvbnN0IHsgcmV0dXJuIG1fc2hvdWxkU3RheU9uUGFnZUFmdGVySGFuZGxp
bmdCZWZvcmVVbmxvYWQ7IH0KICAgICB2b2lkIHNldFNob3VsZFN0YXlPblBhZ2VBZnRlckhhbmRs
aW5nQmVmb3JlVW5sb2FkKGJvb2wgc2hvdWxkU3RheU9uUGFnZUFmdGVySGFuZGxpbmdCZWZvcmVV
bmxvYWQpIHsgbV9zaG91bGRTdGF5T25QYWdlQWZ0ZXJIYW5kbGluZ0JlZm9yZVVubG9hZCA9IHNo
b3VsZFN0YXlPblBhZ2VBZnRlckhhbmRsaW5nQmVmb3JlVW5sb2FkOyB9CmRpZmYgLS1naXQgYS9U
b29scy9EdW1wUmVuZGVyVHJlZS9ibGFja2JlcnJ5L0xheW91dFRlc3RDb250cm9sbGVyQmxhY2tC
ZXJyeS5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9ibGFja2JlcnJ5L0xheW91dFRlc3RDb250
cm9sbGVyQmxhY2tCZXJyeS5jcHAKaW5kZXggODRiNTEwZGUyOTZlZTczMTIwM2M5YzkwZjkyYTJh
ZWI0Yjk5NjU1My4uYTNiNzc1NTQyMWFlODk5YTliYzA5ZTQxZDI1ODU2MDVkZjA3NzdlMiAxMDA2
NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvYmxhY2tiZXJyeS9MYXlvdXRUZXN0Q29udHJv
bGxlckJsYWNrQmVycnkuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2JsYWNrYmVycnkv
TGF5b3V0VGVzdENvbnRyb2xsZXJCbGFja0JlcnJ5LmNwcApAQCAtNzA1LDExICs3MDUsNiBAQCB2
b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRUZXh0RGlyZWN0aW9uKEpTU3RyaW5nUmVmKQog
ICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAKLXZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmFs
bG93Um91bmRpbmdIYWNrcygpCi17Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLX0KLQogdm9pZCBM
YXlvdXRUZXN0Q29udHJvbGxlcjo6Z29CYWNrKCkKIHsKICAgICAvLyBGSVhNRTogaW1wbGVtZW50
IHRvIGVuYWJsZSBsb2FkZXIvbmF2aWdhdGlvbi13aGlsZS1kZWZlcnJpbmctbG9hZHMuaHRtbApk
aWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0xheW91dFRlc3RDb250cm9sbGVy
RWZsLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9MYXlvdXRUZXN0Q29udHJvbGxlckVm
bC5jcHAKaW5kZXggMmYxMTFlZDM5MmUzNGU4NDBiODRmNGM0OWVjM2Q2ZWZkNDk2OThmNC4uNWQz
Yjk5ZGY5N2U1N2RiNjVkNjBmOWEzMjFlNjE4NDFjZDMwOTk5NSAxMDA2NDQKLS0tIGEvVG9vbHMv
RHVtcFJlbmRlclRyZWUvZWZsL0xheW91dFRlc3RDb250cm9sbGVyRWZsLmNwcAorKysgYi9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9lZmwvTGF5b3V0VGVzdENvbnRyb2xsZXJFZmwuY3BwCkBAIC04MDAs
MTEgKzgwMCw2IEBAIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldFRleHREaXJlY3Rpb24o
SlNTdHJpbmdSZWYpCiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAotdm9pZCBMYXlvdXRUZXN0
Q29udHJvbGxlcjo6YWxsb3dSb3VuZGluZ0hhY2tzKCkKLXsKLSAgICBub3RJbXBsZW1lbnRlZCgp
OwotfQotCiB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjphZGRDaHJvbWVJbnB1dEZpZWxkKCkK
IHsKICAgICBub3RJbXBsZW1lbnRlZCgpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvZ3RrL0xheW91dFRlc3RDb250cm9sbGVyR3RrLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L2d0ay9MYXlvdXRUZXN0Q29udHJvbGxlckd0ay5jcHAKaW5kZXggOTUxZDJiZWY3ZWQ5OGY3MGVk
OTkwNzM3ZTgxMjgzOWMzMTdkNjJhZS4uYmMyNGEzMGVkNzgwNmQ5MjdlOWMwZjgyZjFiY2I5OGU2
ZDY2NzZhNyAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0xheW91dFRlc3RD
b250cm9sbGVyR3RrLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9ndGsvTGF5b3V0VGVz
dENvbnRyb2xsZXJHdGsuY3BwCkBAIC05ODIsMTAgKzk4Miw2IEBAIHZvaWQgTGF5b3V0VGVzdENv
bnRyb2xsZXI6OnNldFRleHREaXJlY3Rpb24oSlNTdHJpbmdSZWYgZGlyZWN0aW9uKQogICAgIC8v
IEZJWE1FOiBJbXBsZW1lbnQuCiB9CiAKLXZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmFsbG93
Um91bmRpbmdIYWNrcygpCi17Ci19Ci0KIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmFkZENo
cm9tZUlucHV0RmllbGQoKQogewogfQpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUv
bWFjL0xheW91dFRlc3RDb250cm9sbGVyTWFjLm1tIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFj
L0xheW91dFRlc3RDb250cm9sbGVyTWFjLm1tCmluZGV4IDY3NzM4MjUzNzc5ZGI4YTE0N2IyYWQy
YWY2ZjQ2NTQ2MDg0NzdhNDEuLmIxNGNjYTcxZWYyNzNjYTgzNTEyYTdlOTRjM2RiZjRmZDU1ZDdh
NmYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9MYXlvdXRUZXN0Q29udHJv
bGxlck1hYy5tbQorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvTGF5b3V0VGVzdENvbnRy
b2xsZXJNYWMubW0KQEAgLTk2NywxMSArOTY3LDYgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxl
cjo6ZXZhbHVhdGVTY3JpcHRJbklzb2xhdGVkV29ybGQodW5zaWduZWQgd29ybGRJRCwgSlNPYmoK
ICAgICBbbWFpbkZyYW1lIF9zdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0RnJvbVN0cmluZzpz
Y3JpcHROUyB3aXRoR2xvYmFsT2JqZWN0Omdsb2JhbE9iamVjdCBpblNjcmlwdFdvcmxkOndvcmxk
XTsKIH0KIAotdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6YWxsb3dSb3VuZGluZ0hhY2tzKCkK
LXsKLSAgICBbV2ViVmlldyBfc2V0QWxsb3dzUm91bmRpbmdIYWNrczpZRVNdOwotfQotCiBAaW50
ZXJmYWNlIEFQSVRlc3REZWxlZ2F0ZSA6IE5TT2JqZWN0CiB7CiAgICAgYm9vbCogbV9jb25kaXRp
b247CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vTGF5b3V0VGVzdENvbnRy
b2xsZXJXaW4uY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0xheW91dFRlc3RDb250cm9s
bGVyV2luLmNwcAppbmRleCA3ZTVlZTczMjJkYWVlNjM4Y2I5YTQwOWI4YmRhYmNkZWU2MTFmYTQ5
Li4zMTIyYTQ4NTk5M2Y4ZmJjNTQ0MTVhZjZkZjU1NDQ4ZDE4NWUxMzBhIDEwMDY0NAotLS0gYS9U
b29scy9EdW1wUmVuZGVyVHJlZS93aW4vTGF5b3V0VGVzdENvbnRyb2xsZXJXaW4uY3BwCisrKyBi
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9MYXlvdXRUZXN0Q29udHJvbGxlcldpbi5jcHAKQEAg
LTE0NzUsMTAgKzE0NzUsNiBAQCB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRUZXh0RGly
ZWN0aW9uKEpTU3RyaW5nUmVmIGRpcmVjdGlvbikKICAgICBmcmFtZVByaXZhdGUtPnNldFRleHRE
aXJlY3Rpb24oYnN0clQoZGlyZWN0aW9uKS5HZXRCU1RSKCkpOwogfQogCi12b2lkIExheW91dFRl
c3RDb250cm9sbGVyOjphbGxvd1JvdW5kaW5nSGFja3MoKQotewotfQotCiB2b2lkIExheW91dFRl
c3RDb250cm9sbGVyOjphZGRDaHJvbWVJbnB1dEZpZWxkKCkKIHsKIH0KZGlmZiAtLWdpdCBhL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL3d4L0xheW91dFRlc3RDb250cm9sbGVyV3guY3BwIGIvVG9vbHMv
RHVtcFJlbmRlclRyZWUvd3gvTGF5b3V0VGVzdENvbnRyb2xsZXJXeC5jcHAKaW5kZXggYjRiMTgw
NmNjZGM3N2Y1Yjc5ZTdhNjRkMzI4NGNhMTc2MTljZDNmMS4uMWJhMTk4MTU0Y2Y2YzM5YmYzMTU3
ZGQ3YzY5MDRkNzA4M2ZkMDAwNyAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvd3gv
TGF5b3V0VGVzdENvbnRyb2xsZXJXeC5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvd3gv
TGF5b3V0VGVzdENvbnRyb2xsZXJXeC5jcHAKQEAgLTYwOCwxMCArNjA4LDYgQEAgdm9pZCBMYXlv
dXRUZXN0Q29udHJvbGxlcjo6c2V0VGV4dERpcmVjdGlvbihKU1N0cmluZ1JlZiBkaXJlY3Rpb24p
CiAgICAgLy8gRklYTUU6IEltcGxlbWVudC4KIH0KIAotdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxl
cjo6YWxsb3dSb3VuZGluZ0hhY2tzKCkKLXsKLX0KLQogdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxl
cjo6YWRkQ2hyb21lSW5wdXRGaWVsZCgpCiB7CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMTRiM2NiN2IwOWU5YjdmMDMw
MWZhNDI4NWU0ZDFmNzY3YWFhZDExMS4uMjBlM2FlZjMzYWZiZjA5ZWY0ODc1ZWI3MmY3NWNmMTBl
YTRlZWViMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTA1LTIzICBHeXV5b3VuZyBLaW0g
IDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgTW92ZSBhbGxvd1JvdW5kaW5n
SGFja3MgdG8gSW50ZXJuYWxzIGludGVyZmFjZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODczMjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBJbnZva2UgYWxsb3dSb3VuZGluZ0hhY2tzIGZ1bmN0aW9uIGZy
b20gaW50ZXJuYWxzLCBiZWNhdXNlIGl0IGlzIGFibGUgdG8gd29yayBpbiB0aGUKKyAgICAgICAg
Y3Jvc3MtcG9ydCB3YXkgdmlhIHRoZSBJbnRlcm5hbHMgaW50ZXJmYWNlLgorCisgICAgICAgICog
cGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9yb3VuZGluZy1oYWNrcy1leHBhbnNpb24uaHRtbDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L3JvdW5kaW5nLWhhY2tzLmh0bWw6CisKIDIw
MTItMDUtMjMgIFNoaW55YSBLYXdhbmFrYSAgPHNoaW55YWtAY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIERvY3VtZW50LmVsZW1lbnRGcm9tUG9pbnQgZXhwb3NlcyBpbm5lciBlbGVtZW50IG9mIFNo
YWRvdyBET00uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0
L3JvdW5kaW5nLWhhY2tzLWV4cGFuc2lvbi5odG1sIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L2Zhc3QvdGV4dC9yb3VuZGluZy1oYWNrcy1leHBhbnNpb24uaHRtbAppbmRleCA4YzNiN2Y5YWIz
ZjA1ZWY0ZTk1YmNkMWRlMzM0ZjhhNjBmZDliYWRlLi5mZDgxNDgyMDc5ZGE1YTQyNjJjZDc2ZWVm
ZWE3MzEyYzJkM2YzNzkxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFz
dC90ZXh0L3JvdW5kaW5nLWhhY2tzLWV4cGFuc2lvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9mYXN0L3RleHQvcm91bmRpbmctaGFja3MtZXhwYW5zaW9uLmh0bWwKQEAgLTEs
NiArMSw2IEBACiA8c2NyaXB0PgotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIp
Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmFsbG93Um91bmRpbmdIYWNrcygpOworICAg
IGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICBpbnRlcm5hbHMuYWxsb3dSb3VuZGluZ0hh
Y2tzKCk7CiA8L3NjcmlwdD4KIDxkaXYgc3R5bGU9ImJvcmRlcjogc29saWQgY3lhbjsgZm9udDog
MTZweCAnbHVjaWRhIGdyYW5kZSc7IHRleHQtYWxpZ246IGp1c3RpZnk7IHdpZHRoOiAzMDBweDsi
PkdpdmVuIGFuIG9wcG9ydHVuaXR5IHRvIG1ha2UgYSBtaXN0YWtlPC9kaXY+CiA8ZGl2IHN0eWxl
PSJib3JkZXI6IHNvbGlkIGN5YW47IGZvbnQ6IDE2cHggJ2x1Y2lkYSBncmFuZGUnOyB0ZXh0LWFs
aWduOiBqdXN0aWZ5OyB3aWR0aDogMzAwcHg7Ij5HaXZlbiBhbiBvcHBvcnR1bml0eSB0byBtYWtl
IGEgbWlzdGFrZTwvZGl2PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zh
c3QvdGV4dC9yb3VuZGluZy1oYWNrcy5odG1sIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zh
c3QvdGV4dC9yb3VuZGluZy1oYWNrcy5odG1sCmluZGV4IDI1MWFhZjg2ZmQ1NTM0Y2VjZDljYjUx
MDAxZTc2ZWVmMzFjZGYxODguLjg3NDc3MDhkMTk3Y2Y3OWY1YTkxZGNiYjNlNjQ3MzFjZTQ0NmVm
MjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvcm91bmRp
bmctaGFja3MuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L3Jv
dW5kaW5nLWhhY2tzLmh0bWwKQEAgLTEsNiArMSw2IEBACiA8c2NyaXB0PgotICAgIGlmICh3aW5k
b3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmFs
bG93Um91bmRpbmdIYWNrcygpOworICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICBp
bnRlcm5hbHMuYWxsb3dSb3VuZGluZ0hhY2tzKCk7CiA8L3NjcmlwdD4KIDxkaXYgc3R5bGU9ImZv
bnQtZmFtaWx5OiAnbHVjaWRhIGdyYW5kZSc7IGZvbnQtc2l6ZTogMjJweDsiPgogICAgIExvcmVt
IGlwc3VtIGRvbG9yIHNpdCBhbWV0LCAgY29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0LiBQcmFl
c2VudApkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IDJlMGVkNTc5MDBm
MTM5YzlhZTVjMzk2ZDQxMTkyOWRhNjAxZjQyYWYuLjEwYzcxMmI3YmEwNTM2MDk5NzBiNzZmZTY5
MjU2NjI1MDJmNDBkNmYgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxMiBAQAorMjAxMi0wNS0yMyAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHNh
bXN1bmcuY29tPgorCisgICAgICAgIE1vdmUgYWxsb3dSb3VuZGluZ0hhY2tzIHRvIEludGVybmFs
cyBpbnRlcmZhY2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTg3MzI4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBTb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyOiBBZGQgYWxsb3dSb3VuZGluZ0hh
Y2tzIHN5bWJvbCBmaWx0ZXIuCisKIDIwMTItMDUtMjMgIFJhcGhhZWwgS3VibyBkYSBDb3N0YSAg
PHJha3Vjb0B3ZWJraXQub3JnPgogCiAgICAgICAgIFtDTWFrZV0gVW5yZXZpZXdlZCwgYWRkIEVO
QUJMRV9DU1MzX0ZMRVhCT1ggYWZ0ZXIgcjExODMwNC4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>144266</attachid>
            <date>2012-05-27 22:14:43 -0700</date>
            <delta_ts>2012-05-27 22:25:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87328-20120528141441.patch</filename>
            <type>text/plain</type>
            <size>17552</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE4NDgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmI2NjlkZTBlNTM0MTRj
N2VlOWEwODU3YmUzYzliZjA1YTVmNGVkNC4uNTc1YTZiZjQ5ZmMxZDdlZDdhMGY0YzM5NzZiYTBm
MDMxN2JhNDhiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEyLTA1LTI3ICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgTW92ZSBhbGxv
d1JvdW5kaW5nSGFja3MgdG8gSW50ZXJuYWxzIGludGVyZmFjZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODczMjgKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYWxsb3dSb3VuZGluZ0hhY2tzIGZ1bmN0
aW9uLCBiZWNhdXNlIGl0IGlzIGFibGUgdG8gd29yayBpbiB0aGUKKyAgICAgICAgY3Jvc3MtcG9y
dCB3YXkgYnkgbWVhbnMgb2YgdGhlIEludGVybmFscyBpbnRlcmZhY2UuCisKKyAgICAgICAgSW4g
YWRkaXRpb24sIGEgZnVuY3Rpb24gaXMgYWRkZWQgaW4gb3JkZXIgdG8gcmVzdG9yZSBkZWZhdWx0
IHNldHRpbmcgdmFsdWVzLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgc2luY2Ugd2UgYXJlIGlt
cHJvdmluZyBoZXJlIHRoZSBpbmZyYS1zdHJ1Y3R1cmUgZm9yIHRlc3RpbmcKKyAgICAgICAgYSBz
cGVjaWZpYyBtZXRob2QuCisKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OnJlc2V0KToKKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpyZXNldERlZmF1bHRzVG9Db25zaXN0ZW50VmFsdWVz
KToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6YWxsb3dSb3VuZGluZ0hhY2tzKToKKyAg
ICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5oOgorICAgICAgICAoSW50ZXJuYWxzKToKKyAgICAg
ICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6CisKIDIwMTItMDUtMjQgIEdlb2ZmcmV5IEdhcmVu
ICA8Z2dhcmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWJLaXQgc2hvdWxkIGJlIGxhenktZmlu
YWxpemF0aW9uLXNhZmUgKGVzcC4gdGhlIERPTSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAwNjc3MDExZDM3NGI1
NzU1MDViNGI5OGFhMWVmYjdjYzNiZjFiYmJiLi5jMWRhNjM2NWQ0ZGNmNjRhYTQ3ZDYyMjFjMmRm
YzMzMTQyZDljNjRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTItMDUtMjQgIEd5
dXlvdW5nIEtpbSAgPGd5dXlvdW5nLmtpbUBzYW1zdW5nLmNvbT4KKworICAgICAgICBNb3ZlIGFs
bG93Um91bmRpbmdIYWNrcyB0byBJbnRlcm5hbHMgaW50ZXJmYWNlCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NzMyOAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2luL1dlYktpdDIuZGVmOiBBZGQgc2V0
QWxsb3dzUm91bmRpbmdIYWNrcygpIHRvIHN5bWJvbCBmaWx0ZXIuCisKIDIwMTItMDUtMjQgIEdl
b2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWJLaXQgc2hvdWxk
IGJlIGxhenktZmluYWxpemF0aW9uLXNhZmUgKGVzcC4gdGhlIERPTSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmNwcAppbmRleCA4NDJlOGUxNDQ5MzIzYmJkMmEwM2JiZTdmYTU5OWVkZjRh
NmVhZDQyLi5mNGFkM2Y2OGI1N2NjMDkxMDkwYzg0OTAzMzBjNTMyZmI3OGZjMjkwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC02MCw2ICs2MCw3IEBACiAjaW5jbHVkZSAi
U2hhZG93Um9vdC5oIgogI2luY2x1ZGUgIlNwZWxsQ2hlY2tlci5oIgogI2luY2x1ZGUgIlRleHRJ
dGVyYXRvci5oIgorI2luY2x1ZGUgIlRleHRSdW4uaCIKICNpbmNsdWRlICJUcmVlU2NvcGUuaCIK
IAogI2lmIEVOQUJMRShJTlBVVF9UWVBFX0NPTE9SKQpAQCAtNTkyLDYgKzU5MywxMyBAQCB2b2lk
IEludGVybmFsczo6cmVzZXQoRG9jdW1lbnQqIGRvY3VtZW50KQogICAgICAgICBpZiAoZG9jdW1l
bnQtPmZyYW1lKCkgPT0gcGFnZS0+bWFpbkZyYW1lKCkpCiAgICAgICAgICAgICBzZXRVc2VyUHJl
ZmVycmVkTGFuZ3VhZ2VzKFZlY3RvcjxTdHJpbmc+KCkpOwogICAgIH0KKworICAgIHJlc2V0RGVm
YXVsdHNUb0NvbnNpc3RlbnRWYWx1ZXMoKTsKK30KKwordm9pZCBJbnRlcm5hbHM6OnJlc2V0RGVm
YXVsdHNUb0NvbnNpc3RlbnRWYWx1ZXMoKQoreworICAgIFRleHRSdW46OnNldEFsbG93c1JvdW5k
aW5nSGFja3MoZmFsc2UpOwogfQogCiBib29sIEludGVybmFsczo6d2FzTGFzdENoYW5nZVVzZXJF
ZGl0KEVsZW1lbnQqIHRleHRGaWVsZCwgRXhjZXB0aW9uQ29kZSYgZWMpCkBAIC0xMDUwLDYgKzEw
NTgsMTAgQEAgdm9pZCBJbnRlcm5hbHM6OnJlc3VtZUFuaW1hdGlvbnMoRG9jdW1lbnQqIGRvY3Vt
ZW50LCBFeGNlcHRpb25Db2RlJiBlYykgY29uc3QKICAgICBjb250cm9sbGVyLT5yZXN1bWVBbmlt
YXRpb25zKCk7CiB9CiAKK3ZvaWQgSW50ZXJuYWxzOjphbGxvd1JvdW5kaW5nSGFja3MoKSBjb25z
dAoreworICAgIFRleHRSdW46OnNldEFsbG93c1JvdW5kaW5nSGFja3ModHJ1ZSk7Cit9CiAKICNp
ZiBFTkFCTEUoRlVMTFNDUkVFTl9BUEkpCiB2b2lkIEludGVybmFsczo6d2Via2l0V2lsbEVudGVy
RnVsbFNjcmVlbkZvckVsZW1lbnQoRG9jdW1lbnQqIGRvY3VtZW50LCBFbGVtZW50KiBlbGVtZW50
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaCBiL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKaW5kZXggOGUwMTBlOTg2NDBkNGUwZjk5YTgy
NTY0NjE4MDc5MDRiMDhkZmIwYi4uNmZhNGE0NWM2NzI5ZDFjYWI1ZGMwNzRkMTMyOGI1MzEyZjVj
MTRlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCkBAIC0xNjgsNiArMTY4LDggQEAg
cHVibGljOgogICAgIHZvaWQgc3VzcGVuZEFuaW1hdGlvbnMoRG9jdW1lbnQqLCBFeGNlcHRpb25D
b2RlJikgY29uc3Q7CiAgICAgdm9pZCByZXN1bWVBbmltYXRpb25zKERvY3VtZW50KiwgRXhjZXB0
aW9uQ29kZSYpIGNvbnN0OwogCisgICAgdm9pZCBhbGxvd1JvdW5kaW5nSGFja3MoKSBjb25zdDsK
KwogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgdW5zaWduZWQgbnVtYmVyT2ZMaXZlTm9kZXMo
KSBjb25zdDsKICAgICB1bnNpZ25lZCBudW1iZXJPZkxpdmVEb2N1bWVudHMoKSBjb25zdDsKQEAg
LTE4NCw2ICsxODYsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIGV4cGxpY2l0IEludGVybmFs
cyhEb2N1bWVudCopOwogICAgIERvY3VtZW50TWFya2VyKiBtYXJrZXJBdChOb2RlKiwgY29uc3Qg
U3RyaW5nJiBtYXJrZXJUeXBlLCB1bnNpZ25lZCBpbmRleCwgRXhjZXB0aW9uQ29kZSYpOworICAg
IHZvaWQgcmVzZXREZWZhdWx0c1RvQ29uc2lzdGVudFZhbHVlcygpOwogCiAgICAgUmVmUHRyPElu
dGVybmFsU2V0dGluZ3M+IG1fc2V0dGluZ3M7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuaWRsCmluZGV4IGVmOWVkNzUzZGZhZWFiMjYxZTkyMDAwMzE2YWNlMzMyN2FiMjAxMTIuLmFh
MTA4NThiYjNkNjY2YWY0ZmMwNWRiZWU4YTQ0MDc2YWRmODYwNDAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5pZGwKQEAgLTEzNyw2ICsxMzcsOCBAQCBtb2R1bGUgd2luZG93IHsKICAg
ICAgICAgdm9pZCBzdXNwZW5kQW5pbWF0aW9ucyhpbiBEb2N1bWVudCBkb2N1bWVudCkgcmFpc2Vz
IChET01FeGNlcHRpb24pOwogICAgICAgICB2b2lkIHJlc3VtZUFuaW1hdGlvbnMoaW4gRG9jdW1l
bnQgZG9jdW1lbnQpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKIAorICAgICAgICB2b2lkIGFsbG93
Um91bmRpbmdIYWNrcygpOworCiAjaWYgZGVmaW5lZChFTkFCTEVfQkFUVEVSWV9TVEFUVVMpICYm
IEVOQUJMRV9CQVRURVJZX1NUQVRVUwogICAgICAgICB2b2lkIHNldEJhdHRlcnlTdGF0dXMoaW4g
RG9jdW1lbnQgZG9jdW1lbnQsIGluIERPTVN0cmluZyBldmVudFR5cGUsIGluIGJvb2xlYW4gY2hh
cmdpbmcsIGluIGRvdWJsZSBjaGFyZ2luZ1RpbWUsIGluIGRvdWJsZSBkaXNjaGFyZ2luZ1RpbWUs
IGluIGRvdWJsZSBsZXZlbCkgcmFpc2VzIChET01FeGNlcHRpb24pOwogI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWYgYi9Tb3VyY2UvV2ViS2l0Mi93aW4v
V2ViS2l0Mi5kZWYKaW5kZXggZGM3YjRjYjZkODMzNWE5MmQ0ZDNjZTYyNjliZWM0MGMxMzI1YjRh
Yy4uMjgyYTZmYmE1NTgwMWU5ODI5Njg3MDBkMDM2NGU5NmRhNDk4MDk4ZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvd2luL1dlYktpdDIuZGVmCisrKyBiL1NvdXJjZS9XZWJLaXQyL3dpbi9X
ZWJLaXQyLmRlZgpAQCAtMjU1LDMgKzI1NSw0IEBAIEVYUE9SVFMKICAgICAgICAgP2lzUGFnZUJv
eFZpc2libGVARG9jdW1lbnRAV2ViQ29yZUBAUUFFX05IQFoKICAgICAgICAgP3N1c3BlbmRBbmlt
YXRpb25zQEFuaW1hdGlvbkNvbnRyb2xsZXJAV2ViQ29yZUBAUUFFWFhaCiAgICAgICAgID9yZXN1
bWVBbmltYXRpb25zQEFuaW1hdGlvbkNvbnRyb2xsZXJAV2ViQ29yZUBAUUFFWFhaCisgICAgICAg
ID9zZXRBbGxvd3NSb3VuZGluZ0hhY2tzQFRleHRSdW5AV2ViQ29yZUBAU0FYX05AWgpkaWZmIC0t
Z2l0IGEvU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlciBiL1NvdXJjZS9hdXRvdG9vbHMv
c3ltYm9scy5maWx0ZXIKaW5kZXggOTZjMGY3ZjQxOTMzZDk0NzZhMWM4OTk3YTFjMWViODQ0NTk5
NGUyOC4uOTBkNDg4YWY0YjYyOTA3NTNjNjkzNjQ1MzFkZThiOWRhMTIyOGIwMSAxMDA2NDQKLS0t
IGEvU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlcgorKysgYi9Tb3VyY2UvYXV0b3Rvb2xz
L3N5bWJvbHMuZmlsdGVyCkBAIC0xNDUsNiArMTQ1LDcgQEAgX1pON1dlYkNvcmU4RG9jdW1lbnQz
NHdlYmtpdERpZEVudGVyRnVsbFNjcmVlbkZvckVsZW1lbnRFUE5TXzdFbGVtZW50RTsKIF9aTjdX
ZWJDb3JlOERvY3VtZW50MzR3ZWJraXRXaWxsRXhpdEZ1bGxTY3JlZW5Gb3JFbGVtZW50RVBOU183
RWxlbWVudEU7CiBfWk43V2ViQ29yZThEb2N1bWVudDM1d2Via2l0V2lsbEVudGVyRnVsbFNjcmVl
bkZvckVsZW1lbnRFUE5TXzdFbGVtZW50RTsKIF9aTjdXZWJDb3JlMTdKU0RPTUdsb2JhbE9iamVj
dDZzX2luZm9FOworX1pON1dlYkNvcmU3VGV4dFJ1bjIyc2V0QWxsb3dzUm91bmRpbmdIYWNrc0Vi
OwogbG9jYWw6CiBfWio7CiBjdGkqOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9v
bHMvQ2hhbmdlTG9nCmluZGV4IDQ4Mzg0NGQwM2EyNDllYjExNjNiYjQ2YjhlYjQzYmY2ZGYyZmRl
MmEuLmJmN2E0MmU2YzRkNTgxY2JlYWM2M2Y3YTEyOWU3YjI5ZWNkMGE2YzEgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAor
MjAxMi0wNS0yNyAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHNhbXN1bmcuY29tPgorCisg
ICAgICAgIE1vdmUgYWxsb3dSb3VuZGluZ0hhY2tzIHRvIEludGVybmFscyBpbnRlcmZhY2UKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg3MzI4CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIGFsbG93
Um91bmRpbmdIYWNrcyBmdW5jdGlvbnMsIGJlY2F1c2UgaXQgaXMgYWJsZSB0byB3b3JrIGluIHRo
ZQorICAgICAgICBjcm9zcy1wb3J0IHdheSB0aHJvdWdoIHRoZSBJbnRlcm5hbHMgaW50ZXJmYWNl
LgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwOgor
ICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OnN0YXRpY0Z1bmN0aW9ucyk6CisgICAgICAg
ICogRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuaDoKKyAgICAgICAgKExheW91
dFRlc3RDb250cm9sbGVyKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9ibGFja2JlcnJ5L0xh
eW91dFRlc3RDb250cm9sbGVyQmxhY2tCZXJyeS5jcHA6CisgICAgICAgICogRHVtcFJlbmRlclRy
ZWUvZWZsL0xheW91dFRlc3RDb250cm9sbGVyRWZsLmNwcDoKKyAgICAgICAgKiBEdW1wUmVuZGVy
VHJlZS9ndGsvTGF5b3V0VGVzdENvbnRyb2xsZXJHdGsuY3BwOgorICAgICAgICAqIER1bXBSZW5k
ZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbToKKyAgICAgICAgKHJlc2V0V2ViVmlld1RvQ29u
c2lzdGVudFN0YXRlQmVmb3JlVGVzdGluZyk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFj
L0xheW91dFRlc3RDb250cm9sbGVyTWFjLm1tOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3dp
bi9MYXlvdXRUZXN0Q29udHJvbGxlcldpbi5jcHA6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUv
d3gvTGF5b3V0VGVzdENvbnRyb2xsZXJXeC5jcHA6CisKIDIwMTItMDUtMjQgIEhpcm9ub3JpIEJv
bm8gIDxoYm9ub0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgRW5hYmxlIGdyYW1tYXIgY2hlY2tp
bmcgb24gQ2hyb21pdW0gd2hlbiB3ZSBwYXN0ZSB0ZXh0IChUYWtlIDIpCmRpZmYgLS1naXQgYS9U
b29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAgYi9Ub29scy9EdW1w
UmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAKaW5kZXggZjkxYzg3NGQ0MDIzZWFj
YzMxYjczMTg2NzI1Y2Q0ZTBmNmZjM2QzMC4uOWQxZWM4M2U1N2RkOTc1NmFmOGJhMzMyZDY4OTNk
NjA2YjY0YTUxNSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENv
bnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9s
bGVyLmNwcApAQCAtMjA2MywxNCArMjA2Myw2IEBAIHN0YXRpYyBKU1ZhbHVlUmVmIHNldFNlcmlh
bGl6ZUhUVFBMb2Fkc0NhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJlCiAg
ICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRleHQpOwogfQogCi1zdGF0aWMgSlNW
YWx1ZVJlZiBhbGxvd1JvdW5kaW5nSGFja3NDYWxsYmFjayhKU0NvbnRleHRSZWYgY29udGV4dCwg
SlNPYmplY3RSZWYsIEpTT2JqZWN0UmVmIHRoaXNPYmplY3QsIHNpemVfdCBhcmd1bWVudENvdW50
LCBjb25zdCBKU1ZhbHVlUmVmIGFyZ3VtZW50c1tdLCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pCi17
Ci0gICAgTGF5b3V0VGVzdENvbnRyb2xsZXIqIGNvbnRyb2xsZXIgPSBzdGF0aWNfY2FzdDxMYXlv
dXRUZXN0Q29udHJvbGxlcio+KEpTT2JqZWN0R2V0UHJpdmF0ZSh0aGlzT2JqZWN0KSk7Ci0KLSAg
ICBjb250cm9sbGVyLT5hbGxvd1JvdW5kaW5nSGFja3MoKTsKLSAgICByZXR1cm4gSlNWYWx1ZU1h
a2VVbmRlZmluZWQoY29udGV4dCk7Ci19Ci0KIHN0YXRpYyBKU1ZhbHVlUmVmIHNldFNob3VsZFN0
YXlPblBhZ2VBZnRlckhhbmRsaW5nQmVmb3JlVW5sb2FkQ2FsbGJhY2soSlNDb250ZXh0UmVmIGNv
bnRleHQsIEpTT2JqZWN0UmVmLCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBzaXplX3QgYXJndW1l
bnRDb3VudCwgY29uc3QgSlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNWYWx1ZVJlZiogZXhjZXB0
aW9uKQogewogICAgIExheW91dFRlc3RDb250cm9sbGVyKiBjb250cm9sbGVyID0gc3RhdGljX2Nh
c3Q8TGF5b3V0VGVzdENvbnRyb2xsZXIqPihKU09iamVjdEdldFByaXZhdGUodGhpc09iamVjdCkp
OwpAQCAtMjQzMSw3ICsyNDIzLDYgQEAgSlNTdGF0aWNGdW5jdGlvbiogTGF5b3V0VGVzdENvbnRy
b2xsZXI6OnN0YXRpY0Z1bmN0aW9ucygpCiAgICAgICAgIHsgIm9yaWdpbnNXaXRoTG9jYWxTdG9y
YWdlIiwgb3JpZ2luc1dpdGhMb2NhbFN0b3JhZ2VDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1
dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAgICAgICB7
ICJzZXRTaG91bGRQYWludEJyb2tlbkltYWdlIiwgc2V0U2hvdWxkUGFpbnRCcm9rZW5JbWFnZUNh
bGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1
dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsgInNldFRleHREaXJlY3Rpb24iLCBzZXRUZXh0RGly
ZWN0aW9uQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0
eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKLSAgICAgICAgeyAiYWxsb3dSb3VuZGluZ0hhY2tzIiwg
YWxsb3dSb3VuZGluZ0hhY2tzQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkg
fCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKICAgICAgICAgeyAic2V0U2hvdWxk
U3RheU9uUGFnZUFmdGVySGFuZGxpbmdCZWZvcmVVbmxvYWQiLCBzZXRTaG91bGRTdGF5T25QYWdl
QWZ0ZXJIYW5kbGluZ0JlZm9yZVVubG9hZENhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJl
YWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsgImFk
ZENocm9tZUlucHV0RmllbGQiLCBhZGRDaHJvbWVJbnB1dEZpZWxkQ2FsbGJhY2ssIGtKU1Byb3Bl
cnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwK
ICAgICAgICAgeyAicmVtb3ZlQ2hyb21lSW5wdXRGaWVsZCIsIHJlbW92ZUNocm9tZUlucHV0Rmll
bGRDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0
cmlidXRlRG9udERlbGV0ZSB9LApkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5
b3V0VGVzdENvbnRyb2xsZXIuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250
cm9sbGVyLmgKaW5kZXggMmI5ZjVmZTI0OWQ4ZTBmM2YzN2UwZTA5OTI4NzZmZWE5ZGU4YjE1MS4u
ZjA2YzIyNDdjNTE5OTA2ZmMwMDY3MmFiOWFlZTRjMzdmOTBlODk2MiAxMDA2NDQKLS0tIGEvVG9v
bHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuaAorKysgYi9Ub29scy9EdW1w
UmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5oCkBAIC0zMDksNyArMzA5LDYgQEAgcHVi
bGljOgogICAgIHZvaWQgZXZhbHVhdGVJbldlYkluc3BlY3Rvcihsb25nIGNhbGxJZCwgSlNTdHJp
bmdSZWYgc2NyaXB0KTsKICAgICB2b2lkIGV2YWx1YXRlU2NyaXB0SW5Jc29sYXRlZFdvcmxkKHVu
c2lnbmVkIHdvcmxkSUQsIEpTT2JqZWN0UmVmIGdsb2JhbE9iamVjdCwgSlNTdHJpbmdSZWYgc2Ny
aXB0KTsKICAgICB2b2lkIGV2YWx1YXRlU2NyaXB0SW5Jc29sYXRlZFdvcmxkQW5kUmV0dXJuVmFs
dWUodW5zaWduZWQgd29ybGRJRCwgSlNPYmplY3RSZWYgZ2xvYmFsT2JqZWN0LCBKU1N0cmluZ1Jl
ZiBzY3JpcHQpOwotICAgIHZvaWQgYWxsb3dSb3VuZGluZ0hhY2tzKCk7CiAKICAgICBib29sIHNo
b3VsZFN0YXlPblBhZ2VBZnRlckhhbmRsaW5nQmVmb3JlVW5sb2FkKCkgY29uc3QgeyByZXR1cm4g
bV9zaG91bGRTdGF5T25QYWdlQWZ0ZXJIYW5kbGluZ0JlZm9yZVVubG9hZDsgfQogICAgIHZvaWQg
c2V0U2hvdWxkU3RheU9uUGFnZUFmdGVySGFuZGxpbmdCZWZvcmVVbmxvYWQoYm9vbCBzaG91bGRT
dGF5T25QYWdlQWZ0ZXJIYW5kbGluZ0JlZm9yZVVubG9hZCkgeyBtX3Nob3VsZFN0YXlPblBhZ2VB
ZnRlckhhbmRsaW5nQmVmb3JlVW5sb2FkID0gc2hvdWxkU3RheU9uUGFnZUFmdGVySGFuZGxpbmdC
ZWZvcmVVbmxvYWQ7IH0KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2JsYWNrYmVy
cnkvTGF5b3V0VGVzdENvbnRyb2xsZXJCbGFja0JlcnJ5LmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL2JsYWNrYmVycnkvTGF5b3V0VGVzdENvbnRyb2xsZXJCbGFja0JlcnJ5LmNwcAppbmRleCBh
ZWU0ZTZmMjAwNDAwYjEyYWNhMzVhNTNiYTJjY2Y0NWZlMzk0ZDA5Li5iN2RlOWNkMDM3ZDcyYmU4
ZGFmZDE4MTEwMzgzNTE0Y2YyZmM2NzdjIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9ibGFja2JlcnJ5L0xheW91dFRlc3RDb250cm9sbGVyQmxhY2tCZXJyeS5jcHAKKysrIGIvVG9v
bHMvRHVtcFJlbmRlclRyZWUvYmxhY2tiZXJyeS9MYXlvdXRUZXN0Q29udHJvbGxlckJsYWNrQmVy
cnkuY3BwCkBAIC03MDUsMTEgKzcwNSw2IEBAIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNl
dFRleHREaXJlY3Rpb24oSlNTdHJpbmdSZWYpCiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAot
dm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6YWxsb3dSb3VuZGluZ0hhY2tzKCkKLXsKLSAgICBu
b3RJbXBsZW1lbnRlZCgpOwotfQotCiB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpnb0JhY2so
KQogewogICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQgdG8gZW5hYmxlIGxvYWRlci9uYXZpZ2F0aW9u
LXdoaWxlLWRlZmVycmluZy1sb2Fkcy5odG1sCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVy
VHJlZS9lZmwvTGF5b3V0VGVzdENvbnRyb2xsZXJFZmwuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvZWZsL0xheW91dFRlc3RDb250cm9sbGVyRWZsLmNwcAppbmRleCA5MjEyM2U4ODFjZDkwMjQ1
ZjUzODBkN2U1MzI3OGRkNTI1N2UxOWQ5Li40NDllNjgxMjFmZDc5YjIzOGMwMDBlNjQyOWVhZDBl
Nzc0YjM3OTg1IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvTGF5b3V0VGVz
dENvbnRyb2xsZXJFZmwuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9MYXlvdXRU
ZXN0Q29udHJvbGxlckVmbC5jcHAKQEAgLTgzOCwxMSArODM4LDYgQEAgdm9pZCBMYXlvdXRUZXN0
Q29udHJvbGxlcjo6c2V0VGV4dERpcmVjdGlvbihKU1N0cmluZ1JlZikKICAgICBub3RJbXBsZW1l
bnRlZCgpOwogfQogCi12b2lkIExheW91dFRlc3RDb250cm9sbGVyOjphbGxvd1JvdW5kaW5nSGFj
a3MoKQotewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci19Ci0KIHZvaWQgTGF5b3V0VGVzdENvbnRy
b2xsZXI6OmFkZENocm9tZUlucHV0RmllbGQoKQogewogICAgIG5vdEltcGxlbWVudGVkKCk7CmRp
ZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9ndGsvTGF5b3V0VGVzdENvbnRyb2xsZXJH
dGsuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0xheW91dFRlc3RDb250cm9sbGVyR3Rr
LmNwcAppbmRleCA0NWM4MGU4MWZmMmY2NTM3MzU2MGEzMjg1YjViNzBlYzUyM2FlYjVhLi5mNjI1
MGYyZDFhZDZmNWViNDVhMjI0ZjExZDZhYTRjYTUzMWI2NWQ0IDEwMDY0NAotLS0gYS9Ub29scy9E
dW1wUmVuZGVyVHJlZS9ndGsvTGF5b3V0VGVzdENvbnRyb2xsZXJHdGsuY3BwCisrKyBiL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL2d0ay9MYXlvdXRUZXN0Q29udHJvbGxlckd0ay5jcHAKQEAgLTk4Miwx
MCArOTgyLDYgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0VGV4dERpcmVjdGlvbihK
U1N0cmluZ1JlZiBkaXJlY3Rpb24pCiAgICAgLy8gRklYTUU6IEltcGxlbWVudC4KIH0KIAotdm9p
ZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6YWxsb3dSb3VuZGluZ0hhY2tzKCkKLXsKLX0KLQogdm9p
ZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6YWRkQ2hyb21lSW5wdXRGaWVsZCgpCiB7CiB9CmRpZmYg
LS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0gYi9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KaW5kZXggYzFmNDRhNDczNDhj
N2IwMGUzODllYzA1YjFiNmE2NDlhY2QzZGZiNS4uZmM1ZmYxZDhiZmNjZjJmYmRkZWE5ZGE5NjQ1
N2U5OGIyMWIyNzdmNiAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBS
ZW5kZXJUcmVlLm1tCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJl
ZS5tbQpAQCAtMTI2OCw3ICsxMjY4LDYgQEAgc3RhdGljIHZvaWQgcmVzZXRXZWJWaWV3VG9Db25z
aXN0ZW50U3RhdGVCZWZvcmVUZXN0aW5nKCkKIAogICAgIFtXZWJWaWV3IF9zZXRVc2VzVGVzdE1v
ZGVGb2N1c1JpbmdDb2xvcjpZRVNdOwogICAgIFtXZWJWaWV3IF9yZXNldE9yaWdpbkFjY2Vzc1do
aXRlbGlzdHNdOwotICAgIFtXZWJWaWV3IF9zZXRBbGxvd3NSb3VuZGluZ0hhY2tzOk5PXTsKIAog
ICAgIFtbTW9ja0dlb2xvY2F0aW9uUHJvdmlkZXIgc2hhcmVkXSBzdG9wVGltZXJdOwogICAgIApk
aWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0xheW91dFRlc3RDb250cm9sbGVy
TWFjLm1tIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0xheW91dFRlc3RDb250cm9sbGVyTWFj
Lm1tCmluZGV4IDViMmUwNjBjNmI0MWE5Yjc2YjIzYTIwOWJiMTRhNTc0N2VkNTQzNDcuLmViZTE2
ODZmZmQ2MGRiZmI4MmZhYjhkMTdmZmU4MGI0MGI3OTZiN2MgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL21hYy9MYXlvdXRUZXN0Q29udHJvbGxlck1hYy5tbQorKysgYi9Ub29scy9E
dW1wUmVuZGVyVHJlZS9tYWMvTGF5b3V0VGVzdENvbnRyb2xsZXJNYWMubW0KQEAgLTk2NywxMSAr
OTY3LDYgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6ZXZhbHVhdGVTY3JpcHRJbklzb2xh
dGVkV29ybGQodW5zaWduZWQgd29ybGRJRCwgSlNPYmoKICAgICBbbWFpbkZyYW1lIF9zdHJpbmdC
eUV2YWx1YXRpbmdKYXZhU2NyaXB0RnJvbVN0cmluZzpzY3JpcHROUyB3aXRoR2xvYmFsT2JqZWN0
Omdsb2JhbE9iamVjdCBpblNjcmlwdFdvcmxkOndvcmxkXTsKIH0KIAotdm9pZCBMYXlvdXRUZXN0
Q29udHJvbGxlcjo6YWxsb3dSb3VuZGluZ0hhY2tzKCkKLXsKLSAgICBbV2ViVmlldyBfc2V0QWxs
b3dzUm91bmRpbmdIYWNrczpZRVNdOwotfQotCiBAaW50ZXJmYWNlIEFQSVRlc3REZWxlZ2F0ZSA6
IE5TT2JqZWN0CiB7CiAgICAgYm9vbCogbV9jb25kaXRpb247CmRpZmYgLS1naXQgYS9Ub29scy9E
dW1wUmVuZGVyVHJlZS93aW4vTGF5b3V0VGVzdENvbnRyb2xsZXJXaW4uY3BwIGIvVG9vbHMvRHVt
cFJlbmRlclRyZWUvd2luL0xheW91dFRlc3RDb250cm9sbGVyV2luLmNwcAppbmRleCBjNjcyM2Jk
ZjkwMDQwZTM1ODhjMDQ2ZTJjMTVjYmNlZGViMjkwNjE1Li5lZWFkOGE4ODkwYWJjY2FmNDgxMjNl
NGMwMWMyYWQ1OGFiZGY3ZTc5IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4v
TGF5b3V0VGVzdENvbnRyb2xsZXJXaW4uY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dp
bi9MYXlvdXRUZXN0Q29udHJvbGxlcldpbi5jcHAKQEAgLTE0NzUsMTAgKzE0NzUsNiBAQCB2b2lk
IExheW91dFRlc3RDb250cm9sbGVyOjpzZXRUZXh0RGlyZWN0aW9uKEpTU3RyaW5nUmVmIGRpcmVj
dGlvbikKICAgICBmcmFtZVByaXZhdGUtPnNldFRleHREaXJlY3Rpb24oYnN0clQoZGlyZWN0aW9u
KS5HZXRCU1RSKCkpOwogfQogCi12b2lkIExheW91dFRlc3RDb250cm9sbGVyOjphbGxvd1JvdW5k
aW5nSGFja3MoKQotewotfQotCiB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjphZGRDaHJvbWVJ
bnB1dEZpZWxkKCkKIHsKIH0KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3d4L0xh
eW91dFRlc3RDb250cm9sbGVyV3guY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvd3gvTGF5b3V0
VGVzdENvbnRyb2xsZXJXeC5jcHAKaW5kZXggYjY1ZTg3ZGRmMTQ0MjY5MjgzMjllMmY2NDNiMTA4
ZDE2MDAwMmQzNi4uZjlhMDJhMzFmM2VhZWY3N2E0YWI0MGNjYTQ1MjJmNDFlMjQyYTIyNiAxMDA2
NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvd3gvTGF5b3V0VGVzdENvbnRyb2xsZXJXeC5j
cHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvd3gvTGF5b3V0VGVzdENvbnRyb2xsZXJXeC5j
cHAKQEAgLTYwOCwxMCArNjA4LDYgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0VGV4
dERpcmVjdGlvbihKU1N0cmluZ1JlZiBkaXJlY3Rpb24pCiAgICAgLy8gRklYTUU6IEltcGxlbWVu
dC4KIH0KIAotdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6YWxsb3dSb3VuZGluZ0hhY2tzKCkK
LXsKLX0KLQogdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6YWRkQ2hyb21lSW5wdXRGaWVsZCgp
CiB7CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKaW5kZXggNmI0MDkyYTIxNWViNTk2OGIzZGZlMDMzZjMyNjIxMjhlY2FkNTQxNC4u
M2Y2MjRmYmZlY2IwZmMzMTQ0YmVhNjFmNWM0YzhjMzFhZDJlN2Q1NCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE2IEBACisyMDEyLTA1LTI0ICBHeXV5b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5j
b20+CisKKyAgICAgICAgTW92ZSBhbGxvd1JvdW5kaW5nSGFja3MgdG8gSW50ZXJuYWxzIGludGVy
ZmFjZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODcz
MjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbnZv
a2UgYWxsb3dSb3VuZGluZ0hhY2tzIGZ1bmN0aW9uIGZyb20gaW50ZXJuYWxzLCBiZWNhdXNlIGl0
IGlzIGFibGUgdG8gd29yayBpbiB0aGUKKyAgICAgICAgY3Jvc3MtcG9ydCB3YXkgdmlhIHRoZSBJ
bnRlcm5hbHMgaW50ZXJmYWNlLgorCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9y
b3VuZGluZy1oYWNrcy1leHBhbnNpb24uaHRtbDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFz
dC90ZXh0L3JvdW5kaW5nLWhhY2tzLmh0bWw6CisKIDIwMTItMDUtMjQgIEtlbnQgVGFtdXJhICA8
dGtlbnRAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFBBR0VfUE9QVVA6IHdpbmRvdy5zZXRWYWx1
ZUFuZENsb3NlUG9wdXAgc2hvdWxkIGJlIG1vdmVkIHRvIGEKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvcm91bmRpbmctaGFja3MtZXhwYW5zaW9uLmh0bWwg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L3JvdW5kaW5nLWhhY2tzLWV4cGFu
c2lvbi5odG1sCmluZGV4IDhjM2I3ZjlhYjNmMDVlZjRlOTViY2QxZGUzMzRmOGE2MGZkOWJhZGUu
LmZkODE0ODIwNzlkYTVhNDI2MmNkNzZlZWZlYTczMTJjMmQzZjM3OTEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvcm91bmRpbmctaGFja3MtZXhwYW5zaW9u
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9yb3VuZGluZy1o
YWNrcy1leHBhbnNpb24uaHRtbApAQCAtMSw2ICsxLDYgQEAKIDxzY3JpcHQ+Ci0gICAgaWYgKHdp
bmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
YWxsb3dSb3VuZGluZ0hhY2tzKCk7CisgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAg
IGludGVybmFscy5hbGxvd1JvdW5kaW5nSGFja3MoKTsKIDwvc2NyaXB0PgogPGRpdiBzdHlsZT0i
Ym9yZGVyOiBzb2xpZCBjeWFuOyBmb250OiAxNnB4ICdsdWNpZGEgZ3JhbmRlJzsgdGV4dC1hbGln
bjoganVzdGlmeTsgd2lkdGg6IDMwMHB4OyI+R2l2ZW4gYW4gb3Bwb3J0dW5pdHkgdG8gbWFrZSBh
IG1pc3Rha2U8L2Rpdj4KIDxkaXYgc3R5bGU9ImJvcmRlcjogc29saWQgY3lhbjsgZm9udDogMTZw
eCAnbHVjaWRhIGdyYW5kZSc7IHRleHQtYWxpZ246IGp1c3RpZnk7IHdpZHRoOiAzMDBweDsiPkdp
dmVuIGFuIG9wcG9ydHVuaXR5IHRvIG1ha2UgYSBtaXN0YWtlPC9kaXY+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L3JvdW5kaW5nLWhhY2tzLmh0bWwgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L3JvdW5kaW5nLWhhY2tzLmh0bWwKaW5k
ZXggMjUxYWFmODZmZDU1MzRjZWNkOWNiNTEwMDFlNzZlZWYzMWNkZjE4OC4uODc0NzcwOGQxOTdj
Zjc5ZjVhOTFkY2JiM2U2NDczMWNlNDQ2ZWYyMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL2Zhc3QvdGV4dC9yb3VuZGluZy1oYWNrcy5odG1sCisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9mYXN0L3RleHQvcm91bmRpbmctaGFja3MuaHRtbApAQCAtMSw2ICsxLDYg
QEAKIDxzY3JpcHQ+Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuYWxsb3dSb3VuZGluZ0hhY2tzKCk7CisgICAgaWYgKHdp
bmRvdy5pbnRlcm5hbHMpCisgICAgICAgIGludGVybmFscy5hbGxvd1JvdW5kaW5nSGFja3MoKTsK
IDwvc2NyaXB0PgogPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6ICdsdWNpZGEgZ3JhbmRlJzsgZm9u
dC1zaXplOiAyMnB4OyI+CiAgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsICBjb25zZWN0
ZXR1ciBhZGlwaXNjaW5nIGVsaXQuIFByYWVzZW50CmRpZmYgLS1naXQgYS9DaGFuZ2VMb2cgYi9D
aGFuZ2VMb2cKaW5kZXggMjFmNmJhNjEwMDZmM2VkY2IxYzcxZTM0NzExMmZlM2FkNzA1YzE2MS4u
ZTFkZmMzYWViMWJkNDNkYjkzNzYxMGJjM2RkZTdjYjllYTBkOTYzYyAxMDA2NDQKLS0tIGEvQ2hh
bmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDEyLTA1LTI0ICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgTW92ZSBhbGxv
d1JvdW5kaW5nSGFja3MgdG8gSW50ZXJuYWxzIGludGVyZmFjZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODczMjgKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5m
aWx0ZXI6IEFkZCBhbGxvd1JvdW5kaW5nSGFja3Mgc3ltYm9sIGZpbHRlci4KKwogMjAxMi0wNS0y
NCAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUEFHRV9QT1BV
UDogd2luZG93LnNldFZhbHVlQW5kQ2xvc2VQb3B1cCBzaG91bGQgYmUgbW92ZWQgdG8gYQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>144268</attachid>
            <date>2012-05-27 22:25:55 -0700</date>
            <delta_ts>2012-05-28 02:06:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87328-20120528142553.patch</filename>
            <type>text/plain</type>
            <size>16874</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE4NDgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmI2NjlkZTBlNTM0MTRj
N2VlOWEwODU3YmUzYzliZjA1YTVmNGVkNC4uNTc1YTZiZjQ5ZmMxZDdlZDdhMGY0YzM5NzZiYTBm
MDMxN2JhNDhiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEyLTA1LTI3ICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgTW92ZSBhbGxv
d1JvdW5kaW5nSGFja3MgdG8gSW50ZXJuYWxzIGludGVyZmFjZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODczMjgKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYWxsb3dSb3VuZGluZ0hhY2tzIGZ1bmN0
aW9uLCBiZWNhdXNlIGl0IGlzIGFibGUgdG8gd29yayBpbiB0aGUKKyAgICAgICAgY3Jvc3MtcG9y
dCB3YXkgYnkgbWVhbnMgb2YgdGhlIEludGVybmFscyBpbnRlcmZhY2UuCisKKyAgICAgICAgSW4g
YWRkaXRpb24sIGEgZnVuY3Rpb24gaXMgYWRkZWQgaW4gb3JkZXIgdG8gcmVzdG9yZSBkZWZhdWx0
IHNldHRpbmcgdmFsdWVzLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgc2luY2Ugd2UgYXJlIGlt
cHJvdmluZyBoZXJlIHRoZSBpbmZyYS1zdHJ1Y3R1cmUgZm9yIHRlc3RpbmcKKyAgICAgICAgYSBz
cGVjaWZpYyBtZXRob2QuCisKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OnJlc2V0KToKKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpyZXNldERlZmF1bHRzVG9Db25zaXN0ZW50VmFsdWVz
KToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6YWxsb3dSb3VuZGluZ0hhY2tzKToKKyAg
ICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5oOgorICAgICAgICAoSW50ZXJuYWxzKToKKyAgICAg
ICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6CisKIDIwMTItMDUtMjQgIEdlb2ZmcmV5IEdhcmVu
ICA8Z2dhcmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWJLaXQgc2hvdWxkIGJlIGxhenktZmlu
YWxpemF0aW9uLXNhZmUgKGVzcC4gdGhlIERPTSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAwNjc3MDExZDM3NGI1
NzU1MDViNGI5OGFhMWVmYjdjYzNiZjFiYmJiLi5jMWRhNjM2NWQ0ZGNmNjRhYTQ3ZDYyMjFjMmRm
YzMzMTQyZDljNjRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTItMDUtMjQgIEd5
dXlvdW5nIEtpbSAgPGd5dXlvdW5nLmtpbUBzYW1zdW5nLmNvbT4KKworICAgICAgICBNb3ZlIGFs
bG93Um91bmRpbmdIYWNrcyB0byBJbnRlcm5hbHMgaW50ZXJmYWNlCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NzMyOAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2luL1dlYktpdDIuZGVmOiBBZGQgc2V0
QWxsb3dzUm91bmRpbmdIYWNrcygpIHRvIHN5bWJvbCBmaWx0ZXIuCisKIDIwMTItMDUtMjQgIEdl
b2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWJLaXQgc2hvdWxk
IGJlIGxhenktZmluYWxpemF0aW9uLXNhZmUgKGVzcC4gdGhlIERPTSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmNwcAppbmRleCA4NDJlOGUxNDQ5MzIzYmJkMmEwM2JiZTdmYTU5OWVkZjRh
NmVhZDQyLi5mNGFkM2Y2OGI1N2NjMDkxMDkwYzg0OTAzMzBjNTMyZmI3OGZjMjkwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC02MCw2ICs2MCw3IEBACiAjaW5jbHVkZSAi
U2hhZG93Um9vdC5oIgogI2luY2x1ZGUgIlNwZWxsQ2hlY2tlci5oIgogI2luY2x1ZGUgIlRleHRJ
dGVyYXRvci5oIgorI2luY2x1ZGUgIlRleHRSdW4uaCIKICNpbmNsdWRlICJUcmVlU2NvcGUuaCIK
IAogI2lmIEVOQUJMRShJTlBVVF9UWVBFX0NPTE9SKQpAQCAtNTkyLDYgKzU5MywxMyBAQCB2b2lk
IEludGVybmFsczo6cmVzZXQoRG9jdW1lbnQqIGRvY3VtZW50KQogICAgICAgICBpZiAoZG9jdW1l
bnQtPmZyYW1lKCkgPT0gcGFnZS0+bWFpbkZyYW1lKCkpCiAgICAgICAgICAgICBzZXRVc2VyUHJl
ZmVycmVkTGFuZ3VhZ2VzKFZlY3RvcjxTdHJpbmc+KCkpOwogICAgIH0KKworICAgIHJlc2V0RGVm
YXVsdHNUb0NvbnNpc3RlbnRWYWx1ZXMoKTsKK30KKwordm9pZCBJbnRlcm5hbHM6OnJlc2V0RGVm
YXVsdHNUb0NvbnNpc3RlbnRWYWx1ZXMoKQoreworICAgIFRleHRSdW46OnNldEFsbG93c1JvdW5k
aW5nSGFja3MoZmFsc2UpOwogfQogCiBib29sIEludGVybmFsczo6d2FzTGFzdENoYW5nZVVzZXJF
ZGl0KEVsZW1lbnQqIHRleHRGaWVsZCwgRXhjZXB0aW9uQ29kZSYgZWMpCkBAIC0xMDUwLDYgKzEw
NTgsMTAgQEAgdm9pZCBJbnRlcm5hbHM6OnJlc3VtZUFuaW1hdGlvbnMoRG9jdW1lbnQqIGRvY3Vt
ZW50LCBFeGNlcHRpb25Db2RlJiBlYykgY29uc3QKICAgICBjb250cm9sbGVyLT5yZXN1bWVBbmlt
YXRpb25zKCk7CiB9CiAKK3ZvaWQgSW50ZXJuYWxzOjphbGxvd1JvdW5kaW5nSGFja3MoKSBjb25z
dAoreworICAgIFRleHRSdW46OnNldEFsbG93c1JvdW5kaW5nSGFja3ModHJ1ZSk7Cit9CiAKICNp
ZiBFTkFCTEUoRlVMTFNDUkVFTl9BUEkpCiB2b2lkIEludGVybmFsczo6d2Via2l0V2lsbEVudGVy
RnVsbFNjcmVlbkZvckVsZW1lbnQoRG9jdW1lbnQqIGRvY3VtZW50LCBFbGVtZW50KiBlbGVtZW50
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaCBiL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKaW5kZXggOGUwMTBlOTg2NDBkNGUwZjk5YTgy
NTY0NjE4MDc5MDRiMDhkZmIwYi4uNmZhNGE0NWM2NzI5ZDFjYWI1ZGMwNzRkMTMyOGI1MzEyZjVj
MTRlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCkBAIC0xNjgsNiArMTY4LDggQEAg
cHVibGljOgogICAgIHZvaWQgc3VzcGVuZEFuaW1hdGlvbnMoRG9jdW1lbnQqLCBFeGNlcHRpb25D
b2RlJikgY29uc3Q7CiAgICAgdm9pZCByZXN1bWVBbmltYXRpb25zKERvY3VtZW50KiwgRXhjZXB0
aW9uQ29kZSYpIGNvbnN0OwogCisgICAgdm9pZCBhbGxvd1JvdW5kaW5nSGFja3MoKSBjb25zdDsK
KwogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgdW5zaWduZWQgbnVtYmVyT2ZMaXZlTm9kZXMo
KSBjb25zdDsKICAgICB1bnNpZ25lZCBudW1iZXJPZkxpdmVEb2N1bWVudHMoKSBjb25zdDsKQEAg
LTE4NCw2ICsxODYsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIGV4cGxpY2l0IEludGVybmFs
cyhEb2N1bWVudCopOwogICAgIERvY3VtZW50TWFya2VyKiBtYXJrZXJBdChOb2RlKiwgY29uc3Qg
U3RyaW5nJiBtYXJrZXJUeXBlLCB1bnNpZ25lZCBpbmRleCwgRXhjZXB0aW9uQ29kZSYpOworICAg
IHZvaWQgcmVzZXREZWZhdWx0c1RvQ29uc2lzdGVudFZhbHVlcygpOwogCiAgICAgUmVmUHRyPElu
dGVybmFsU2V0dGluZ3M+IG1fc2V0dGluZ3M7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuaWRsCmluZGV4IGVmOWVkNzUzZGZhZWFiMjYxZTkyMDAwMzE2YWNlMzMyN2FiMjAxMTIuLmFh
MTA4NThiYjNkNjY2YWY0ZmMwNWRiZWU4YTQ0MDc2YWRmODYwNDAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5pZGwKQEAgLTEzNyw2ICsxMzcsOCBAQCBtb2R1bGUgd2luZG93IHsKICAg
ICAgICAgdm9pZCBzdXNwZW5kQW5pbWF0aW9ucyhpbiBEb2N1bWVudCBkb2N1bWVudCkgcmFpc2Vz
IChET01FeGNlcHRpb24pOwogICAgICAgICB2b2lkIHJlc3VtZUFuaW1hdGlvbnMoaW4gRG9jdW1l
bnQgZG9jdW1lbnQpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKIAorICAgICAgICB2b2lkIGFsbG93
Um91bmRpbmdIYWNrcygpOworCiAjaWYgZGVmaW5lZChFTkFCTEVfQkFUVEVSWV9TVEFUVVMpICYm
IEVOQUJMRV9CQVRURVJZX1NUQVRVUwogICAgICAgICB2b2lkIHNldEJhdHRlcnlTdGF0dXMoaW4g
RG9jdW1lbnQgZG9jdW1lbnQsIGluIERPTVN0cmluZyBldmVudFR5cGUsIGluIGJvb2xlYW4gY2hh
cmdpbmcsIGluIGRvdWJsZSBjaGFyZ2luZ1RpbWUsIGluIGRvdWJsZSBkaXNjaGFyZ2luZ1RpbWUs
IGluIGRvdWJsZSBsZXZlbCkgcmFpc2VzIChET01FeGNlcHRpb24pOwogI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWYgYi9Tb3VyY2UvV2ViS2l0Mi93aW4v
V2ViS2l0Mi5kZWYKaW5kZXggZGM3YjRjYjZkODMzNWE5MmQ0ZDNjZTYyNjliZWM0MGMxMzI1YjRh
Yy4uMjgyYTZmYmE1NTgwMWU5ODI5Njg3MDBkMDM2NGU5NmRhNDk4MDk4ZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvd2luL1dlYktpdDIuZGVmCisrKyBiL1NvdXJjZS9XZWJLaXQyL3dpbi9X
ZWJLaXQyLmRlZgpAQCAtMjU1LDMgKzI1NSw0IEBAIEVYUE9SVFMKICAgICAgICAgP2lzUGFnZUJv
eFZpc2libGVARG9jdW1lbnRAV2ViQ29yZUBAUUFFX05IQFoKICAgICAgICAgP3N1c3BlbmRBbmlt
YXRpb25zQEFuaW1hdGlvbkNvbnRyb2xsZXJAV2ViQ29yZUBAUUFFWFhaCiAgICAgICAgID9yZXN1
bWVBbmltYXRpb25zQEFuaW1hdGlvbkNvbnRyb2xsZXJAV2ViQ29yZUBAUUFFWFhaCisgICAgICAg
ID9zZXRBbGxvd3NSb3VuZGluZ0hhY2tzQFRleHRSdW5AV2ViQ29yZUBAU0FYX05AWgpkaWZmIC0t
Z2l0IGEvU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlciBiL1NvdXJjZS9hdXRvdG9vbHMv
c3ltYm9scy5maWx0ZXIKaW5kZXggOTZjMGY3ZjQxOTMzZDk0NzZhMWM4OTk3YTFjMWViODQ0NTk5
NGUyOC4uOTBkNDg4YWY0YjYyOTA3NTNjNjkzNjQ1MzFkZThiOWRhMTIyOGIwMSAxMDA2NDQKLS0t
IGEvU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlcgorKysgYi9Tb3VyY2UvYXV0b3Rvb2xz
L3N5bWJvbHMuZmlsdGVyCkBAIC0xNDUsNiArMTQ1LDcgQEAgX1pON1dlYkNvcmU4RG9jdW1lbnQz
NHdlYmtpdERpZEVudGVyRnVsbFNjcmVlbkZvckVsZW1lbnRFUE5TXzdFbGVtZW50RTsKIF9aTjdX
ZWJDb3JlOERvY3VtZW50MzR3ZWJraXRXaWxsRXhpdEZ1bGxTY3JlZW5Gb3JFbGVtZW50RVBOU183
RWxlbWVudEU7CiBfWk43V2ViQ29yZThEb2N1bWVudDM1d2Via2l0V2lsbEVudGVyRnVsbFNjcmVl
bkZvckVsZW1lbnRFUE5TXzdFbGVtZW50RTsKIF9aTjdXZWJDb3JlMTdKU0RPTUdsb2JhbE9iamVj
dDZzX2luZm9FOworX1pON1dlYkNvcmU3VGV4dFJ1bjIyc2V0QWxsb3dzUm91bmRpbmdIYWNrc0Vi
OwogbG9jYWw6CiBfWio7CiBjdGkqOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9v
bHMvQ2hhbmdlTG9nCmluZGV4IDQ4Mzg0NGQwM2EyNDllYjExNjNiYjQ2YjhlYjQzYmY2ZGYyZmRl
MmEuLjBkMWIxYzlhOThhMmI1ZDk0NDA3OGFjMjc5MjAwODAwYTc3ZTFkNzQgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAor
MjAxMi0wNS0yNyAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHNhbXN1bmcuY29tPgorCisg
ICAgICAgIE1vdmUgYWxsb3dSb3VuZGluZ0hhY2tzIHRvIEludGVybmFscyBpbnRlcmZhY2UKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg3MzI4CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIGFsbG93
Um91bmRpbmdIYWNrcyBmdW5jdGlvbnMsIGJlY2F1c2UgaXQgaXMgYWJsZSB0byB3b3JrIGluIHRo
ZQorICAgICAgICBjcm9zcy1wb3J0IHdheSB0aHJvdWdoIHRoZSBJbnRlcm5hbHMgaW50ZXJmYWNl
LgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwOgor
ICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OnN0YXRpY0Z1bmN0aW9ucyk6CisgICAgICAg
ICogRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuaDoKKyAgICAgICAgKExheW91
dFRlc3RDb250cm9sbGVyKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9ibGFja2JlcnJ5L0xh
eW91dFRlc3RDb250cm9sbGVyQmxhY2tCZXJyeS5jcHA6CisgICAgICAgICogRHVtcFJlbmRlclRy
ZWUvZWZsL0xheW91dFRlc3RDb250cm9sbGVyRWZsLmNwcDoKKyAgICAgICAgKiBEdW1wUmVuZGVy
VHJlZS9ndGsvTGF5b3V0VGVzdENvbnRyb2xsZXJHdGsuY3BwOgorICAgICAgICAqIER1bXBSZW5k
ZXJUcmVlL21hYy9MYXlvdXRUZXN0Q29udHJvbGxlck1hYy5tbToKKyAgICAgICAgKiBEdW1wUmVu
ZGVyVHJlZS93aW4vTGF5b3V0VGVzdENvbnRyb2xsZXJXaW4uY3BwOgorICAgICAgICAqIER1bXBS
ZW5kZXJUcmVlL3d4L0xheW91dFRlc3RDb250cm9sbGVyV3guY3BwOgorCiAyMDEyLTA1LTI0ICBI
aXJvbm9yaSBCb25vICA8aGJvbm9AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEVuYWJsZSBncmFt
bWFyIGNoZWNraW5nIG9uIENocm9taXVtIHdoZW4gd2UgcGFzdGUgdGV4dCAoVGFrZSAyKQpkaWZm
IC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwIGIv
VG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwCmluZGV4IGY5MWM4
NzRkNDAyM2VhY2MzMWI3MzE4NjcyNWNkNGUwZjZmYzNkMzAuLjlkMWVjODNlNTdkZDk3NTZhZjhi
YTMzMmQ2ODkzZDYwNmI2NGE1MTUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0xh
eW91dFRlc3RDb250cm9sbGVyLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRU
ZXN0Q29udHJvbGxlci5jcHAKQEAgLTIwNjMsMTQgKzIwNjMsNiBAQCBzdGF0aWMgSlNWYWx1ZVJl
ZiBzZXRTZXJpYWxpemVIVFRQTG9hZHNDYWxsYmFjayhKU0NvbnRleHRSZWYgY29udGV4dCwgSlNP
YmplY3RSZQogICAgIHJldHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjb250ZXh0KTsKIH0KIAot
c3RhdGljIEpTVmFsdWVSZWYgYWxsb3dSb3VuZGluZ0hhY2tzQ2FsbGJhY2soSlNDb250ZXh0UmVm
IGNvbnRleHQsIEpTT2JqZWN0UmVmLCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBzaXplX3QgYXJn
dW1lbnRDb3VudCwgY29uc3QgSlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNWYWx1ZVJlZiogZXhj
ZXB0aW9uKQotewotICAgIExheW91dFRlc3RDb250cm9sbGVyKiBjb250cm9sbGVyID0gc3RhdGlj
X2Nhc3Q8TGF5b3V0VGVzdENvbnRyb2xsZXIqPihKU09iamVjdEdldFByaXZhdGUodGhpc09iamVj
dCkpOwotCi0gICAgY29udHJvbGxlci0+YWxsb3dSb3VuZGluZ0hhY2tzKCk7Ci0gICAgcmV0dXJu
IEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRleHQpOwotfQotCiBzdGF0aWMgSlNWYWx1ZVJlZiBz
ZXRTaG91bGRTdGF5T25QYWdlQWZ0ZXJIYW5kbGluZ0JlZm9yZVVubG9hZENhbGxiYWNrKEpTQ29u
dGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwgc2l6
ZV90IGFyZ3VtZW50Q291bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJndW1lbnRzW10sIEpTVmFsdWVS
ZWYqIGV4Y2VwdGlvbikKIHsKICAgICBMYXlvdXRUZXN0Q29udHJvbGxlciogY29udHJvbGxlciA9
IHN0YXRpY19jYXN0PExheW91dFRlc3RDb250cm9sbGVyKj4oSlNPYmplY3RHZXRQcml2YXRlKHRo
aXNPYmplY3QpKTsKQEAgLTI0MzEsNyArMjQyMyw2IEBAIEpTU3RhdGljRnVuY3Rpb24qIExheW91
dFRlc3RDb250cm9sbGVyOjpzdGF0aWNGdW5jdGlvbnMoKQogICAgICAgICB7ICJvcmlnaW5zV2l0
aExvY2FsU3RvcmFnZSIsIG9yaWdpbnNXaXRoTG9jYWxTdG9yYWdlQ2FsbGJhY2ssIGtKU1Byb3Bl
cnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwK
ICAgICAgICAgeyAic2V0U2hvdWxkUGFpbnRCcm9rZW5JbWFnZSIsIHNldFNob3VsZFBhaW50QnJv
a2VuSW1hZ2VDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3Bl
cnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAgICAgICB7ICJzZXRUZXh0RGlyZWN0aW9uIiwg
c2V0VGV4dERpcmVjdGlvbkNhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwg
a0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCi0gICAgICAgIHsgImFsbG93Um91bmRp
bmdIYWNrcyIsIGFsbG93Um91bmRpbmdIYWNrc0NhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0
ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsg
InNldFNob3VsZFN0YXlPblBhZ2VBZnRlckhhbmRsaW5nQmVmb3JlVW5sb2FkIiwgc2V0U2hvdWxk
U3RheU9uUGFnZUFmdGVySGFuZGxpbmdCZWZvcmVVbmxvYWRDYWxsYmFjaywga0pTUHJvcGVydHlB
dHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAg
ICAgICB7ICJhZGRDaHJvbWVJbnB1dEZpZWxkIiwgYWRkQ2hyb21lSW5wdXRGaWVsZENhbGxiYWNr
LCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250
RGVsZXRlIH0sCiAgICAgICAgIHsgInJlbW92ZUNocm9tZUlucHV0RmllbGQiLCByZW1vdmVDaHJv
bWVJbnB1dEZpZWxkQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQ
cm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9MYXlv
dXRUZXN0Q29udHJvbGxlci5oCmluZGV4IDJiOWY1ZmUyNDlkOGUwZjNmMzdlMGUwOTkyODc2ZmVh
OWRlOGIxNTEuLmYwNmMyMjQ3YzUxOTkwNmZjMDA2NzJhYjlhZWU0YzM3ZjkwZTg5NjIgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmgKKysrIGIv
VG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuaApAQCAtMzA5LDcgKzMw
OSw2IEBAIHB1YmxpYzoKICAgICB2b2lkIGV2YWx1YXRlSW5XZWJJbnNwZWN0b3IobG9uZyBjYWxs
SWQsIEpTU3RyaW5nUmVmIHNjcmlwdCk7CiAgICAgdm9pZCBldmFsdWF0ZVNjcmlwdEluSXNvbGF0
ZWRXb3JsZCh1bnNpZ25lZCB3b3JsZElELCBKU09iamVjdFJlZiBnbG9iYWxPYmplY3QsIEpTU3Ry
aW5nUmVmIHNjcmlwdCk7CiAgICAgdm9pZCBldmFsdWF0ZVNjcmlwdEluSXNvbGF0ZWRXb3JsZEFu
ZFJldHVyblZhbHVlKHVuc2lnbmVkIHdvcmxkSUQsIEpTT2JqZWN0UmVmIGdsb2JhbE9iamVjdCwg
SlNTdHJpbmdSZWYgc2NyaXB0KTsKLSAgICB2b2lkIGFsbG93Um91bmRpbmdIYWNrcygpOwogCiAg
ICAgYm9vbCBzaG91bGRTdGF5T25QYWdlQWZ0ZXJIYW5kbGluZ0JlZm9yZVVubG9hZCgpIGNvbnN0
IHsgcmV0dXJuIG1fc2hvdWxkU3RheU9uUGFnZUFmdGVySGFuZGxpbmdCZWZvcmVVbmxvYWQ7IH0K
ICAgICB2b2lkIHNldFNob3VsZFN0YXlPblBhZ2VBZnRlckhhbmRsaW5nQmVmb3JlVW5sb2FkKGJv
b2wgc2hvdWxkU3RheU9uUGFnZUFmdGVySGFuZGxpbmdCZWZvcmVVbmxvYWQpIHsgbV9zaG91bGRT
dGF5T25QYWdlQWZ0ZXJIYW5kbGluZ0JlZm9yZVVubG9hZCA9IHNob3VsZFN0YXlPblBhZ2VBZnRl
ckhhbmRsaW5nQmVmb3JlVW5sb2FkOyB9CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9ibGFja2JlcnJ5L0xheW91dFRlc3RDb250cm9sbGVyQmxhY2tCZXJyeS5jcHAgYi9Ub29scy9E
dW1wUmVuZGVyVHJlZS9ibGFja2JlcnJ5L0xheW91dFRlc3RDb250cm9sbGVyQmxhY2tCZXJyeS5j
cHAKaW5kZXggYWVlNGU2ZjIwMDQwMGIxMmFjYTM1YTUzYmEyY2NmNDVmZTM5NGQwOS4uYjdkZTlj
ZDAzN2Q3MmJlOGRhZmQxODExMDM4MzUxNGNmMmZjNjc3YyAxMDA2NDQKLS0tIGEvVG9vbHMvRHVt
cFJlbmRlclRyZWUvYmxhY2tiZXJyeS9MYXlvdXRUZXN0Q29udHJvbGxlckJsYWNrQmVycnkuY3Bw
CisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2JsYWNrYmVycnkvTGF5b3V0VGVzdENvbnRyb2xs
ZXJCbGFja0JlcnJ5LmNwcApAQCAtNzA1LDExICs3MDUsNiBAQCB2b2lkIExheW91dFRlc3RDb250
cm9sbGVyOjpzZXRUZXh0RGlyZWN0aW9uKEpTU3RyaW5nUmVmKQogICAgIG5vdEltcGxlbWVudGVk
KCk7CiB9CiAKLXZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmFsbG93Um91bmRpbmdIYWNrcygp
Ci17Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLX0KLQogdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxl
cjo6Z29CYWNrKCkKIHsKICAgICAvLyBGSVhNRTogaW1wbGVtZW50IHRvIGVuYWJsZSBsb2FkZXIv
bmF2aWdhdGlvbi13aGlsZS1kZWZlcnJpbmctbG9hZHMuaHRtbApkaWZmIC0tZ2l0IGEvVG9vbHMv
RHVtcFJlbmRlclRyZWUvZWZsL0xheW91dFRlc3RDb250cm9sbGVyRWZsLmNwcCBiL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL2VmbC9MYXlvdXRUZXN0Q29udHJvbGxlckVmbC5jcHAKaW5kZXggOTIxMjNl
ODgxY2Q5MDI0NWY1MzgwZDdlNTMyNzhkZDUyNTdlMTlkOS4uNDQ5ZTY4MTIxZmQ3OWIyMzhjMDAw
ZTY0MjllYWQwZTc3NGIzNzk4NSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZs
L0xheW91dFRlc3RDb250cm9sbGVyRWZsLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9l
ZmwvTGF5b3V0VGVzdENvbnRyb2xsZXJFZmwuY3BwCkBAIC04MzgsMTEgKzgzOCw2IEBAIHZvaWQg
TGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldFRleHREaXJlY3Rpb24oSlNTdHJpbmdSZWYpCiAgICAg
bm90SW1wbGVtZW50ZWQoKTsKIH0KIAotdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6YWxsb3dS
b3VuZGluZ0hhY2tzKCkKLXsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotfQotCiB2b2lkIExheW91
dFRlc3RDb250cm9sbGVyOjphZGRDaHJvbWVJbnB1dEZpZWxkKCkKIHsKICAgICBub3RJbXBsZW1l
bnRlZCgpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0xheW91dFRlc3RD
b250cm9sbGVyR3RrLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9MYXlvdXRUZXN0Q29u
dHJvbGxlckd0ay5jcHAKaW5kZXggNDVjODBlODFmZjJmNjUzNzM1NjBhMzI4NWI1YjcwZWM1MjNh
ZWI1YS4uZjYyNTBmMmQxYWQ2ZjVlYjQ1YTIyNGYxMWQ2YWE0Y2E1MzFiNjVkNCAxMDA2NDQKLS0t
IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0xheW91dFRlc3RDb250cm9sbGVyR3RrLmNwcAor
KysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9ndGsvTGF5b3V0VGVzdENvbnRyb2xsZXJHdGsuY3Bw
CkBAIC05ODIsMTAgKzk4Miw2IEBAIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldFRleHRE
aXJlY3Rpb24oSlNTdHJpbmdSZWYgZGlyZWN0aW9uKQogICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQu
CiB9CiAKLXZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmFsbG93Um91bmRpbmdIYWNrcygpCi17
Ci19Ci0KIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmFkZENocm9tZUlucHV0RmllbGQoKQog
ewogfQpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0xheW91dFRlc3RDb250
cm9sbGVyTWFjLm1tIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0xheW91dFRlc3RDb250cm9s
bGVyTWFjLm1tCmluZGV4IDViMmUwNjBjNmI0MWE5Yjc2YjIzYTIwOWJiMTRhNTc0N2VkNTQzNDcu
LmViZTE2ODZmZmQ2MGRiZmI4MmZhYjhkMTdmZmU4MGI0MGI3OTZiN2MgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL21hYy9MYXlvdXRUZXN0Q29udHJvbGxlck1hYy5tbQorKysgYi9U
b29scy9EdW1wUmVuZGVyVHJlZS9tYWMvTGF5b3V0VGVzdENvbnRyb2xsZXJNYWMubW0KQEAgLTk2
NywxMSArOTY3LDYgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6ZXZhbHVhdGVTY3JpcHRJ
bklzb2xhdGVkV29ybGQodW5zaWduZWQgd29ybGRJRCwgSlNPYmoKICAgICBbbWFpbkZyYW1lIF9z
dHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0RnJvbVN0cmluZzpzY3JpcHROUyB3aXRoR2xvYmFs
T2JqZWN0Omdsb2JhbE9iamVjdCBpblNjcmlwdFdvcmxkOndvcmxkXTsKIH0KIAotdm9pZCBMYXlv
dXRUZXN0Q29udHJvbGxlcjo6YWxsb3dSb3VuZGluZ0hhY2tzKCkKLXsKLSAgICBbV2ViVmlldyBf
c2V0QWxsb3dzUm91bmRpbmdIYWNrczpZRVNdOwotfQotCiBAaW50ZXJmYWNlIEFQSVRlc3REZWxl
Z2F0ZSA6IE5TT2JqZWN0CiB7CiAgICAgYm9vbCogbV9jb25kaXRpb247CmRpZmYgLS1naXQgYS9U
b29scy9EdW1wUmVuZGVyVHJlZS93aW4vTGF5b3V0VGVzdENvbnRyb2xsZXJXaW4uY3BwIGIvVG9v
bHMvRHVtcFJlbmRlclRyZWUvd2luL0xheW91dFRlc3RDb250cm9sbGVyV2luLmNwcAppbmRleCBj
NjcyM2JkZjkwMDQwZTM1ODhjMDQ2ZTJjMTVjYmNlZGViMjkwNjE1Li5lZWFkOGE4ODkwYWJjY2Fm
NDgxMjNlNGMwMWMyYWQ1OGFiZGY3ZTc5IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJl
ZS93aW4vTGF5b3V0VGVzdENvbnRyb2xsZXJXaW4uY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL3dpbi9MYXlvdXRUZXN0Q29udHJvbGxlcldpbi5jcHAKQEAgLTE0NzUsMTAgKzE0NzUsNiBA
QCB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRUZXh0RGlyZWN0aW9uKEpTU3RyaW5nUmVm
IGRpcmVjdGlvbikKICAgICBmcmFtZVByaXZhdGUtPnNldFRleHREaXJlY3Rpb24oYnN0clQoZGly
ZWN0aW9uKS5HZXRCU1RSKCkpOwogfQogCi12b2lkIExheW91dFRlc3RDb250cm9sbGVyOjphbGxv
d1JvdW5kaW5nSGFja3MoKQotewotfQotCiB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjphZGRD
aHJvbWVJbnB1dEZpZWxkKCkKIHsKIH0KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L3d4L0xheW91dFRlc3RDb250cm9sbGVyV3guY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvd3gv
TGF5b3V0VGVzdENvbnRyb2xsZXJXeC5jcHAKaW5kZXggYjY1ZTg3ZGRmMTQ0MjY5MjgzMjllMmY2
NDNiMTA4ZDE2MDAwMmQzNi4uZjlhMDJhMzFmM2VhZWY3N2E0YWI0MGNjYTQ1MjJmNDFlMjQyYTIy
NiAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvd3gvTGF5b3V0VGVzdENvbnRyb2xs
ZXJXeC5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvd3gvTGF5b3V0VGVzdENvbnRyb2xs
ZXJXeC5jcHAKQEAgLTYwOCwxMCArNjA4LDYgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6
c2V0VGV4dERpcmVjdGlvbihKU1N0cmluZ1JlZiBkaXJlY3Rpb24pCiAgICAgLy8gRklYTUU6IElt
cGxlbWVudC4KIH0KIAotdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6YWxsb3dSb3VuZGluZ0hh
Y2tzKCkKLXsKLX0KLQogdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6YWRkQ2hyb21lSW5wdXRG
aWVsZCgpCiB7CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggNmI0MDkyYTIxNWViNTk2OGIzZGZlMDMzZjMyNjIxMjhlY2Fk
NTQxNC4uM2Y2MjRmYmZlY2IwZmMzMTQ0YmVhNjFmNWM0YzhjMzFhZDJlN2Q1NCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE2IEBACisyMDEyLTA1LTI0ICBHeXV5b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ft
c3VuZy5jb20+CisKKyAgICAgICAgTW92ZSBhbGxvd1JvdW5kaW5nSGFja3MgdG8gSW50ZXJuYWxz
IGludGVyZmFjZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9ODczMjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBJbnZva2UgYWxsb3dSb3VuZGluZ0hhY2tzIGZ1bmN0aW9uIGZyb20gaW50ZXJuYWxzLCBiZWNh
dXNlIGl0IGlzIGFibGUgdG8gd29yayBpbiB0aGUKKyAgICAgICAgY3Jvc3MtcG9ydCB3YXkgdmlh
IHRoZSBJbnRlcm5hbHMgaW50ZXJmYWNlLgorCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3Qv
dGV4dC9yb3VuZGluZy1oYWNrcy1leHBhbnNpb24uaHRtbDoKKyAgICAgICAgKiBwbGF0Zm9ybS9t
YWMvZmFzdC90ZXh0L3JvdW5kaW5nLWhhY2tzLmh0bWw6CisKIDIwMTItMDUtMjQgIEtlbnQgVGFt
dXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFBBR0VfUE9QVVA6IHdpbmRvdy5z
ZXRWYWx1ZUFuZENsb3NlUG9wdXAgc2hvdWxkIGJlIG1vdmVkIHRvIGEKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvcm91bmRpbmctaGFja3MtZXhwYW5zaW9u
Lmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L3JvdW5kaW5nLWhhY2tz
LWV4cGFuc2lvbi5odG1sCmluZGV4IDhjM2I3ZjlhYjNmMDVlZjRlOTViY2QxZGUzMzRmOGE2MGZk
OWJhZGUuLmZkODE0ODIwNzlkYTVhNDI2MmNkNzZlZWZlYTczMTJjMmQzZjM3OTEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvcm91bmRpbmctaGFja3MtZXhw
YW5zaW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9yb3Vu
ZGluZy1oYWNrcy1leHBhbnNpb24uaHRtbApAQCAtMSw2ICsxLDYgQEAKIDxzY3JpcHQ+Ci0gICAg
aWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIuYWxsb3dSb3VuZGluZ0hhY2tzKCk7CisgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisg
ICAgICAgIGludGVybmFscy5hbGxvd1JvdW5kaW5nSGFja3MoKTsKIDwvc2NyaXB0PgogPGRpdiBz
dHlsZT0iYm9yZGVyOiBzb2xpZCBjeWFuOyBmb250OiAxNnB4ICdsdWNpZGEgZ3JhbmRlJzsgdGV4
dC1hbGlnbjoganVzdGlmeTsgd2lkdGg6IDMwMHB4OyI+R2l2ZW4gYW4gb3Bwb3J0dW5pdHkgdG8g
bWFrZSBhIG1pc3Rha2U8L2Rpdj4KIDxkaXYgc3R5bGU9ImJvcmRlcjogc29saWQgY3lhbjsgZm9u
dDogMTZweCAnbHVjaWRhIGdyYW5kZSc7IHRleHQtYWxpZ246IGp1c3RpZnk7IHdpZHRoOiAzMDBw
eDsiPkdpdmVuIGFuIG9wcG9ydHVuaXR5IHRvIG1ha2UgYSBtaXN0YWtlPC9kaXY+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L3JvdW5kaW5nLWhhY2tzLmh0
bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L3JvdW5kaW5nLWhhY2tzLmh0
bWwKaW5kZXggMjUxYWFmODZmZDU1MzRjZWNkOWNiNTEwMDFlNzZlZWYzMWNkZjE4OC4uODc0Nzcw
OGQxOTdjZjc5ZjVhOTFkY2JiM2U2NDczMWNlNDQ2ZWYyMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9yb3VuZGluZy1oYWNrcy5odG1sCisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3RleHQvcm91bmRpbmctaGFja3MuaHRtbApAQCAtMSw2
ICsxLDYgQEAKIDxzY3JpcHQ+Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikK
LSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuYWxsb3dSb3VuZGluZ0hhY2tzKCk7CisgICAg
aWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgIGludGVybmFscy5hbGxvd1JvdW5kaW5nSGFj
a3MoKTsKIDwvc2NyaXB0PgogPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6ICdsdWNpZGEgZ3JhbmRl
JzsgZm9udC1zaXplOiAyMnB4OyI+CiAgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsICBj
b25zZWN0ZXR1ciBhZGlwaXNjaW5nIGVsaXQuIFByYWVzZW50CmRpZmYgLS1naXQgYS9DaGFuZ2VM
b2cgYi9DaGFuZ2VMb2cKaW5kZXggMjFmNmJhNjEwMDZmM2VkY2IxYzcxZTM0NzExMmZlM2FkNzA1
YzE2MS4uZTFkZmMzYWViMWJkNDNkYjkzNzYxMGJjM2RkZTdjYjllYTBkOTYzYyAxMDA2NDQKLS0t
IGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDEyLTA1LTI0
ICBHeXV5b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgTW92
ZSBhbGxvd1JvdW5kaW5nSGFja3MgdG8gSW50ZXJuYWxzIGludGVyZmFjZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODczMjgKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNvdXJjZS9hdXRvdG9vbHMvc3lt
Ym9scy5maWx0ZXI6IEFkZCBhbGxvd1JvdW5kaW5nSGFja3Mgc3ltYm9sIGZpbHRlci4KKwogMjAx
Mi0wNS0yNCAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUEFH
RV9QT1BVUDogd2luZG93LnNldFZhbHVlQW5kQ2xvc2VQb3B1cCBzaG91bGQgYmUgbW92ZWQgdG8g
YQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>