<?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>98034</bug_id>
          
          <creation_ts>2012-10-01 08:13:50 -0700</creation_ts>
          <short_desc>Add more tests for calendar picker</short_desc>
          <delta_ts>2012-10-01 18:55:19 -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>Forms</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="Keishi Hattori">keishi</reporter>
          <assigned_to name="Keishi Hattori">keishi</assigned_to>
          <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>731701</commentid>
    <comment_count>0</comment_count>
    <who name="Keishi Hattori">keishi</who>
    <bug_when>2012-10-01 08:13:50 -0700</bug_when>
    <thetext>We need to add more tests for calendar picker</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>731724</commentid>
    <comment_count>1</comment_count>
      <attachid>166485</attachid>
    <who name="Keishi Hattori">keishi</who>
    <bug_when>2012-10-01 08:50:07 -0700</bug_when>
    <thetext>Created attachment 166485
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732158</commentid>
    <comment_count>2</comment_count>
      <attachid>166485</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-10-01 17:26:31 -0700</bug_when>
    <thetext>Comment on attachment 166485
Patch

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

ok.

&gt; LayoutTests/fast/forms/date/calendar-picker-mouse-operations.html:79
&gt; +function cumulativeOffset(element) {
&gt; +    var x = 0;
&gt; +    var y = 0;
&gt; +    var parentFrame = element.ownerDocument.defaultView.frameElement;
&gt; +    if (parentFrame) {
&gt; +        var parentFrameOffset = cumulativeOffset(parentFrame);
&gt; +        x = parentFrameOffset[0];
&gt; +        y = parentFrameOffset[1];
&gt; +    }
&gt; +    if (element.parentNode) {
&gt; +        do {
&gt; +            x += element.offsetLeft || 0;
&gt; +            y += element.offsetTop  || 0;
&gt; +            element = element.offsetParent;
&gt; +        } while (element);
&gt; +    }
&gt; +    return [x, y];
&gt; +}
&gt; +
&gt; +function hoverOverElement(element) {
&gt; +    var offset = cumulativeOffset(element);
&gt; +    var centerX = offset[0] + element.offsetWidth / 2;
&gt; +    var centerY = offset[1] + element.offsetHeight / 2;
&gt; +    eventSender.mouseMoveTo(centerX, centerY);
&gt; +}
&gt; +
&gt; +function clickElement(element) {

I remember another test has these functions. Don&apos;t you share them?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732195</commentid>
    <comment_count>3</comment_count>
      <attachid>166589</attachid>
    <who name="Keishi Hattori">keishi</who>
    <bug_when>2012-10-01 18:34:15 -0700</bug_when>
    <thetext>Created attachment 166589
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732197</commentid>
    <comment_count>4</comment_count>
    <who name="Keishi Hattori">keishi</who>
    <bug_when>2012-10-01 18:37:21 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; I remember another test has these functions. Don&apos;t you share them?

Added these three functions for fast/forms/resources/common.js and used it in date-suggestion-picker-mouse-operations.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732211</commentid>
    <comment_count>5</comment_count>
      <attachid>166589</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-01 18:55:16 -0700</bug_when>
    <thetext>Comment on attachment 166589
Patch

Clearing flags on attachment: 166589

Committed r130111: &lt;http://trac.webkit.org/changeset/130111&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732212</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-01 18:55:19 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>166485</attachid>
            <date>2012-10-01 08:50:07 -0700</date>
            <delta_ts>2012-10-01 18:34:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98034-20121002004920.patch</filename>
            <type>text/plain</type>
            <size>18123</size>
            <attacher name="Keishi Hattori">keishi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwMDExCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNmQ5ZjVmODVlOTQwZWI2MjRjZWVl
YWJjYWVhOWVjN2EzZTc1ZjRlZi4uMTJjZDRlNTIxODc2ZjUzOWVjNGFhNmY2YzgzYzc3MWNiMTU2
NGY4ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTEwLTAxICBLZWlzaGkgSGF0dG9yaSAg
PGtlaXNoaUB3ZWJraXQub3JnPgorCisgICAgICAgIEFkZCBtb3JlIHRlc3RzIGZvciBjYWxlbmRh
ciBwaWNrZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTk4MDM0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VGhpcyBhZGRzIGJhc2ljIHRlc3RzIGZvciBhbGwga2V5IGJpbmRpbmdzIGFuZCBzaW1wbGUgbW91
c2Ugb3BlcmF0aW9ucy4KKworICAgICAgICAqIGZhc3QvZm9ybXMvZGF0ZS9jYWxlbmRhci1waWNr
ZXItY29tbW9uLmpzOiBBZGRlZC4KKyAgICAgICAgKGN1cnJlbnRNb250aCk6IFJldHVybnMgbW9u
dGggdGhhdCB0aGUgcGlja2VyIGlzIGN1cnJlbnRseSBzaG93aW5nLgorICAgICAgICAoc2VsZWN0
ZWREYXRlKToKKyAgICAgICAgKG9wZW5QaWNrZXIpOiBPcGVucyB0aGUgY2FsZW5kYXIgcGlja2Vy
IGFuZCB1cGRhdGVzIHBvcHVwV2luZG93LgorICAgICAgICAoc2VuZEtleSk6CisgICAgICAgICog
ZmFzdC9mb3Jtcy9kYXRlL2NhbGVuZGFyLXBpY2tlci1rZXktb3BlcmF0aW9ucy1leHBlY3RlZC50
eHQ6CisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRlL2NhbGVuZGFyLXBpY2tlci1rZXktb3BlcmF0
aW9ucy5odG1sOgorICAgICAgICAqIGZhc3QvZm9ybXMvZGF0ZS9jYWxlbmRhci1waWNrZXItbW91
c2Utb3BlcmF0aW9ucy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMv
ZGF0ZS9jYWxlbmRhci1waWNrZXItbW91c2Utb3BlcmF0aW9ucy5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9uczogQWRkZWQgY2FsZW5kYXItcGlja2Vy
LW1vdXNlLW9wZXJhdGlvbnMuaHRtbC4KKwogMjAxMi0xMC0wMSAgWW9zaGlmdW1pIElub3VlICA8
eW9zaW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEFkZCBhcHBlYXJhbmNlIHRlc3RzIGZvciBt
dWx0aXBsZSBmaWVsZHMgbW9udGggaW5wdXQgVUkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvZGF0ZS9jYWxlbmRhci1waWNrZXItY29tbW9uLmpzIGIvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9kYXRlL2NhbGVuZGFyLXBpY2tlci1jb21tb24uanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWJiZjBm
MzE3YzhjNzAwNmNiOWM1NDEzNDU4Y2MwNjNjMTEzNzFhOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS9jYWxlbmRhci1waWNrZXItY29tbW9uLmpzCkBAIC0w
LDAgKzEsNDIgQEAKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK2lmICh3aW5kb3cuaW50
ZXJuYWxzKQorICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFbmFibGVNb2NrUGFnZVBvcHVwKHRy
dWUpOworCit2YXIgcG9wdXBXaW5kb3cgPSBudWxsOworCitmdW5jdGlvbiBjdXJyZW50TW9udGgo
KSB7CisgICAgdmFyIGVsZW1lbnQgPSBwb3B1cFdpbmRvdy5kb2N1bWVudC5xdWVyeVNlbGVjdG9y
KCIuc2VsZWN0ZWQtbW9udGgteWVhciIpOworICAgIGlmICghZWxlbWVudCkKKyAgICAgICAgcmV0
dXJuIG51bGw7CisgICAgcmV0dXJuIGVsZW1lbnQuZGF0YXNldC52YWx1ZTsKK30KKworZnVuY3Rp
b24gYXZhaWxhYmxlRGF0ZXNJbkN1cnJlbnRNb250aCgpIHsKKyAgICByZXR1cm4gQXJyYXkucHJv
dG90eXBlLm1hcC5jYWxsKHBvcHVwV2luZG93LmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5k
YXkuYXZhaWxhYmxlOm5vdCgubm90LXRoaXMtbW9udGgpIiksIGZ1bmN0aW9uKGVsZW1lbnQpIHsK
KyAgICAgICAgcmV0dXJuIGVsZW1lbnQuZGF0YXNldC5zdWJtaXRWYWx1ZTsKKyAgICB9KS5zb3J0
KCk7Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGVkRGF0ZSgpIHsKKyAgICB2YXIgc2VsZWN0ZWQgPSBz
ZWxlY3RlZERhdGVzKCk7CisgICAgaWYgKHNlbGVjdGVkLmxlbmd0aCA+IDEpCisgICAgICAgIHRl
c3RGYWlsZWQoInNlbGVjdGVkRGF0ZSBleHBlY3RzIHNpbmdsZSBzZWxlY3RlZCBkYXRlLiBGb3Vu
ZCAiICsgc2VsZWN0ZWQubGVuZ3RoKTsKKyAgICByZXR1cm4gc2VsZWN0ZWRbMF07Cit9CisKK2Z1
bmN0aW9uIHNlbGVjdGVkRGF0ZXMoKSB7CisgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5tYXAu
Y2FsbChwb3B1cFdpbmRvdy5kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIuZGF5LmRheS1zZWxl
Y3RlZCIpLCBmdW5jdGlvbihlbGVtZW50KSB7CisgICAgICAgIHJldHVybiBlbGVtZW50LmRhdGFz
ZXQuc3VibWl0VmFsdWU7CisgICAgfSkuc29ydCgpOworfQorCitmdW5jdGlvbiBvcGVuUGlja2Vy
KGlucHV0KSB7CisgICAgc2VuZEtleShpbnB1dCwgIkRvd24iKTsKKyAgICBwb3B1cFdpbmRvdyA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtb2NrLXBhZ2UtcG9wdXAnKS5jb250ZW50V2luZG93
OworfQorCitmdW5jdGlvbiBzZW5kS2V5KGlucHV0LCBrZXlOYW1lKSB7CisgICAgdmFyIGV2ZW50
ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0tleWJvYXJkRXZlbnQnKTsKKyAgICBldmVudC5pbml0
S2V5Ym9hcmRFdmVudCgna2V5ZG93bicsIHRydWUsIHRydWUsIGRvY3VtZW50LmRlZmF1bHRWaWV3
LCBrZXlOYW1lKTsKKyAgICBpbnB1dC5kaXNwYXRjaEV2ZW50KGV2ZW50KTsKK30KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS9jYWxlbmRhci1waWNrZXIta2V5LW9wZXJh
dGlvbnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlL2NhbGVuZGFy
LXBpY2tlci1rZXktb3BlcmF0aW9ucy1leHBlY3RlZC50eHQKaW5kZXggMGQwNzU0MjIzY2Q1ZDQ3
NDExYzgzNTQ4MDRhZjA5MTQwZjNjODJkZi4uNzU2OWI2ZTEyYjA4NDUyMTNjMjk0MzQ2NDE0ZjEy
NGU2NWQxYzVlZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlL2NhbGVu
ZGFyLXBpY2tlci1rZXktb3BlcmF0aW9ucy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9kYXRlL2NhbGVuZGFyLXBpY2tlci1rZXktb3BlcmF0aW9ucy1leHBlY3RlZC50
eHQKQEAgLTYsMzEgKzYsNTQgQEAgT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUKIENoZWNrIHRoYXQg
cGFnZSBwb3B1cCBkb2Vzbid0IGV4aXN0IGF0IGZpcnN0LgogUEFTUyBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgibW9jay1wYWdlLXBvcHVwIikgaXMgbnVsbAogQ2hlY2sgdGhhdCBwYWdlIHBvcHVw
IGV4aXN0cy4KLVBBU1MgcGlja2VyV2luZG93LnBhZ2VQb3B1cENvbnRyb2xsZXIudG9TdHJpbmco
KSBpcyAiW29iamVjdCBQYWdlUG9wdXBDb250cm9sbGVyXSIKK1BBU1MgcG9wdXBXaW5kb3cucGFn
ZVBvcHVwQ29udHJvbGxlci50b1N0cmluZygpIGlzICJbb2JqZWN0IFBhZ2VQb3B1cENvbnRyb2xs
ZXJdIgogUEFTUyBzZWxlY3RlZERhdGUoKSBpcyAiMjAwMC0wMS0wMiIKLVBBU1Mgc2VsZWN0ZWRN
b250aFllYXIoKSBpcyAiMjAwMC0wIgorUEFTUyBjdXJyZW50TW9udGgoKSBpcyAiMjAwMC0wIgog
Q2hlY2sgdGhhdCBhcnJvdyBrZXlzIHdvcmsgcHJvcGVybHkgZXZlbiB3aGVuIGdvaW5nIGJldHdl
ZW4gd2Vla3MgYW5kIG1vbnRocy4KIFBBU1Mgc2VsZWN0ZWREYXRlKCkgaXMgIjE5OTktMTItMjYi
Ci1QQVNTIHNlbGVjdGVkTW9udGhZZWFyKCkgaXMgIjIwMDAtMCIKK1BBU1MgY3VycmVudE1vbnRo
KCkgaXMgIjIwMDAtMCIKIFBBU1Mgc2VsZWN0ZWREYXRlKCkgaXMgIjIwMDAtMDEtMDIiCi1QQVNT
IHNlbGVjdGVkTW9udGhZZWFyKCkgaXMgIjE5OTktMTEiCitQQVNTIGN1cnJlbnRNb250aCgpIGlz
ICIxOTk5LTExIgogUEFTUyBzZWxlY3RlZERhdGUoKSBpcyAiMTk5OS0xMi0yNiIKLVBBU1Mgc2Vs
ZWN0ZWRNb250aFllYXIoKSBpcyAiMjAwMC0wIgorUEFTUyBjdXJyZW50TW9udGgoKSBpcyAiMjAw
MC0wIgogUEFTUyBzZWxlY3RlZERhdGUoKSBpcyAiMjAwMC0wMS0wMiIKLVBBU1Mgc2VsZWN0ZWRN
b250aFllYXIoKSBpcyAiMjAwMC0wIgorUEFTUyBjdXJyZW50TW9udGgoKSBpcyAiMjAwMC0wIgog
UEFTUyBzZWxlY3RlZERhdGUoKSBpcyAiMTk5OS0xMi0yNiIKLVBBU1Mgc2VsZWN0ZWRNb250aFll
YXIoKSBpcyAiMjAwMC0wIgorUEFTUyBjdXJyZW50TW9udGgoKSBpcyAiMjAwMC0wIgogUEFTUyBz
ZWxlY3RlZERhdGUoKSBpcyAiMjAwMC0wMS0wOCIKLVBBU1Mgc2VsZWN0ZWRNb250aFllYXIoKSBp
cyAiMTk5OS0xMSIKK1BBU1MgY3VycmVudE1vbnRoKCkgaXMgIjE5OTktMTEiCiBQQVNTIHNlbGVj
dGVkRGF0ZSgpIGlzICIxOTk5LTEyLTI2IgotUEFTUyBzZWxlY3RlZE1vbnRoWWVhcigpIGlzICIy
MDAwLTAiCitQQVNTIGN1cnJlbnRNb250aCgpIGlzICIyMDAwLTAiCitwcmVzcyBtCitGQUlMIHNl
bGVjdGVkRGF0ZSgpIHNob3VsZCBiZSAyMDAwLTAxLTI2LiBXYXMgMjAwMC0wMS0zMC4KK1BBU1Mg
Y3VycmVudE1vbnRoKCkgaXMgIjIwMDAtMSIKK3ByZXNzIHNoaWZ0ICsgbQorUEFTUyBzZWxlY3Rl
ZERhdGUoKSBpcyAiMTk5OS0xMi0yNiIKK1BBU1MgY3VycmVudE1vbnRoKCkgaXMgIjIwMDAtMCIK
K3ByZXNzIHkKK1BBU1Mgc2VsZWN0ZWREYXRlKCkgaXMgIjIwMDAtMTItMzEiCitQQVNTIGN1cnJl
bnRNb250aCgpIGlzICIyMDAxLTAiCitwcmVzcyBzaGlmdCArIHkKK1BBU1Mgc2VsZWN0ZWREYXRl
KCkgaXMgIjE5OTktMTItMjYiCitQQVNTIGN1cnJlbnRNb250aCgpIGlzICIyMDAwLTAiCitwcmVz
cyBkCitQQVNTIHNlbGVjdGVkRGF0ZSgpIGlzICIyMDA5LTEyLTI3IgorUEFTUyBjdXJyZW50TW9u
dGgoKSBpcyAiMjAxMC0wIgorcHJlc3Mgc2hpZnQgKyBkCitQQVNTIHNlbGVjdGVkRGF0ZSgpIGlz
ICIxOTk5LTEyLTI2IgorUEFTUyBjdXJyZW50TW9udGgoKSBpcyAiMjAwMC0wIgorUEFTUyBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgibW9jay1wYWdlLXBvcHVwIikgaXMgbnVsbAorUEFTUyBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZGF0ZSIpLnZhbHVlIGlzICIxOTk5LTEyLTI2IgorUEFTUyB0
ZXN0VG9kYXkoKSB8fCB0ZXN0VG9kYXkoKSBpcyB0cnVlCiBDaGVjayBpZiB0YWJiaW5nIHdvcmtz
LgogUEFTUyBmb2N1c2VkRWxlbWVudCgpIGlzICIuZGF5cy1hcmVhLWNvbnRhaW5lciIKIFBBU1Mg
Zm9jdXNlZEVsZW1lbnQoKSBpcyAiLnRvZGF5LWJ1dHRvblt2YWx1ZT1Ub2RheV0iCiBQQVNTIGZv
Y3VzZWRFbGVtZW50KCkgaXMgIi5jbGVhci1idXR0b25bdmFsdWU9Q2xlYXJdIgogUEFTUyBmb2N1
c2VkRWxlbWVudCgpIGlzICIueWVhci1tb250aC1idXR0b25bdmFsdWU9PDxdIgogUEFTUyBmb2N1
c2VkRWxlbWVudCgpIGlzICIuY2xlYXItYnV0dG9uW3ZhbHVlPUNsZWFyXSIKK1BBU1MgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoIm1vY2stcGFnZS1wb3B1cCIpIGlzIG51bGwKK1BBU1MgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImRhdGUiKS52YWx1ZSBpcyAiMTk5OS0xMi0yNiIKIFBBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQotIAorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUvY2FsZW5kYXItcGlja2VyLWtleS1vcGVyYXRp
b25zLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUvY2FsZW5kYXItcGlja2VyLWtl
eS1vcGVyYXRpb25zLmh0bWwKaW5kZXggNDE2MzMxMzUxNWY3YWZjNGY2NDYyZmIzYmRmMzRjMTAz
MTc4MzE0My4uM2U4NzVmY2Y2ZTg3N2JlOGUzYWE3ZWEyYTZiZDgzYTllMDkzODU1NyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlL2NhbGVuZGFyLXBpY2tlci1rZXktb3Bl
cmF0aW9ucy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS9jYWxlbmRhci1w
aWNrZXIta2V5LW9wZXJhdGlvbnMuaHRtbApAQCAtMiw2ICsyLDcgQEAKIDxodG1sPgogPGhlYWQ+
CiA8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSJjYWxlbmRhci1waWNrZXItY29tbW9uLmpzIj48L3NjcmlwdD4KIDwv
aGVhZD4KIDxib2R5PgogPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+CkBAIC05LDUyICsxMCw5NiBA
QAogPGlucHV0IHR5cGU9ZGF0ZSBpZD1kYXRlIHZhbHVlPSIyMDAwLTAxLTAyIj4KIDxzY3JpcHQ+
CiBkZXNjcmlwdGlvbigiVGVzdHMgaWYgY2FsZW5kYXIgcGlja2VyIGtleSBiaW5kaW5ncyB3b3Jr
IGFzIGV4cGVjdGVkLiIpOwotd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOwotaWYgKHdpbmRv
dy5pbnRlcm5hbHMpCi0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVuYWJsZU1vY2tQYWdlUG9w
dXAodHJ1ZSk7CiAKIGRlYnVnKCdDaGVjayB0aGF0IHBhZ2UgcG9wdXAgZG9lc25cJ3QgZXhpc3Qg
YXQgZmlyc3QuJyk7CiBzaG91bGRCZU51bGwoJ2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtb2Nr
LXBhZ2UtcG9wdXAiKScpOwogCi1zZW5kS2V5KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkYXRl
JyksICdEb3duJyk7CitvcGVuUGlja2VyKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkYXRlJykp
OworCitwb3B1cFdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLCB0ZXN0MSwgZmFsc2Up
OworCitmdW5jdGlvbiB0ZXN0MSgpIHsKKyAgICBwb3B1cFdpbmRvdy5yZW1vdmVFdmVudExpc3Rl
bmVyKCJyZXNpemUiLCB0ZXN0MSwgZmFsc2UpOwogCi12YXIgcGlja2VyV2luZG93ID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ21vY2stcGFnZS1wb3B1cCcpLmNvbnRlbnRXaW5kb3c7Ci1waWNr
ZXJXaW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIiwgZnVuY3Rpb24oKSB7CiAgICAgZGVi
dWcoJ0NoZWNrIHRoYXQgcGFnZSBwb3B1cCBleGlzdHMuJyk7Ci0gICAgc2hvdWxkQmUoJ3BpY2tl
cldpbmRvdy5wYWdlUG9wdXBDb250cm9sbGVyLnRvU3RyaW5nKCknLCAnIltvYmplY3QgUGFnZVBv
cHVwQ29udHJvbGxlcl0iJyk7CisgICAgc2hvdWxkQmUoJ3BvcHVwV2luZG93LnBhZ2VQb3B1cENv
bnRyb2xsZXIudG9TdHJpbmcoKScsICciW29iamVjdCBQYWdlUG9wdXBDb250cm9sbGVyXSInKTsK
IAogICAgIHNob3VsZEJlKCdzZWxlY3RlZERhdGUoKScsICciMjAwMC0wMS0wMiInKTsKLSAgICBz
aG91bGRCZSgnc2VsZWN0ZWRNb250aFllYXIoKScsICciMjAwMC0wIicpOworICAgIHNob3VsZEJl
KCdjdXJyZW50TW9udGgoKScsICciMjAwMC0wIicpOwogCiAgICAgZGVidWcoJ0NoZWNrIHRoYXQg
YXJyb3cga2V5cyB3b3JrIHByb3Blcmx5IGV2ZW4gd2hlbiBnb2luZyBiZXR3ZWVuIHdlZWtzIGFu
ZCBtb250aHMuJyk7CiAKICAgICBldmVudFNlbmRlci5rZXlEb3duKCd1cEFycm93Jyk7CiAgICAg
c2hvdWxkQmUoJ3NlbGVjdGVkRGF0ZSgpJywgJyIxOTk5LTEyLTI2IicpOwotICAgIHNob3VsZEJl
KCdzZWxlY3RlZE1vbnRoWWVhcigpJywgJyIyMDAwLTAiJyk7CisgICAgc2hvdWxkQmUoJ2N1cnJl
bnRNb250aCgpJywgJyIyMDAwLTAiJyk7CiAgICAgLy8gTW92ZSBmcm9tIGZpcnN0IHJvdyBvZiBK
YW51YXJ5IDIwMDAgdG8gbGFzdCByb3cgb2YgRGVjZW1iZXIgMTk5OS4KICAgICBldmVudFNlbmRl
ci5rZXlEb3duKCd1cEFycm93Jyk7CiAgICAgc2hvdWxkQmUoJ3NlbGVjdGVkRGF0ZSgpJywgJyIy
MDAwLTAxLTAyIicpOwotICAgIHNob3VsZEJlKCdzZWxlY3RlZE1vbnRoWWVhcigpJywgJyIxOTk5
LTExIicpOworICAgIHNob3VsZEJlKCdjdXJyZW50TW9udGgoKScsICciMTk5OS0xMSInKTsKICAg
ICAKICAgICBldmVudFNlbmRlci5rZXlEb3duKCdkb3duQXJyb3cnKTsKICAgICBzaG91bGRCZSgn
c2VsZWN0ZWREYXRlKCknLCAnIjE5OTktMTItMjYiJyk7Ci0gICAgc2hvdWxkQmUoJ3NlbGVjdGVk
TW9udGhZZWFyKCknLCAnIjIwMDAtMCInKTsKKyAgICBzaG91bGRCZSgnY3VycmVudE1vbnRoKCkn
LCAnIjIwMDAtMCInKTsKICAgICBldmVudFNlbmRlci5rZXlEb3duKCdkb3duQXJyb3cnKTsKICAg
ICBzaG91bGRCZSgnc2VsZWN0ZWREYXRlKCknLCAnIjIwMDAtMDEtMDIiJyk7Ci0gICAgc2hvdWxk
QmUoJ3NlbGVjdGVkTW9udGhZZWFyKCknLCAnIjIwMDAtMCInKTsKKyAgICBzaG91bGRCZSgnY3Vy
cmVudE1vbnRoKCknLCAnIjIwMDAtMCInKTsKIAogICAgIGV2ZW50U2VuZGVyLmtleURvd24oJ3Vw
QXJyb3cnKTsKICAgICBzaG91bGRCZSgnc2VsZWN0ZWREYXRlKCknLCAnIjE5OTktMTItMjYiJyk7
Ci0gICAgc2hvdWxkQmUoJ3NlbGVjdGVkTW9udGhZZWFyKCknLCAnIjIwMDAtMCInKTsKKyAgICBz
aG91bGRCZSgnY3VycmVudE1vbnRoKCknLCAnIjIwMDAtMCInKTsKIAogICAgIC8vIE1vdmUgZnJv
bSB0b3AgbGVmdCBvZiBKYW51YXJ5IDIwMDAgdG8gYm90dG9tIHJpZ2h0IG9mIERlY2VtYmVyIDE5
OTkuCiAgICAgZXZlbnRTZW5kZXIua2V5RG93bignbGVmdEFycm93Jyk7CiAgICAgc2hvdWxkQmUo
J3NlbGVjdGVkRGF0ZSgpJywgJyIyMDAwLTAxLTA4IicpOwotICAgIHNob3VsZEJlKCdzZWxlY3Rl
ZE1vbnRoWWVhcigpJywgJyIxOTk5LTExIicpOworICAgIHNob3VsZEJlKCdjdXJyZW50TW9udGgo
KScsICciMTk5OS0xMSInKTsKIAogICAgIGV2ZW50U2VuZGVyLmtleURvd24oJ3JpZ2h0QXJyb3cn
KTsKICAgICBzaG91bGRCZSgnc2VsZWN0ZWREYXRlKCknLCAnIjE5OTktMTItMjYiJyk7Ci0gICAg
c2hvdWxkQmUoJ3NlbGVjdGVkTW9udGhZZWFyKCknLCAnIjIwMDAtMCInKTsKKyAgICBzaG91bGRC
ZSgnY3VycmVudE1vbnRoKCknLCAnIjIwMDAtMCInKTsKKworICAgIGRlYnVnKCJwcmVzcyBtIik7
CisgICAgZXZlbnRTZW5kZXIua2V5RG93bignbScpOworICAgIHNob3VsZEJlKCdzZWxlY3RlZERh
dGUoKScsICciMjAwMC0wMS0yNiInKTsKKyAgICBzaG91bGRCZSgnY3VycmVudE1vbnRoKCknLCAn
IjIwMDAtMSInKTsKKworICAgIGRlYnVnKCJwcmVzcyBzaGlmdCArIG0iKTsKKyAgICBldmVudFNl
bmRlci5rZXlEb3duKCdNJyk7CisgICAgc2hvdWxkQmUoJ3NlbGVjdGVkRGF0ZSgpJywgJyIxOTk5
LTEyLTI2IicpOworICAgIHNob3VsZEJlKCdjdXJyZW50TW9udGgoKScsICciMjAwMC0wIicpOwor
CisgICAgZGVidWcoInByZXNzIHkiKTsKKyAgICBldmVudFNlbmRlci5rZXlEb3duKCd5Jyk7Cisg
ICAgc2hvdWxkQmUoJ3NlbGVjdGVkRGF0ZSgpJywgJyIyMDAwLTEyLTMxIicpOworICAgIHNob3Vs
ZEJlKCdjdXJyZW50TW9udGgoKScsICciMjAwMS0wIicpOworCisgICAgZGVidWcoInByZXNzIHNo
aWZ0ICsgeSIpOworICAgIGV2ZW50U2VuZGVyLmtleURvd24oJ1knKTsKKyAgICBzaG91bGRCZSgn
c2VsZWN0ZWREYXRlKCknLCAnIjE5OTktMTItMjYiJyk7CisgICAgc2hvdWxkQmUoJ2N1cnJlbnRN
b250aCgpJywgJyIyMDAwLTAiJyk7CisKKyAgICBkZWJ1ZygicHJlc3MgZCIpOworICAgIGV2ZW50
U2VuZGVyLmtleURvd24oJ2QnKTsKKyAgICBzaG91bGRCZSgnc2VsZWN0ZWREYXRlKCknLCAnIjIw
MDktMTItMjciJyk7CisgICAgc2hvdWxkQmUoJ2N1cnJlbnRNb250aCgpJywgJyIyMDEwLTAiJyk7
CisKKyAgICBkZWJ1ZygicHJlc3Mgc2hpZnQgKyBkIik7CisgICAgZXZlbnRTZW5kZXIua2V5RG93
bignRCcpOworICAgIHNob3VsZEJlKCdzZWxlY3RlZERhdGUoKScsICciMTk5OS0xMi0yNiInKTsK
KyAgICBzaG91bGRCZSgnY3VycmVudE1vbnRoKCknLCAnIjIwMDAtMCInKTsKKworICAgIGV2ZW50
U2VuZGVyLmtleURvd24oJ1xuJyk7CisgICAgc2hvdWxkQmVOdWxsKCdkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgibW9jay1wYWdlLXBvcHVwIiknKTsKKyAgICBzaG91bGRCZSgnZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImRhdGUiKS52YWx1ZScsICciMTk5OS0xMi0yNiInKTsKKworICAgIG9wZW5Q
aWNrZXIoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RhdGUnKSk7CisgICAgcG9wdXBXaW5kb3cu
YWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIiwgdGVzdDIsIGZhbHNlKTsKK30KKworZnVuY3Rpb24g
dGVzdDIoKSB7CisgICAgcG9wdXBXaW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVzaXplIiwg
dGVzdDIsIGZhbHNlKTsKKworICAgIC8vIFRlc3QgdHdpY2UgaW4gY2FzZSBtaWRuaWdodC4KKyAg
ICBzaG91bGRCZVRydWUoJ3Rlc3RUb2RheSgpIHx8IHRlc3RUb2RheSgpJyk7CiAKICAgICBkZWJ1
ZygnQ2hlY2sgaWYgdGFiYmluZyB3b3Jrcy4nKTsKICAgICBzaG91bGRCZSgnZm9jdXNlZEVsZW1l
bnQoKScsICciLmRheXMtYXJlYS1jb250YWluZXIiJyk7CkBAIC02NywyNSArMTEyLDMwIEBAIHBp
Y2tlcldpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLCBmdW5jdGlvbigpIHsKICAgICBl
dmVudFNlbmRlci5rZXlEb3duKCdcdCcsIFsnc2hpZnRLZXknXSk7CiAgICAgc2hvdWxkQmUoJ2Zv
Y3VzZWRFbGVtZW50KCknLCAnIi5jbGVhci1idXR0b25bdmFsdWU9Q2xlYXJdIicpOwogCisgICAg
ZXZlbnRTZW5kZXIua2V5RG93bignXHgxQicpOworICAgIHNob3VsZEJlTnVsbCgnZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoIm1vY2stcGFnZS1wb3B1cCIpJyk7CisgICAgc2hvdWxkQmUoJ2RvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJkYXRlIikudmFsdWUnLCAnIjE5OTktMTItMjYiJyk7CisKICAg
ICBmaW5pc2hKU1Rlc3QoKTsKLX0sIGZhbHNlKTsKK30KIAotZnVuY3Rpb24gc2VsZWN0ZWREYXRl
KCkgewotICAgIHZhciBlbGVtZW50ID0gcGlja2VyV2luZG93LmRvY3VtZW50LnF1ZXJ5U2VsZWN0
b3IoIi5kYXktc2VsZWN0ZWQiKTsKLSAgICBpZiAoIWVsZW1lbnQpCi0gICAgICAgIHJldHVybiBu
dWxsOwotICAgIHJldHVybiBlbGVtZW50LmRhdGFzZXQuc3VibWl0VmFsdWU7CitmdW5jdGlvbiB0
ZXN0VG9kYXkoKSB7CisgICAgZXZlbnRTZW5kZXIua2V5RG93bigndCcpOworICAgIHZhciBub3cg
PSBuZXcgRGF0ZSgpOworICAgIHZhciBleHBlY3RlZERhdGUgPSBzZXJpYWxpemVEYXRlKG5vdy5n
ZXRVVENGdWxsWWVhcigpLCBub3cuZ2V0VVRDTW9udGgoKSwgbm93LmdldFVUQ0RhdGUoKSk7Cisg
ICAgdmFyIGV4cGVjdGVkTW9udGggPSBub3cuZ2V0VVRDRnVsbFllYXIoKSArICItIiArIG5vdy5n
ZXRNb250aCgpOworICAgIHJldHVybiBzZWxlY3RlZERhdGUoKSA9PT0gZXhwZWN0ZWREYXRlICYm
IGN1cnJlbnRNb250aCgpID09PSBleHBlY3RlZE1vbnRoOwogfQogCi1mdW5jdGlvbiBzZWxlY3Rl
ZE1vbnRoWWVhcigpIHsKLSAgICB2YXIgZWxlbWVudCA9IHBpY2tlcldpbmRvdy5kb2N1bWVudC5x
dWVyeVNlbGVjdG9yKCIuc2VsZWN0ZWQtbW9udGgteWVhciIpOwotICAgIGlmICghZWxlbWVudCkK
LSAgICAgICAgcmV0dXJuIG51bGw7Ci0gICAgcmV0dXJuIGVsZW1lbnQuZGF0YXNldC52YWx1ZTsK
K2Z1bmN0aW9uIHNlcmlhbGl6ZURhdGUoeWVhciwgbW9udGgsIGRheSkgeworICAgIHZhciB5ZWFy
U3RyaW5nID0gU3RyaW5nKHllYXIpOworICAgIGlmICh5ZWFyU3RyaW5nLmxlbmd0aCA8IDQpCisg
ICAgICAgIHllYXJTdHJpbmcgPSAoIjAwMCIgKyB5ZWFyU3RyaW5nKS5zdWJzdHIoLTQsIDQpOwor
ICAgIHJldHVybiB5ZWFyU3RyaW5nICsgIi0iICsgKCIwIiArIChtb250aCArIDEpKS5zdWJzdHIo
LTIsIDIpICsgIi0iICsgKCIwIiArIGRheSkuc3Vic3RyKC0yLCAyKTsKIH0KIAogZnVuY3Rpb24g
Zm9jdXNlZEVsZW1lbnQoKSB7Ci0gICAgdmFyIGVsZW1lbnQgPSBwaWNrZXJXaW5kb3cuZG9jdW1l
bnQuYWN0aXZlRWxlbWVudDsKKyAgICB2YXIgZWxlbWVudCA9IHBvcHVwV2luZG93LmRvY3VtZW50
LmFjdGl2ZUVsZW1lbnQ7CiAgICAgaWYgKCFlbGVtZW50KQogICAgICAgICByZXR1cm4gbnVsbDsK
ICAgICB2YXIgaWRlbnRpZmllciA9ICIuIiArIGVsZW1lbnQuY2xhc3NOYW1lOwpAQCAtOTQsMTEg
KzE0NCw2IEBAIGZ1bmN0aW9uIGZvY3VzZWRFbGVtZW50KCkgewogICAgIHJldHVybiBpZGVudGlm
aWVyOwogfQogCi1mdW5jdGlvbiBzZW5kS2V5KGlucHV0LCBrZXlOYW1lKSB7Ci0gICAgdmFyIGV2
ZW50ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0tleWJvYXJkRXZlbnQnKTsKLSAgICBldmVudC5p
bml0S2V5Ym9hcmRFdmVudCgna2V5ZG93bicsIHRydWUsIHRydWUsIGRvY3VtZW50LmRlZmF1bHRW
aWV3LCBrZXlOYW1lKTsKLSAgICBpbnB1dC5kaXNwYXRjaEV2ZW50KGV2ZW50KTsKLX0KIDwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgogPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRl
L2NhbGVuZGFyLXBpY2tlci1tb3VzZS1vcGVyYXRpb25zLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvZGF0ZS9jYWxlbmRhci1waWNrZXItbW91c2Utb3BlcmF0aW9ucy1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZTk2NzA2MzIxNTc4Y2E4ZTYzYzk1MWE3OGIzOTc4MmY0NWVh
MDlhYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS9jYWxl
bmRhci1waWNrZXItbW91c2Utb3BlcmF0aW9ucy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyNiBA
QAorVGVzdHMgaWYgY2FsZW5kYXIgcGlja2VyIGtleSBiaW5kaW5ncyB3b3JrIGFzIGV4cGVjdGVk
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworQ2hlY2sgdGhhdCBwYWdlIHBvcHVw
IGRvZXNuJ3QgZXhpc3QgYXQgZmlyc3QuCitQQVNTIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJt
b2NrLXBhZ2UtcG9wdXAiKSBpcyBudWxsCitQQVNTIHNlbGVjdGVkRGF0ZSgpIGlzICIyMDAwLTAx
LTAyIgorUEFTUyBjdXJyZW50TW9udGgoKSBpcyAiMjAwMC0wIgorQ2hlY2sgdGhhdCBob3Zlcmlu
ZyBvdmVyIGFuIGVudHJ5IGhpZ2hsaWdodHMgaXQuCitQQVNTIHNlbGVjdGVkRGF0ZSgpIGlzICIx
OTk5LTEyLTMxIgorUEFTUyBjdXJyZW50TW9udGgoKSBpcyAiMjAwMC0wIgorUEFTUyBzZWxlY3Rl
ZERhdGUoKSBpcyAiMjAwMC0wMS0wNCIKK1BBU1MgY3VycmVudE1vbnRoKCkgaXMgIjIwMDAtMCIK
K0NoZWNrIHRoYXQgbmF2aWdhdGluZyBiZXR3ZWVuIG1vbnRocyBtYWludGFpbnMgc2VsZWN0aW9u
IHBvc2l0aW9uLgorUEFTUyBzZWxlY3RlZERhdGUoKSBpcyAiMjAwMC0wMi0wOCIKK1BBU1MgY3Vy
cmVudE1vbnRoKCkgaXMgIjIwMDAtMSIKK0NoZWNrIHRoYXQgbW92aW5nIHRoZSBtb3VzZSBvdXRz
aWRlIHRoZSBwb3B1cCBkZS1oaWdobGlnaHRzIGVudHJpZXMuCitQQVNTIHNlbGVjdGVkRGF0ZSgp
IGlzIHVuZGVmaW5lZC4KK0NoZWNrIHRoYXQgbW91c2UgY2xpY2sgY2xvc2VzIHRoZSBwb3B1cCBh
bmQgc2V0cyB0aGUgdmFsdWUuCitQQVNTIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtb2NrLXBh
Z2UtcG9wdXAiKSBpcyBudWxsCitQQVNTIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkYXRlIiku
dmFsdWUgaXMgIjIwMDAtMDItMDUiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRl
L2NhbGVuZGFyLXBpY2tlci1tb3VzZS1vcGVyYXRpb25zLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL2RhdGUvY2FsZW5kYXItcGlja2VyLW1vdXNlLW9wZXJhdGlvbnMuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44NGFkZjAzYjZiNjdiYmNjNjU4YjdmYjhlYWY0NTYxZjM3Yzc5ZDFmCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlL2NhbGVuZGFyLXBpY2tlci1tb3Vz
ZS1vcGVyYXRpb25zLmh0bWwKQEAgLTAsMCArMSw4OCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iY2FsZW5kYXItcGlja2VyLWNvbW1vbi5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8aW5wdXQgdHlwZT1kYXRlIGlkPWRhdGUgdmFsdWU9IjIwMDAt
MDEtMDIiPgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0cyBpZiBjYWxlbmRhciBwaWNrZXIg
a2V5IGJpbmRpbmdzIHdvcmsgYXMgZXhwZWN0ZWQuIik7CisKK2RlYnVnKCdDaGVjayB0aGF0IHBh
Z2UgcG9wdXAgZG9lc25cJ3QgZXhpc3QgYXQgZmlyc3QuJyk7CitzaG91bGRCZU51bGwoJ2RvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJtb2NrLXBhZ2UtcG9wdXAiKScpOworCitvcGVuUGlja2VyKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdkYXRlJykpOworCitwb3B1cFdpbmRvdy5hZGRFdmVudExp
c3RlbmVyKCJyZXNpemUiLCB0ZXN0LCBmYWxzZSk7CisKK2Z1bmN0aW9uIHRlc3QoKSB7CisgICAg
cG9wdXBXaW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVzaXplIiwgdGVzdCwgZmFsc2UpOwor
CisgICAgc2hvdWxkQmUoJ3NlbGVjdGVkRGF0ZSgpJywgJyIyMDAwLTAxLTAyIicpOworICAgIHNo
b3VsZEJlKCdjdXJyZW50TW9udGgoKScsICciMjAwMC0wIicpOworCisgICAgZGVidWcoJ0NoZWNr
IHRoYXQgaG92ZXJpbmcgb3ZlciBhbiBlbnRyeSBoaWdobGlnaHRzIGl0LicpOworICAgIGhvdmVy
T3ZlckVsZW1lbnQocG9wdXBXaW5kb3cuZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgi
ZGF5IilbNV0pOworICAgIHNob3VsZEJlKCdzZWxlY3RlZERhdGUoKScsICciMTk5OS0xMi0zMSIn
KTsKKyAgICBzaG91bGRCZSgnY3VycmVudE1vbnRoKCknLCAnIjIwMDAtMCInKTsKKworICAgIGhv
dmVyT3ZlckVsZW1lbnQocG9wdXBXaW5kb3cuZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFt
ZSgiZGF5IilbOV0pOworICAgIHNob3VsZEJlKCdzZWxlY3RlZERhdGUoKScsICciMjAwMC0wMS0w
NCInKTsKKyAgICBzaG91bGRCZSgnY3VycmVudE1vbnRoKCknLCAnIjIwMDAtMCInKTsKKworICAg
IGRlYnVnKCdDaGVjayB0aGF0IG5hdmlnYXRpbmcgYmV0d2VlbiBtb250aHMgbWFpbnRhaW5zIHNl
bGVjdGlvbiBwb3NpdGlvbi4nKTsKKyAgICBldmVudFNlbmRlci5rZXlEb3duKCdtJyk7CisgICAg
c2hvdWxkQmUoJ3NlbGVjdGVkRGF0ZSgpJywgJyIyMDAwLTAyLTA4IicpOworICAgIHNob3VsZEJl
KCdjdXJyZW50TW9udGgoKScsICciMjAwMC0xIicpOworCisgICAgZGVidWcoJ0NoZWNrIHRoYXQg
bW92aW5nIHRoZSBtb3VzZSBvdXRzaWRlIHRoZSBwb3B1cCBkZS1oaWdobGlnaHRzIGVudHJpZXMu
Jyk7CisgICAgaG92ZXJPdmVyRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGVzY3Jp
cHRpb24nKSk7CisgICAgc2hvdWxkQmVVbmRlZmluZWQoJ3NlbGVjdGVkRGF0ZSgpJyk7CisKKyAg
ICBkZWJ1ZygnQ2hlY2sgdGhhdCBtb3VzZSBjbGljayBjbG9zZXMgdGhlIHBvcHVwIGFuZCBzZXRz
IHRoZSB2YWx1ZS4nKTsKKyAgICBjbGlja0VsZW1lbnQocG9wdXBXaW5kb3cuZG9jdW1lbnQuZ2V0
RWxlbWVudHNCeUNsYXNzTmFtZSgiZGF5IilbNl0pOworICAgIHNob3VsZEJlTnVsbCgnZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoIm1vY2stcGFnZS1wb3B1cCIpJyk7CisgICAgc2hvdWxkQmUoJ2Rv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJkYXRlIikudmFsdWUnLCAnIjIwMDAtMDItMDUiJyk7CisK
KyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKworZnVuY3Rpb24gY3VtdWxhdGl2ZU9mZnNldChlbGVt
ZW50KSB7CisgICAgdmFyIHggPSAwOworICAgIHZhciB5ID0gMDsKKyAgICB2YXIgcGFyZW50RnJh
bWUgPSBlbGVtZW50Lm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXcuZnJhbWVFbGVtZW50OworICAg
IGlmIChwYXJlbnRGcmFtZSkgeworICAgICAgICB2YXIgcGFyZW50RnJhbWVPZmZzZXQgPSBjdW11
bGF0aXZlT2Zmc2V0KHBhcmVudEZyYW1lKTsKKyAgICAgICAgeCA9IHBhcmVudEZyYW1lT2Zmc2V0
WzBdOworICAgICAgICB5ID0gcGFyZW50RnJhbWVPZmZzZXRbMV07CisgICAgfQorICAgIGlmIChl
bGVtZW50LnBhcmVudE5vZGUpIHsKKyAgICAgICAgZG8geworICAgICAgICAgICAgeCArPSBlbGVt
ZW50Lm9mZnNldExlZnQgfHwgMDsKKyAgICAgICAgICAgIHkgKz0gZWxlbWVudC5vZmZzZXRUb3Ag
IHx8IDA7CisgICAgICAgICAgICBlbGVtZW50ID0gZWxlbWVudC5vZmZzZXRQYXJlbnQ7CisgICAg
ICAgIH0gd2hpbGUgKGVsZW1lbnQpOworICAgIH0KKyAgICByZXR1cm4gW3gsIHldOworfQorCitm
dW5jdGlvbiBob3Zlck92ZXJFbGVtZW50KGVsZW1lbnQpIHsKKyAgICB2YXIgb2Zmc2V0ID0gY3Vt
dWxhdGl2ZU9mZnNldChlbGVtZW50KTsKKyAgICB2YXIgY2VudGVyWCA9IG9mZnNldFswXSArIGVs
ZW1lbnQub2Zmc2V0V2lkdGggLyAyOworICAgIHZhciBjZW50ZXJZID0gb2Zmc2V0WzFdICsgZWxl
bWVudC5vZmZzZXRIZWlnaHQgLyAyOworICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKGNlbnRl
clgsIGNlbnRlclkpOworfQorCitmdW5jdGlvbiBjbGlja0VsZW1lbnQoZWxlbWVudCkgeworICAg
IGhvdmVyT3ZlckVsZW1lbnQoZWxlbWVudCk7CisgICAgZXZlbnRTZW5kZXIubW91c2VEb3duKCk7
CisgICAgZXZlbnRTZW5kZXIubW91c2VVcCgpOworfQorCis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwppbmRleCAxNTc0YWZl
MDMxZGI1MzJjMDViNzQ5N2ViMDhjZjlkZWVlMzQxNjc1Li5mYWI4NDYyYTc1N2Y1OTQzYmI5Mjcx
ZDVjZjY1YjI2ODI1ZDczZTJjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsv
VGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVj
dGF0aW9ucwpAQCAtMTkwLDYgKzE5MCw3IEBAIHdlYmtpdC5vcmcvYi8yOTM1OSBmYXN0L2Zvcm1z
L2RhdGUvZGF0ZS1pbnRlcmFjdGl2ZS12YWxpZGF0aW9uLXJlcXVpcmVkLmh0bWwgWyBQCiB3ZWJr
aXQub3JnL2IvMjkzNTkgZmFzdC9mb3Jtcy9kYXRlL2NhbGVuZGFyLXBpY2tlci1hcHBlYXJhbmNl
LXByZS0xMDAuaHRtbCBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzI5MzU5IGZhc3QvZm9ybXMvZGF0
ZS9jYWxlbmRhci1waWNrZXItYXBwZWFyYW5jZS5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2Iv
MjkzNTkgZmFzdC9mb3Jtcy9kYXRlL2NhbGVuZGFyLXBpY2tlci1rZXktb3BlcmF0aW9ucy5odG1s
IFsgU2tpcCBdCit3ZWJraXQub3JnL2IvMjkzNTkgZmFzdC9mb3Jtcy9kYXRlL2NhbGVuZGFyLXBp
Y2tlci1tb3VzZS1vcGVyYXRpb25zLmh0bWwgWyBTa2lwIF0KIHdlYmtpdC5vcmcvYi8yOTM1OSBm
YXN0L2Zvcm1zL2RhdGUvY2FsZW5kYXItcGlja2VyLXR5cGUtY2hhbmdlLW9uY2xpY2suaHRtbCBb
IFBhc3MgXQogd2Via2l0Lm9yZy9iLzI5MzU5IGZhc3QvZm9ybXMvZGF0ZS9kYXRlLXN0ZXB1cC1z
dGVwZG93bi1mcm9tLXJlbmRlcmVyLmh0bWwgWyBQYXNzIF0KIHdlYmtpdC5vcmcvYi8yOTM1OSBm
YXN0L2Zvcm1zL2RhdGUvbm8tcGFnZS1wb3B1cC1jb250cm9sbGVyLmh0bWwgWyBQYXNzIF0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>166589</attachid>
            <date>2012-10-01 18:34:15 -0700</date>
            <delta_ts>2012-10-01 18:55:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98034-20121002103328.patch</filename>
            <type>text/plain</type>
            <size>20711</size>
            <attacher name="Keishi Hattori">keishi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwMTA2CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMzUzOTIyMWIzZDdmMGYyZTdkZmM0
NzJjZjYwNjUyOGRhMDY0YzIwYi4uODBiNTdmYjU5NDc2NWNhMDdkY2ZmZTRmMTA3YTc4YmRhMzlj
NTJjMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEyLTEwLTAxICBLZWlzaGkgSGF0dG9yaSAg
PGtlaXNoaUB3ZWJraXQub3JnPgorCisgICAgICAgIEFkZCBtb3JlIHRlc3RzIGZvciBjYWxlbmRh
ciBwaWNrZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTk4MDM0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgS2VudCBUYW11cmEuCisKKyAgICAgICAgVGhp
cyBhZGRzIGJhc2ljIHRlc3RzIGZvciBhbGwga2V5IGJpbmRpbmdzIGFuZCBzaW1wbGUgbW91c2Ug
b3BlcmF0aW9ucy4KKworICAgICAgICAqIGZhc3QvZm9ybXMvZGF0ZS9jYWxlbmRhci1waWNrZXIt
Y29tbW9uLmpzOiBBZGRlZC4KKyAgICAgICAgKGN1cnJlbnRNb250aCk6IFJldHVybnMgbW9udGgg
dGhhdCB0aGUgcGlja2VyIGlzIGN1cnJlbnRseSBzaG93aW5nLgorICAgICAgICAoc2VsZWN0ZWRE
YXRlKToKKyAgICAgICAgKG9wZW5QaWNrZXIpOiBPcGVucyB0aGUgY2FsZW5kYXIgcGlja2VyIGFu
ZCB1cGRhdGVzIHBvcHVwV2luZG93LgorICAgICAgICAoc2VuZEtleSk6CisgICAgICAgICogZmFz
dC9mb3Jtcy9kYXRlL2NhbGVuZGFyLXBpY2tlci1rZXktb3BlcmF0aW9ucy1leHBlY3RlZC50eHQ6
CisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRlL2NhbGVuZGFyLXBpY2tlci1rZXktb3BlcmF0aW9u
cy5odG1sOgorICAgICAgICAqIGZhc3QvZm9ybXMvZGF0ZS9jYWxlbmRhci1waWNrZXItbW91c2Ut
b3BlcmF0aW9ucy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvZGF0
ZS9jYWxlbmRhci1waWNrZXItbW91c2Utb3BlcmF0aW9ucy5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L2Zvcm1zL3Jlc291cmNlcy9jb21tb24uanM6CisgICAgICAgIChjdW11bGF0aXZlT2Zm
c2V0KToKKyAgICAgICAgKGhvdmVyT3ZlckVsZW1lbnQpOgorICAgICAgICAoY2xpY2tFbGVtZW50
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2Zvcm1zL2RhdGUvZGF0ZS1zdWdn
ZXN0aW9uLXBpY2tlci1tb3VzZS1vcGVyYXRpb25zLmh0bWw6CisgICAgICAgICogcGxhdGZvcm0v
Z3RrL1Rlc3RFeHBlY3RhdGlvbnM6IEFkZGVkIGNhbGVuZGFyLXBpY2tlci1tb3VzZS1vcGVyYXRp
b25zLmh0bWwuCisKIDIwMTItMTAtMDEgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4K
IAogICAgICAgICBBZGRyZXNzIGEgRklYTUUgaW4gSlNBcnJheTo6c29ydApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlL2NhbGVuZGFyLXBpY2tlci1jb21tb24uanMgYi9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUvY2FsZW5kYXItcGlja2VyLWNvbW1vbi5qcwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5lYmJmMGYzMTdjOGM3MDA2Y2I5YzU0MTM0NThjYzA2M2MxMTM3MWE4Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlL2NhbGVuZGFyLXBpY2tlci1j
b21tb24uanMKQEAgLTAsMCArMSw0MiBAQAord2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOwor
aWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVuYWJsZU1v
Y2tQYWdlUG9wdXAodHJ1ZSk7CisKK3ZhciBwb3B1cFdpbmRvdyA9IG51bGw7CisKK2Z1bmN0aW9u
IGN1cnJlbnRNb250aCgpIHsKKyAgICB2YXIgZWxlbWVudCA9IHBvcHVwV2luZG93LmRvY3VtZW50
LnF1ZXJ5U2VsZWN0b3IoIi5zZWxlY3RlZC1tb250aC15ZWFyIik7CisgICAgaWYgKCFlbGVtZW50
KQorICAgICAgICByZXR1cm4gbnVsbDsKKyAgICByZXR1cm4gZWxlbWVudC5kYXRhc2V0LnZhbHVl
OworfQorCitmdW5jdGlvbiBhdmFpbGFibGVEYXRlc0luQ3VycmVudE1vbnRoKCkgeworICAgIHJl
dHVybiBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwocG9wdXBXaW5kb3cuZG9jdW1lbnQucXVlcnlT
ZWxlY3RvckFsbCgiLmRheS5hdmFpbGFibGU6bm90KC5ub3QtdGhpcy1tb250aCkiKSwgZnVuY3Rp
b24oZWxlbWVudCkgeworICAgICAgICByZXR1cm4gZWxlbWVudC5kYXRhc2V0LnN1Ym1pdFZhbHVl
OworICAgIH0pLnNvcnQoKTsKK30KKworZnVuY3Rpb24gc2VsZWN0ZWREYXRlKCkgeworICAgIHZh
ciBzZWxlY3RlZCA9IHNlbGVjdGVkRGF0ZXMoKTsKKyAgICBpZiAoc2VsZWN0ZWQubGVuZ3RoID4g
MSkKKyAgICAgICAgdGVzdEZhaWxlZCgic2VsZWN0ZWREYXRlIGV4cGVjdHMgc2luZ2xlIHNlbGVj
dGVkIGRhdGUuIEZvdW5kICIgKyBzZWxlY3RlZC5sZW5ndGgpOworICAgIHJldHVybiBzZWxlY3Rl
ZFswXTsKK30KKworZnVuY3Rpb24gc2VsZWN0ZWREYXRlcygpIHsKKyAgICByZXR1cm4gQXJyYXku
cHJvdG90eXBlLm1hcC5jYWxsKHBvcHVwV2luZG93LmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwo
Ii5kYXkuZGF5LXNlbGVjdGVkIiksIGZ1bmN0aW9uKGVsZW1lbnQpIHsKKyAgICAgICAgcmV0dXJu
IGVsZW1lbnQuZGF0YXNldC5zdWJtaXRWYWx1ZTsKKyAgICB9KS5zb3J0KCk7Cit9CisKK2Z1bmN0
aW9uIG9wZW5QaWNrZXIoaW5wdXQpIHsKKyAgICBzZW5kS2V5KGlucHV0LCAiRG93biIpOworICAg
IHBvcHVwV2luZG93ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21vY2stcGFnZS1wb3B1cCcp
LmNvbnRlbnRXaW5kb3c7Cit9CisKK2Z1bmN0aW9uIHNlbmRLZXkoaW5wdXQsIGtleU5hbWUpIHsK
KyAgICB2YXIgZXZlbnQgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgnS2V5Ym9hcmRFdmVudCcpOwor
ICAgIGV2ZW50LmluaXRLZXlib2FyZEV2ZW50KCdrZXlkb3duJywgdHJ1ZSwgdHJ1ZSwgZG9jdW1l
bnQuZGVmYXVsdFZpZXcsIGtleU5hbWUpOworICAgIGlucHV0LmRpc3BhdGNoRXZlbnQoZXZlbnQp
OworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlL2NhbGVuZGFyLXBp
Y2tlci1rZXktb3BlcmF0aW9ucy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L2RhdGUvY2FsZW5kYXItcGlja2VyLWtleS1vcGVyYXRpb25zLWV4cGVjdGVkLnR4dAppbmRleCAw
ZDA3NTQyMjNjZDVkNDc0MTFjODM1NDgwNGFmMDkxNDBmM2M4MmRmLi43NTY5YjZlMTJiMDg0NTIx
M2MyOTQzNDY0MTRmMTI0ZTY1ZDFjNWVmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL2RhdGUvY2FsZW5kYXItcGlja2VyLWtleS1vcGVyYXRpb25zLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUvY2FsZW5kYXItcGlja2VyLWtleS1vcGVyYXRp
b25zLWV4cGVjdGVkLnR4dApAQCAtNiwzMSArNiw1NCBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RQogQ2hlY2sgdGhhdCBwYWdlIHBvcHVwIGRvZXNuJ3QgZXhpc3QgYXQgZmlyc3QuCiBQQVNTIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJtb2NrLXBhZ2UtcG9wdXAiKSBpcyBudWxsCiBDaGVjayB0
aGF0IHBhZ2UgcG9wdXAgZXhpc3RzLgotUEFTUyBwaWNrZXJXaW5kb3cucGFnZVBvcHVwQ29udHJv
bGxlci50b1N0cmluZygpIGlzICJbb2JqZWN0IFBhZ2VQb3B1cENvbnRyb2xsZXJdIgorUEFTUyBw
b3B1cFdpbmRvdy5wYWdlUG9wdXBDb250cm9sbGVyLnRvU3RyaW5nKCkgaXMgIltvYmplY3QgUGFn
ZVBvcHVwQ29udHJvbGxlcl0iCiBQQVNTIHNlbGVjdGVkRGF0ZSgpIGlzICIyMDAwLTAxLTAyIgot
UEFTUyBzZWxlY3RlZE1vbnRoWWVhcigpIGlzICIyMDAwLTAiCitQQVNTIGN1cnJlbnRNb250aCgp
IGlzICIyMDAwLTAiCiBDaGVjayB0aGF0IGFycm93IGtleXMgd29yayBwcm9wZXJseSBldmVuIHdo
ZW4gZ29pbmcgYmV0d2VlbiB3ZWVrcyBhbmQgbW9udGhzLgogUEFTUyBzZWxlY3RlZERhdGUoKSBp
cyAiMTk5OS0xMi0yNiIKLVBBU1Mgc2VsZWN0ZWRNb250aFllYXIoKSBpcyAiMjAwMC0wIgorUEFT
UyBjdXJyZW50TW9udGgoKSBpcyAiMjAwMC0wIgogUEFTUyBzZWxlY3RlZERhdGUoKSBpcyAiMjAw
MC0wMS0wMiIKLVBBU1Mgc2VsZWN0ZWRNb250aFllYXIoKSBpcyAiMTk5OS0xMSIKK1BBU1MgY3Vy
cmVudE1vbnRoKCkgaXMgIjE5OTktMTEiCiBQQVNTIHNlbGVjdGVkRGF0ZSgpIGlzICIxOTk5LTEy
LTI2IgotUEFTUyBzZWxlY3RlZE1vbnRoWWVhcigpIGlzICIyMDAwLTAiCitQQVNTIGN1cnJlbnRN
b250aCgpIGlzICIyMDAwLTAiCiBQQVNTIHNlbGVjdGVkRGF0ZSgpIGlzICIyMDAwLTAxLTAyIgot
UEFTUyBzZWxlY3RlZE1vbnRoWWVhcigpIGlzICIyMDAwLTAiCitQQVNTIGN1cnJlbnRNb250aCgp
IGlzICIyMDAwLTAiCiBQQVNTIHNlbGVjdGVkRGF0ZSgpIGlzICIxOTk5LTEyLTI2IgotUEFTUyBz
ZWxlY3RlZE1vbnRoWWVhcigpIGlzICIyMDAwLTAiCitQQVNTIGN1cnJlbnRNb250aCgpIGlzICIy
MDAwLTAiCiBQQVNTIHNlbGVjdGVkRGF0ZSgpIGlzICIyMDAwLTAxLTA4IgotUEFTUyBzZWxlY3Rl
ZE1vbnRoWWVhcigpIGlzICIxOTk5LTExIgorUEFTUyBjdXJyZW50TW9udGgoKSBpcyAiMTk5OS0x
MSIKIFBBU1Mgc2VsZWN0ZWREYXRlKCkgaXMgIjE5OTktMTItMjYiCi1QQVNTIHNlbGVjdGVkTW9u
dGhZZWFyKCkgaXMgIjIwMDAtMCIKK1BBU1MgY3VycmVudE1vbnRoKCkgaXMgIjIwMDAtMCIKK3By
ZXNzIG0KK0ZBSUwgc2VsZWN0ZWREYXRlKCkgc2hvdWxkIGJlIDIwMDAtMDEtMjYuIFdhcyAyMDAw
LTAxLTMwLgorUEFTUyBjdXJyZW50TW9udGgoKSBpcyAiMjAwMC0xIgorcHJlc3Mgc2hpZnQgKyBt
CitQQVNTIHNlbGVjdGVkRGF0ZSgpIGlzICIxOTk5LTEyLTI2IgorUEFTUyBjdXJyZW50TW9udGgo
KSBpcyAiMjAwMC0wIgorcHJlc3MgeQorUEFTUyBzZWxlY3RlZERhdGUoKSBpcyAiMjAwMC0xMi0z
MSIKK1BBU1MgY3VycmVudE1vbnRoKCkgaXMgIjIwMDEtMCIKK3ByZXNzIHNoaWZ0ICsgeQorUEFT
UyBzZWxlY3RlZERhdGUoKSBpcyAiMTk5OS0xMi0yNiIKK1BBU1MgY3VycmVudE1vbnRoKCkgaXMg
IjIwMDAtMCIKK3ByZXNzIGQKK1BBU1Mgc2VsZWN0ZWREYXRlKCkgaXMgIjIwMDktMTItMjciCitQ
QVNTIGN1cnJlbnRNb250aCgpIGlzICIyMDEwLTAiCitwcmVzcyBzaGlmdCArIGQKK1BBU1Mgc2Vs
ZWN0ZWREYXRlKCkgaXMgIjE5OTktMTItMjYiCitQQVNTIGN1cnJlbnRNb250aCgpIGlzICIyMDAw
LTAiCitQQVNTIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtb2NrLXBhZ2UtcG9wdXAiKSBpcyBu
dWxsCitQQVNTIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkYXRlIikudmFsdWUgaXMgIjE5OTkt
MTItMjYiCitQQVNTIHRlc3RUb2RheSgpIHx8IHRlc3RUb2RheSgpIGlzIHRydWUKIENoZWNrIGlm
IHRhYmJpbmcgd29ya3MuCiBQQVNTIGZvY3VzZWRFbGVtZW50KCkgaXMgIi5kYXlzLWFyZWEtY29u
dGFpbmVyIgogUEFTUyBmb2N1c2VkRWxlbWVudCgpIGlzICIudG9kYXktYnV0dG9uW3ZhbHVlPVRv
ZGF5XSIKIFBBU1MgZm9jdXNlZEVsZW1lbnQoKSBpcyAiLmNsZWFyLWJ1dHRvblt2YWx1ZT1DbGVh
cl0iCiBQQVNTIGZvY3VzZWRFbGVtZW50KCkgaXMgIi55ZWFyLW1vbnRoLWJ1dHRvblt2YWx1ZT08
PF0iCiBQQVNTIGZvY3VzZWRFbGVtZW50KCkgaXMgIi5jbGVhci1idXR0b25bdmFsdWU9Q2xlYXJd
IgorUEFTUyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibW9jay1wYWdlLXBvcHVwIikgaXMgbnVs
bAorUEFTUyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGF0ZSIpLnZhbHVlIGlzICIxOTk5LTEy
LTI2IgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCi0g
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS9jYWxlbmRhci1waWNr
ZXIta2V5LW9wZXJhdGlvbnMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS9jYWxl
bmRhci1waWNrZXIta2V5LW9wZXJhdGlvbnMuaHRtbAppbmRleCA0MTYzMzEzNTE1ZjdhZmM0ZjY0
NjJmYjNiZGYzNGMxMDMxNzgzMTQzLi4zZTg3NWZjZjZlODc3YmU4ZTNhYTdlYTJhNmJkODNhOWUw
OTM4NTU3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUvY2FsZW5kYXIt
cGlja2VyLWtleS1vcGVyYXRpb25zLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9k
YXRlL2NhbGVuZGFyLXBpY2tlci1rZXktb3BlcmF0aW9ucy5odG1sCkBAIC0yLDYgKzIsNyBAQAog
PGh0bWw+CiA8aGVhZD4KIDxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9ImNhbGVuZGFyLXBpY2tlci1jb21tb24uanMi
Pjwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHk+CiA8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KQEAg
LTksNTIgKzEwLDk2IEBACiA8aW5wdXQgdHlwZT1kYXRlIGlkPWRhdGUgdmFsdWU9IjIwMDAtMDEt
MDIiPgogPHNjcmlwdD4KIGRlc2NyaXB0aW9uKCJUZXN0cyBpZiBjYWxlbmRhciBwaWNrZXIga2V5
IGJpbmRpbmdzIHdvcmsgYXMgZXhwZWN0ZWQuIik7Ci13aW5kb3cuanNUZXN0SXNBc3luYyA9IHRy
dWU7Ci1pZiAod2luZG93LmludGVybmFscykKLSAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RW5h
YmxlTW9ja1BhZ2VQb3B1cCh0cnVlKTsKIAogZGVidWcoJ0NoZWNrIHRoYXQgcGFnZSBwb3B1cCBk
b2VzblwndCBleGlzdCBhdCBmaXJzdC4nKTsKIHNob3VsZEJlTnVsbCgnZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoIm1vY2stcGFnZS1wb3B1cCIpJyk7CiAKLXNlbmRLZXkoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ2RhdGUnKSwgJ0Rvd24nKTsKK29wZW5QaWNrZXIoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ2RhdGUnKSk7CisKK3BvcHVwV2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIs
IHRlc3QxLCBmYWxzZSk7CisKK2Z1bmN0aW9uIHRlc3QxKCkgeworICAgIHBvcHVwV2luZG93LnJl
bW92ZUV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsIHRlc3QxLCBmYWxzZSk7CiAKLXZhciBwaWNrZXJX
aW5kb3cgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbW9jay1wYWdlLXBvcHVwJykuY29udGVu
dFdpbmRvdzsKLXBpY2tlcldpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLCBmdW5jdGlv
bigpIHsKICAgICBkZWJ1ZygnQ2hlY2sgdGhhdCBwYWdlIHBvcHVwIGV4aXN0cy4nKTsKLSAgICBz
aG91bGRCZSgncGlja2VyV2luZG93LnBhZ2VQb3B1cENvbnRyb2xsZXIudG9TdHJpbmcoKScsICci
W29iamVjdCBQYWdlUG9wdXBDb250cm9sbGVyXSInKTsKKyAgICBzaG91bGRCZSgncG9wdXBXaW5k
b3cucGFnZVBvcHVwQ29udHJvbGxlci50b1N0cmluZygpJywgJyJbb2JqZWN0IFBhZ2VQb3B1cENv
bnRyb2xsZXJdIicpOwogCiAgICAgc2hvdWxkQmUoJ3NlbGVjdGVkRGF0ZSgpJywgJyIyMDAwLTAx
LTAyIicpOwotICAgIHNob3VsZEJlKCdzZWxlY3RlZE1vbnRoWWVhcigpJywgJyIyMDAwLTAiJyk7
CisgICAgc2hvdWxkQmUoJ2N1cnJlbnRNb250aCgpJywgJyIyMDAwLTAiJyk7CiAKICAgICBkZWJ1
ZygnQ2hlY2sgdGhhdCBhcnJvdyBrZXlzIHdvcmsgcHJvcGVybHkgZXZlbiB3aGVuIGdvaW5nIGJl
dHdlZW4gd2Vla3MgYW5kIG1vbnRocy4nKTsKIAogICAgIGV2ZW50U2VuZGVyLmtleURvd24oJ3Vw
QXJyb3cnKTsKICAgICBzaG91bGRCZSgnc2VsZWN0ZWREYXRlKCknLCAnIjE5OTktMTItMjYiJyk7
Ci0gICAgc2hvdWxkQmUoJ3NlbGVjdGVkTW9udGhZZWFyKCknLCAnIjIwMDAtMCInKTsKKyAgICBz
aG91bGRCZSgnY3VycmVudE1vbnRoKCknLCAnIjIwMDAtMCInKTsKICAgICAvLyBNb3ZlIGZyb20g
Zmlyc3Qgcm93IG9mIEphbnVhcnkgMjAwMCB0byBsYXN0IHJvdyBvZiBEZWNlbWJlciAxOTk5Lgog
ICAgIGV2ZW50U2VuZGVyLmtleURvd24oJ3VwQXJyb3cnKTsKICAgICBzaG91bGRCZSgnc2VsZWN0
ZWREYXRlKCknLCAnIjIwMDAtMDEtMDIiJyk7Ci0gICAgc2hvdWxkQmUoJ3NlbGVjdGVkTW9udGhZ
ZWFyKCknLCAnIjE5OTktMTEiJyk7CisgICAgc2hvdWxkQmUoJ2N1cnJlbnRNb250aCgpJywgJyIx
OTk5LTExIicpOwogICAgIAogICAgIGV2ZW50U2VuZGVyLmtleURvd24oJ2Rvd25BcnJvdycpOwog
ICAgIHNob3VsZEJlKCdzZWxlY3RlZERhdGUoKScsICciMTk5OS0xMi0yNiInKTsKLSAgICBzaG91
bGRCZSgnc2VsZWN0ZWRNb250aFllYXIoKScsICciMjAwMC0wIicpOworICAgIHNob3VsZEJlKCdj
dXJyZW50TW9udGgoKScsICciMjAwMC0wIicpOwogICAgIGV2ZW50U2VuZGVyLmtleURvd24oJ2Rv
d25BcnJvdycpOwogICAgIHNob3VsZEJlKCdzZWxlY3RlZERhdGUoKScsICciMjAwMC0wMS0wMiIn
KTsKLSAgICBzaG91bGRCZSgnc2VsZWN0ZWRNb250aFllYXIoKScsICciMjAwMC0wIicpOworICAg
IHNob3VsZEJlKCdjdXJyZW50TW9udGgoKScsICciMjAwMC0wIicpOwogCiAgICAgZXZlbnRTZW5k
ZXIua2V5RG93bigndXBBcnJvdycpOwogICAgIHNob3VsZEJlKCdzZWxlY3RlZERhdGUoKScsICci
MTk5OS0xMi0yNiInKTsKLSAgICBzaG91bGRCZSgnc2VsZWN0ZWRNb250aFllYXIoKScsICciMjAw
MC0wIicpOworICAgIHNob3VsZEJlKCdjdXJyZW50TW9udGgoKScsICciMjAwMC0wIicpOwogCiAg
ICAgLy8gTW92ZSBmcm9tIHRvcCBsZWZ0IG9mIEphbnVhcnkgMjAwMCB0byBib3R0b20gcmlnaHQg
b2YgRGVjZW1iZXIgMTk5OS4KICAgICBldmVudFNlbmRlci5rZXlEb3duKCdsZWZ0QXJyb3cnKTsK
ICAgICBzaG91bGRCZSgnc2VsZWN0ZWREYXRlKCknLCAnIjIwMDAtMDEtMDgiJyk7Ci0gICAgc2hv
dWxkQmUoJ3NlbGVjdGVkTW9udGhZZWFyKCknLCAnIjE5OTktMTEiJyk7CisgICAgc2hvdWxkQmUo
J2N1cnJlbnRNb250aCgpJywgJyIxOTk5LTExIicpOwogCiAgICAgZXZlbnRTZW5kZXIua2V5RG93
bigncmlnaHRBcnJvdycpOwogICAgIHNob3VsZEJlKCdzZWxlY3RlZERhdGUoKScsICciMTk5OS0x
Mi0yNiInKTsKLSAgICBzaG91bGRCZSgnc2VsZWN0ZWRNb250aFllYXIoKScsICciMjAwMC0wIicp
OworICAgIHNob3VsZEJlKCdjdXJyZW50TW9udGgoKScsICciMjAwMC0wIicpOworCisgICAgZGVi
dWcoInByZXNzIG0iKTsKKyAgICBldmVudFNlbmRlci5rZXlEb3duKCdtJyk7CisgICAgc2hvdWxk
QmUoJ3NlbGVjdGVkRGF0ZSgpJywgJyIyMDAwLTAxLTI2IicpOworICAgIHNob3VsZEJlKCdjdXJy
ZW50TW9udGgoKScsICciMjAwMC0xIicpOworCisgICAgZGVidWcoInByZXNzIHNoaWZ0ICsgbSIp
OworICAgIGV2ZW50U2VuZGVyLmtleURvd24oJ00nKTsKKyAgICBzaG91bGRCZSgnc2VsZWN0ZWRE
YXRlKCknLCAnIjE5OTktMTItMjYiJyk7CisgICAgc2hvdWxkQmUoJ2N1cnJlbnRNb250aCgpJywg
JyIyMDAwLTAiJyk7CisKKyAgICBkZWJ1ZygicHJlc3MgeSIpOworICAgIGV2ZW50U2VuZGVyLmtl
eURvd24oJ3knKTsKKyAgICBzaG91bGRCZSgnc2VsZWN0ZWREYXRlKCknLCAnIjIwMDAtMTItMzEi
Jyk7CisgICAgc2hvdWxkQmUoJ2N1cnJlbnRNb250aCgpJywgJyIyMDAxLTAiJyk7CisKKyAgICBk
ZWJ1ZygicHJlc3Mgc2hpZnQgKyB5Iik7CisgICAgZXZlbnRTZW5kZXIua2V5RG93bignWScpOwor
ICAgIHNob3VsZEJlKCdzZWxlY3RlZERhdGUoKScsICciMTk5OS0xMi0yNiInKTsKKyAgICBzaG91
bGRCZSgnY3VycmVudE1vbnRoKCknLCAnIjIwMDAtMCInKTsKKworICAgIGRlYnVnKCJwcmVzcyBk
Iik7CisgICAgZXZlbnRTZW5kZXIua2V5RG93bignZCcpOworICAgIHNob3VsZEJlKCdzZWxlY3Rl
ZERhdGUoKScsICciMjAwOS0xMi0yNyInKTsKKyAgICBzaG91bGRCZSgnY3VycmVudE1vbnRoKCkn
LCAnIjIwMTAtMCInKTsKKworICAgIGRlYnVnKCJwcmVzcyBzaGlmdCArIGQiKTsKKyAgICBldmVu
dFNlbmRlci5rZXlEb3duKCdEJyk7CisgICAgc2hvdWxkQmUoJ3NlbGVjdGVkRGF0ZSgpJywgJyIx
OTk5LTEyLTI2IicpOworICAgIHNob3VsZEJlKCdjdXJyZW50TW9udGgoKScsICciMjAwMC0wIicp
OworCisgICAgZXZlbnRTZW5kZXIua2V5RG93bignXG4nKTsKKyAgICBzaG91bGRCZU51bGwoJ2Rv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJtb2NrLXBhZ2UtcG9wdXAiKScpOworICAgIHNob3VsZEJl
KCdkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGF0ZSIpLnZhbHVlJywgJyIxOTk5LTEyLTI2Iicp
OworCisgICAgb3BlblBpY2tlcihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGF0ZScpKTsKKyAg
ICBwb3B1cFdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLCB0ZXN0MiwgZmFsc2UpOwor
fQorCitmdW5jdGlvbiB0ZXN0MigpIHsKKyAgICBwb3B1cFdpbmRvdy5yZW1vdmVFdmVudExpc3Rl
bmVyKCJyZXNpemUiLCB0ZXN0MiwgZmFsc2UpOworCisgICAgLy8gVGVzdCB0d2ljZSBpbiBjYXNl
IG1pZG5pZ2h0LgorICAgIHNob3VsZEJlVHJ1ZSgndGVzdFRvZGF5KCkgfHwgdGVzdFRvZGF5KCkn
KTsKIAogICAgIGRlYnVnKCdDaGVjayBpZiB0YWJiaW5nIHdvcmtzLicpOwogICAgIHNob3VsZEJl
KCdmb2N1c2VkRWxlbWVudCgpJywgJyIuZGF5cy1hcmVhLWNvbnRhaW5lciInKTsKQEAgLTY3LDI1
ICsxMTIsMzAgQEAgcGlja2VyV2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsIGZ1bmN0
aW9uKCkgewogICAgIGV2ZW50U2VuZGVyLmtleURvd24oJ1x0JywgWydzaGlmdEtleSddKTsKICAg
ICBzaG91bGRCZSgnZm9jdXNlZEVsZW1lbnQoKScsICciLmNsZWFyLWJ1dHRvblt2YWx1ZT1DbGVh
cl0iJyk7CiAKKyAgICBldmVudFNlbmRlci5rZXlEb3duKCdceDFCJyk7CisgICAgc2hvdWxkQmVO
dWxsKCdkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibW9jay1wYWdlLXBvcHVwIiknKTsKKyAgICBz
aG91bGRCZSgnZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRhdGUiKS52YWx1ZScsICciMTk5OS0x
Mi0yNiInKTsKKwogICAgIGZpbmlzaEpTVGVzdCgpOwotfSwgZmFsc2UpOworfQogCi1mdW5jdGlv
biBzZWxlY3RlZERhdGUoKSB7Ci0gICAgdmFyIGVsZW1lbnQgPSBwaWNrZXJXaW5kb3cuZG9jdW1l
bnQucXVlcnlTZWxlY3RvcigiLmRheS1zZWxlY3RlZCIpOwotICAgIGlmICghZWxlbWVudCkKLSAg
ICAgICAgcmV0dXJuIG51bGw7Ci0gICAgcmV0dXJuIGVsZW1lbnQuZGF0YXNldC5zdWJtaXRWYWx1
ZTsKK2Z1bmN0aW9uIHRlc3RUb2RheSgpIHsKKyAgICBldmVudFNlbmRlci5rZXlEb3duKCd0Jyk7
CisgICAgdmFyIG5vdyA9IG5ldyBEYXRlKCk7CisgICAgdmFyIGV4cGVjdGVkRGF0ZSA9IHNlcmlh
bGl6ZURhdGUobm93LmdldFVUQ0Z1bGxZZWFyKCksIG5vdy5nZXRVVENNb250aCgpLCBub3cuZ2V0
VVRDRGF0ZSgpKTsKKyAgICB2YXIgZXhwZWN0ZWRNb250aCA9IG5vdy5nZXRVVENGdWxsWWVhcigp
ICsgIi0iICsgbm93LmdldE1vbnRoKCk7CisgICAgcmV0dXJuIHNlbGVjdGVkRGF0ZSgpID09PSBl
eHBlY3RlZERhdGUgJiYgY3VycmVudE1vbnRoKCkgPT09IGV4cGVjdGVkTW9udGg7CiB9CiAKLWZ1
bmN0aW9uIHNlbGVjdGVkTW9udGhZZWFyKCkgewotICAgIHZhciBlbGVtZW50ID0gcGlja2VyV2lu
ZG93LmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5zZWxlY3RlZC1tb250aC15ZWFyIik7Ci0gICAg
aWYgKCFlbGVtZW50KQotICAgICAgICByZXR1cm4gbnVsbDsKLSAgICByZXR1cm4gZWxlbWVudC5k
YXRhc2V0LnZhbHVlOworZnVuY3Rpb24gc2VyaWFsaXplRGF0ZSh5ZWFyLCBtb250aCwgZGF5KSB7
CisgICAgdmFyIHllYXJTdHJpbmcgPSBTdHJpbmcoeWVhcik7CisgICAgaWYgKHllYXJTdHJpbmcu
bGVuZ3RoIDwgNCkKKyAgICAgICAgeWVhclN0cmluZyA9ICgiMDAwIiArIHllYXJTdHJpbmcpLnN1
YnN0cigtNCwgNCk7CisgICAgcmV0dXJuIHllYXJTdHJpbmcgKyAiLSIgKyAoIjAiICsgKG1vbnRo
ICsgMSkpLnN1YnN0cigtMiwgMikgKyAiLSIgKyAoIjAiICsgZGF5KS5zdWJzdHIoLTIsIDIpOwog
fQogCiBmdW5jdGlvbiBmb2N1c2VkRWxlbWVudCgpIHsKLSAgICB2YXIgZWxlbWVudCA9IHBpY2tl
cldpbmRvdy5kb2N1bWVudC5hY3RpdmVFbGVtZW50OworICAgIHZhciBlbGVtZW50ID0gcG9wdXBX
aW5kb3cuZG9jdW1lbnQuYWN0aXZlRWxlbWVudDsKICAgICBpZiAoIWVsZW1lbnQpCiAgICAgICAg
IHJldHVybiBudWxsOwogICAgIHZhciBpZGVudGlmaWVyID0gIi4iICsgZWxlbWVudC5jbGFzc05h
bWU7CkBAIC05NCwxMSArMTQ0LDYgQEAgZnVuY3Rpb24gZm9jdXNlZEVsZW1lbnQoKSB7CiAgICAg
cmV0dXJuIGlkZW50aWZpZXI7CiB9CiAKLWZ1bmN0aW9uIHNlbmRLZXkoaW5wdXQsIGtleU5hbWUp
IHsKLSAgICB2YXIgZXZlbnQgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgnS2V5Ym9hcmRFdmVudCcp
OwotICAgIGV2ZW50LmluaXRLZXlib2FyZEV2ZW50KCdrZXlkb3duJywgdHJ1ZSwgdHJ1ZSwgZG9j
dW1lbnQuZGVmYXVsdFZpZXcsIGtleU5hbWUpOwotICAgIGlucHV0LmRpc3BhdGNoRXZlbnQoZXZl
bnQpOwotfQogPC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+CiA8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL2RhdGUvY2FsZW5kYXItcGlja2VyLW1vdXNlLW9wZXJhdGlvbnMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlL2NhbGVuZGFyLXBpY2tlci1tb3VzZS1v
cGVyYXRpb25zLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lOTY3MDYzMjE1NzhjYThlNjNjOTUx
YTc4YjM5NzgyZjQ1ZWEwOWFiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9kYXRlL2NhbGVuZGFyLXBpY2tlci1tb3VzZS1vcGVyYXRpb25zLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDI2IEBACitUZXN0cyBpZiBjYWxlbmRhciBwaWNrZXIga2V5IGJpbmRpbmdzIHdv
cmsgYXMgZXhwZWN0ZWQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitDaGVjayB0
aGF0IHBhZ2UgcG9wdXAgZG9lc24ndCBleGlzdCBhdCBmaXJzdC4KK1BBU1MgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoIm1vY2stcGFnZS1wb3B1cCIpIGlzIG51bGwKK1BBU1Mgc2VsZWN0ZWREYXRl
KCkgaXMgIjIwMDAtMDEtMDIiCitQQVNTIGN1cnJlbnRNb250aCgpIGlzICIyMDAwLTAiCitDaGVj
ayB0aGF0IGhvdmVyaW5nIG92ZXIgYW4gZW50cnkgaGlnaGxpZ2h0cyBpdC4KK1BBU1Mgc2VsZWN0
ZWREYXRlKCkgaXMgIjE5OTktMTItMzEiCitQQVNTIGN1cnJlbnRNb250aCgpIGlzICIyMDAwLTAi
CitQQVNTIHNlbGVjdGVkRGF0ZSgpIGlzICIyMDAwLTAxLTA0IgorUEFTUyBjdXJyZW50TW9udGgo
KSBpcyAiMjAwMC0wIgorQ2hlY2sgdGhhdCBuYXZpZ2F0aW5nIGJldHdlZW4gbW9udGhzIG1haW50
YWlucyBzZWxlY3Rpb24gcG9zaXRpb24uCitQQVNTIHNlbGVjdGVkRGF0ZSgpIGlzICIyMDAwLTAy
LTA4IgorUEFTUyBjdXJyZW50TW9udGgoKSBpcyAiMjAwMC0xIgorQ2hlY2sgdGhhdCBtb3Zpbmcg
dGhlIG1vdXNlIG91dHNpZGUgdGhlIHBvcHVwIGRlLWhpZ2hsaWdodHMgZW50cmllcy4KK1BBU1Mg
c2VsZWN0ZWREYXRlKCkgaXMgdW5kZWZpbmVkLgorQ2hlY2sgdGhhdCBtb3VzZSBjbGljayBjbG9z
ZXMgdGhlIHBvcHVwIGFuZCBzZXRzIHRoZSB2YWx1ZS4KK1BBU1MgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoIm1vY2stcGFnZS1wb3B1cCIpIGlzIG51bGwKK1BBU1MgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImRhdGUiKS52YWx1ZSBpcyAiMjAwMC0wMi0wNSIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL2RhdGUvY2FsZW5kYXItcGlja2VyLW1vdXNlLW9wZXJhdGlvbnMuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS9jYWxlbmRhci1waWNrZXItbW91c2Utb3BlcmF0aW9u
cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjA3MGNmZDI5NTE2ODhmOTBjY2IxNWFmZDE0MGFiODQxNzY2MTk3
NTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUvY2FsZW5k
YXItcGlja2VyLW1vdXNlLW9wZXJhdGlvbnMuaHRtbApAQCAtMCwwICsxLDU2IEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvY29t
bW9uLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJjYWxlbmRhci1waWNrZXItY29tbW9uLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxpbnB1dCB0eXBlPWRhdGUgaWQ9ZGF0ZSB2YWx1ZT0i
MjAwMC0wMS0wMiI+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3RzIGlmIGNhbGVuZGFyIHBp
Y2tlciBrZXkgYmluZGluZ3Mgd29yayBhcyBleHBlY3RlZC4iKTsKKworZGVidWcoJ0NoZWNrIHRo
YXQgcGFnZSBwb3B1cCBkb2VzblwndCBleGlzdCBhdCBmaXJzdC4nKTsKK3Nob3VsZEJlTnVsbCgn
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1vY2stcGFnZS1wb3B1cCIpJyk7CisKK29wZW5QaWNr
ZXIoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RhdGUnKSk7CisKK3BvcHVwV2luZG93LmFkZEV2
ZW50TGlzdGVuZXIoInJlc2l6ZSIsIHRlc3QsIGZhbHNlKTsKKworZnVuY3Rpb24gdGVzdCgpIHsK
KyAgICBwb3B1cFdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLCB0ZXN0LCBmYWxz
ZSk7CisKKyAgICBzaG91bGRCZSgnc2VsZWN0ZWREYXRlKCknLCAnIjIwMDAtMDEtMDIiJyk7Cisg
ICAgc2hvdWxkQmUoJ2N1cnJlbnRNb250aCgpJywgJyIyMDAwLTAiJyk7CisKKyAgICBkZWJ1Zygn
Q2hlY2sgdGhhdCBob3ZlcmluZyBvdmVyIGFuIGVudHJ5IGhpZ2hsaWdodHMgaXQuJyk7CisgICAg
aG92ZXJPdmVyRWxlbWVudChwb3B1cFdpbmRvdy5kb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NO
YW1lKCJkYXkiKVs1XSk7CisgICAgc2hvdWxkQmUoJ3NlbGVjdGVkRGF0ZSgpJywgJyIxOTk5LTEy
LTMxIicpOworICAgIHNob3VsZEJlKCdjdXJyZW50TW9udGgoKScsICciMjAwMC0wIicpOworCisg
ICAgaG92ZXJPdmVyRWxlbWVudChwb3B1cFdpbmRvdy5kb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xh
c3NOYW1lKCJkYXkiKVs5XSk7CisgICAgc2hvdWxkQmUoJ3NlbGVjdGVkRGF0ZSgpJywgJyIyMDAw
LTAxLTA0IicpOworICAgIHNob3VsZEJlKCdjdXJyZW50TW9udGgoKScsICciMjAwMC0wIicpOwor
CisgICAgZGVidWcoJ0NoZWNrIHRoYXQgbmF2aWdhdGluZyBiZXR3ZWVuIG1vbnRocyBtYWludGFp
bnMgc2VsZWN0aW9uIHBvc2l0aW9uLicpOworICAgIGV2ZW50U2VuZGVyLmtleURvd24oJ20nKTsK
KyAgICBzaG91bGRCZSgnc2VsZWN0ZWREYXRlKCknLCAnIjIwMDAtMDItMDgiJyk7CisgICAgc2hv
dWxkQmUoJ2N1cnJlbnRNb250aCgpJywgJyIyMDAwLTEiJyk7CisKKyAgICBkZWJ1ZygnQ2hlY2sg
dGhhdCBtb3ZpbmcgdGhlIG1vdXNlIG91dHNpZGUgdGhlIHBvcHVwIGRlLWhpZ2hsaWdodHMgZW50
cmllcy4nKTsKKyAgICBob3Zlck92ZXJFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdk
ZXNjcmlwdGlvbicpKTsKKyAgICBzaG91bGRCZVVuZGVmaW5lZCgnc2VsZWN0ZWREYXRlKCknKTsK
KworICAgIGRlYnVnKCdDaGVjayB0aGF0IG1vdXNlIGNsaWNrIGNsb3NlcyB0aGUgcG9wdXAgYW5k
IHNldHMgdGhlIHZhbHVlLicpOworICAgIGNsaWNrRWxlbWVudChwb3B1cFdpbmRvdy5kb2N1bWVu
dC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJkYXkiKVs2XSk7CisgICAgc2hvdWxkQmVOdWxsKCdk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgibW9jay1wYWdlLXBvcHVwIiknKTsKKyAgICBzaG91bGRC
ZSgnZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRhdGUiKS52YWx1ZScsICciMjAwMC0wMi0wNSIn
KTsKKworICAgIGZpbmlzaEpTVGVzdCgpOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+CisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvcmVzb3VyY2VzL2NvbW1vbi5qcyBiL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvcmVzb3VyY2VzL2NvbW1vbi5qcwppbmRleCAwNjYzY2UzYzEw
MGQwM2I3MDMzNWZhNTMzMDcwOTUzM2YyZmYwNWQyLi45Yjg1MDg5MWNmNTcyMzNhNjg4Yzc4Mjcy
MTk5YjUyMzhkMzkxMmExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Jlc291
cmNlcy9jb21tb24uanMKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9yZXNvdXJjZXMvY29t
bW9uLmpzCkBAIC0xMTksMyArMTE5LDM1IEBAIGZ1bmN0aW9uIG1vdXNlTW92ZVRvSW5kZXhJbkxp
c3Rib3goaW5kZXgsIGxpc3Rib3hJZCkgewogZnVuY3Rpb24gZ2V0VXNlckFnZW50U2hhZG93VGV4
dENvbnRlbnQoZWxlbWVudCkgewogICAgIHJldHVybiBpbnRlcm5hbHMueW91bmdlc3RTaGFkb3dS
b290KGVsZW1lbnQpLnRleHRDb250ZW50OwogfTsKKworZnVuY3Rpb24gY3VtdWxhdGl2ZU9mZnNl
dChlbGVtZW50KSB7CisgICAgdmFyIHggPSAwOworICAgIHZhciB5ID0gMDsKKyAgICB2YXIgcGFy
ZW50RnJhbWUgPSBlbGVtZW50Lm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXcuZnJhbWVFbGVtZW50
OworICAgIGlmIChwYXJlbnRGcmFtZSkgeworICAgICAgICB2YXIgcGFyZW50RnJhbWVPZmZzZXQg
PSBjdW11bGF0aXZlT2Zmc2V0KHBhcmVudEZyYW1lKTsKKyAgICAgICAgeCA9IHBhcmVudEZyYW1l
T2Zmc2V0WzBdOworICAgICAgICB5ID0gcGFyZW50RnJhbWVPZmZzZXRbMV07CisgICAgfQorICAg
IGlmIChlbGVtZW50LnBhcmVudE5vZGUpIHsKKyAgICAgICAgZG8geworICAgICAgICAgICAgeCAr
PSBlbGVtZW50Lm9mZnNldExlZnQgfHwgMDsKKyAgICAgICAgICAgIHkgKz0gZWxlbWVudC5vZmZz
ZXRUb3AgIHx8IDA7CisgICAgICAgICAgICBlbGVtZW50ID0gZWxlbWVudC5vZmZzZXRQYXJlbnQ7
CisgICAgICAgIH0gd2hpbGUgKGVsZW1lbnQpOworICAgIH0KKyAgICByZXR1cm4gW3gsIHldOwor
fQorCitmdW5jdGlvbiBob3Zlck92ZXJFbGVtZW50KGVsZW1lbnQpIHsKKyAgICB2YXIgb2Zmc2V0
ID0gY3VtdWxhdGl2ZU9mZnNldChlbGVtZW50KTsKKyAgICB2YXIgY2VudGVyWCA9IG9mZnNldFsw
XSArIGVsZW1lbnQub2Zmc2V0V2lkdGggLyAyOworICAgIHZhciBjZW50ZXJZID0gb2Zmc2V0WzFd
ICsgZWxlbWVudC5vZmZzZXRIZWlnaHQgLyAyOworICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRv
KGNlbnRlclgsIGNlbnRlclkpOworfQorCitmdW5jdGlvbiBjbGlja0VsZW1lbnQoZWxlbWVudCkg
eworICAgIGhvdmVyT3ZlckVsZW1lbnQoZWxlbWVudCk7CisgICAgZXZlbnRTZW5kZXIubW91c2VE
b3duKCk7CisgICAgZXZlbnRTZW5kZXIubW91c2VVcCgpOworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9mb3Jtcy9kYXRlL2RhdGUtc3VnZ2VzdGlvbi1w
aWNrZXItbW91c2Utb3BlcmF0aW9ucy5odG1sIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vZmFzdC9mb3Jtcy9kYXRlL2RhdGUtc3VnZ2VzdGlvbi1waWNrZXItbW91c2Utb3BlcmF0aW9u
cy5odG1sCmluZGV4IDc5NjE5YTE3ZWQ5NzMxMzczOTUxODdiYTQ4ZmRkMzk4ZmUxNDZjOTcuLjI4
MzNkMDdlNGY0YTFlODc0YTEwNDEwZDM2M2UzODRhM2NlMTExYWQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvZm9ybXMvZGF0ZS9kYXRlLXN1Z2dlc3Rpb24t
cGlja2VyLW1vdXNlLW9wZXJhdGlvbnMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS9mYXN0L2Zvcm1zL2RhdGUvZGF0ZS1zdWdnZXN0aW9uLXBpY2tlci1tb3VzZS1vcGVy
YXRpb25zLmh0bWwKQEAgLTIsNiArMiw3IEBACiA8aHRtbD4KIDxoZWFkPgogPHNjcmlwdCBzcmM9
Ii4uLy4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi8uLi9mYXN0L2Zvcm1zL3Jlc291cmNlcy9jb21t
b24uanMiPjwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHkgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6
ICNiYmJiYmI7Ij4KIDxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgpAQCAtMTI0LDM4ICsxMjUsNiBA
QCBmdW5jdGlvbiBoaWdobGlnaHRlZEVudHJ5KCkgewogICAgIHJldHVybiBudWxsOwogfQogCi1m
dW5jdGlvbiBjdW11bGF0aXZlT2Zmc2V0KGVsZW1lbnQpIHsKLSAgICB2YXIgeCA9IDA7Ci0gICAg
dmFyIHkgPSAwOwotICAgIHZhciBwYXJlbnRGcmFtZSA9IGVsZW1lbnQub3duZXJEb2N1bWVudC5k
ZWZhdWx0Vmlldy5mcmFtZUVsZW1lbnQ7Ci0gICAgaWYgKHBhcmVudEZyYW1lKSB7Ci0gICAgICAg
IHZhciBwYXJlbnRGcmFtZU9mZnNldCA9IGN1bXVsYXRpdmVPZmZzZXQocGFyZW50RnJhbWUpOwot
ICAgICAgICB4ID0gcGFyZW50RnJhbWVPZmZzZXRbMF07Ci0gICAgICAgIHkgPSBwYXJlbnRGcmFt
ZU9mZnNldFsxXTsKLSAgICB9Ci0gICAgaWYgKGVsZW1lbnQucGFyZW50Tm9kZSkgewotICAgICAg
ICBkbyB7Ci0gICAgICAgICAgICB4ICs9IGVsZW1lbnQub2Zmc2V0TGVmdCB8fCAwOwotICAgICAg
ICAgICAgeSArPSBlbGVtZW50Lm9mZnNldFRvcCAgfHwgMDsKLSAgICAgICAgICAgIGVsZW1lbnQg
PSBlbGVtZW50Lm9mZnNldFBhcmVudDsKLSAgICAgICAgfSB3aGlsZSAoZWxlbWVudCk7Ci0gICAg
fQotICAgIHJldHVybiBbeCwgeV07Ci19Ci0KLWZ1bmN0aW9uIGhvdmVyT3ZlckVsZW1lbnQoZWxl
bWVudCkgewotICAgIHZhciBvZmZzZXQgPSBjdW11bGF0aXZlT2Zmc2V0KGVsZW1lbnQpOwotICAg
IHZhciBjZW50ZXJYID0gb2Zmc2V0WzBdICsgZWxlbWVudC5vZmZzZXRXaWR0aCAvIDI7Ci0gICAg
dmFyIGNlbnRlclkgPSBvZmZzZXRbMV0gKyBlbGVtZW50Lm9mZnNldEhlaWdodCAvIDI7Ci0gICAg
ZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oY2VudGVyWCwgY2VudGVyWSk7Ci19Ci0KLWZ1bmN0aW9u
IGNsaWNrRWxlbWVudChlbGVtZW50KSB7Ci0gICAgaG92ZXJPdmVyRWxlbWVudChlbGVtZW50KTsK
LSAgICBldmVudFNlbmRlci5tb3VzZURvd24oKTsKLSAgICBldmVudFNlbmRlci5tb3VzZVVwKCk7
Ci19Ci0KIGZ1bmN0aW9uIHNlbmRNb3VzZWRvd24oZWxlbWVudCkgewogICAgIHZhciBldmVudCA9
IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdNb3VzZUV2ZW50Jyk7CiAgICAgZXZlbnQuaW5pdEV2ZW50
KCdjbGljaycsIHRydWUsIHRydWUpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Z3RrL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVj
dGF0aW9ucwppbmRleCAyY2E1ZGRiYWYyNTUxM2UwZGQ3YjQ5NjcxODBkZDA4N2Q0Y2U4NzdkLi45
Y2FiYmRhNDYzYTk1ZDMzMDVkNWZkYmYzMTNkYWI2Y2M3NDNkOTgyIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMjAwLDYgKzIwMCw3IEBAIHdlYmtpdC5v
cmcvYi8yOTM1OSBmYXN0L2Zvcm1zL2RhdGUvY2FsZW5kYXItcGlja2VyLWFwcGVhcmFuY2UtcHJl
LTEwMC5odG1sIFsgU2tpCiB3ZWJraXQub3JnL2IvMjkzNTkgZmFzdC9mb3Jtcy9kYXRlL2NhbGVu
ZGFyLXBpY2tlci1hcHBlYXJhbmNlLXdpdGgtc3RlcC5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3Jn
L2IvMjkzNTkgZmFzdC9mb3Jtcy9kYXRlL2NhbGVuZGFyLXBpY2tlci1hcHBlYXJhbmNlLmh0bWwg
WyBTa2lwIF0KIHdlYmtpdC5vcmcvYi8yOTM1OSBmYXN0L2Zvcm1zL2RhdGUvY2FsZW5kYXItcGlj
a2VyLWtleS1vcGVyYXRpb25zLmh0bWwgWyBTa2lwIF0KK3dlYmtpdC5vcmcvYi8yOTM1OSBmYXN0
L2Zvcm1zL2RhdGUvY2FsZW5kYXItcGlja2VyLW1vdXNlLW9wZXJhdGlvbnMuaHRtbCBbIFNraXAg
XQogd2Via2l0Lm9yZy9iLzI5MzU5IGZhc3QvZm9ybXMvZGF0ZS9jYWxlbmRhci1waWNrZXItdHlw
ZS1jaGFuZ2Utb25jbGljay5odG1sIFsgUGFzcyBdCiB3ZWJraXQub3JnL2IvMjkzNTkgZmFzdC9m
b3Jtcy9kYXRlL2RhdGUtc3RlcHVwLXN0ZXBkb3duLWZyb20tcmVuZGVyZXIuaHRtbCBbIFBhc3Mg
XQogd2Via2l0Lm9yZy9iLzI5MzU5IGZhc3QvZm9ybXMvZGF0ZS9uby1wYWdlLXBvcHVwLWNvbnRy
b2xsZXIuaHRtbCBbIFBhc3MgXQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>