<?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>77503</bug_id>
          
          <creation_ts>2012-01-31 19:53:52 -0800</creation_ts>
          <short_desc>[meta] Element should be able to have multiple shadow roots.</short_desc>
          <delta_ts>2012-05-30 18:55:25 -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>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>77930</dependson>
    
    <dependson>77931</dependson>
    
    <dependson>77935</dependson>
    
    <dependson>77938</dependson>
    
    <dependson>78596</dependson>
    
    <dependson>79008</dependson>
    
    <dependson>79221</dependson>
    
    <dependson>79342</dependson>
    
    <dependson>79854</dependson>
          <blocked>76433</blocked>
    
    <blocked>77499</blocked>
    
    <blocked>77595</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Shinya Kawanaka">shinyak</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>dominicc</cc>
    
    <cc>hayato</cc>
    
    <cc>morrita</cc>
    
    <cc>shinyak</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>546753</commentid>
    <comment_count>0</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-01-31 19:53:52 -0800</bug_when>
    <thetext>When inserting shadow root (A) into an element having another shadow root (B),

Host should have a link to (A),
and (A) should have a link to (B),
and (A) and (B) should have a link to the host.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>546834</commentid>
    <comment_count>1</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-01-31 23:41:33 -0800</bug_when>
    <thetext>As a first step, we want to have just an ability to have multiple shadow root. In this step, we don&apos;t consider how elements having multiple shadow roots are rendered.

Note that some kinds of elements have shadow tree by own. We should decline to add shadow root in such elements.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>547115</commentid>
    <comment_count>2</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2012-02-01 09:14:45 -0800</bug_when>
    <thetext>(In reply to comment #1)
&gt; Note that some kinds of elements have shadow tree by own. We should decline to add shadow root in such elements.

Why? A large reason of introducing multiple shadow subtrees per element is to _allow_ overriding shadow DOM of an element with a &quot;built-in&quot; shadow subtree. Can you explain what pitfalls I am not seeing here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>547510</commentid>
    <comment_count>3</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-02-01 17:18:45 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (In reply to comment #1)
&gt; &gt; Note that some kinds of elements have shadow tree by own. We should decline to add shadow root in such elements.
&gt; 
&gt; Why? A large reason of introducing multiple shadow subtrees per element is to _allow_ overriding shadow DOM of an element with a &quot;built-in&quot; shadow subtree. Can you explain what pitfalls I am not seeing here?

Ah... Sorry, I didn&apos;t understand the motivation of multiple shadow subtrees. I was afraid that a user breaks current input implementation...

OK. That being the case, I don&apos;t have any reason to prevent overriding &quot;built-in&quot; shadow subtree.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>547592</commentid>
    <comment_count>4</comment_count>
      <attachid>125066</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-02-01 19:56:10 -0800</bug_when>
    <thetext>Created attachment 125066
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>635627</commentid>
    <comment_count>5</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-05-28 23:41:17 -0700</bug_when>
    <thetext>All subbugs are landed. closing.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>125066</attachid>
            <date>2012-02-01 19:56:10 -0800</date>
            <delta_ts>2012-02-06 20:56:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-77503-20120202125609.patch</filename>
            <type>text/plain</type>
            <size>19004</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2NTEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2E5ZDQ5OWM0YzQ3YWY0
YjBiMjJlMjdiMWVhYmQ4NzliN2Y4MmUzMS4uOGQ1ZTY1ZmVjNWFiZTA0Njg4NGJiODZmM2EwYTU4
OWNlODg0MjZiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDEyLTAyLTAxICBTaGlu
eWEgS2F3YW5ha2EgIDxzaGlueWFrQGdvb2dsZS5jb20+CisKKyAgICAgICAgRWxlbWVudCBzaG91
bGQgYmUgYWJsZSB0byBoYXZlIG11bHRpcGxlIHNoYWRvdyByb290cy4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc3NTAzCisKKyAgICAgICAgU3VwcG9y
dHMgbXVsdGlwbGUgc2hhZG93IHJvb3RzLgorICAgICAgICBUbyBzdXBwb3J0IG11bHRpcGxlIHNo
YWRvdyByb290cywgd2UgYWRkIGEgbGluayB0byBhbiBvbGRlciBzaGFkb3cgcm9vdCBpbiBhIHNo
YWRvdyByb290IG9iamVjdC4KKyAgICAgICAgQWxzbywgd2UgaW1wbGVtZW50IG1ldGhvZHMgdG8g
cHVzaC9wb3AgaW4gc2hhZG93IHJvb3Qgb2JqZWN0LgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IGZhc3QvZG9tL3NoYWRvdy9tdWx0aXBsZS1z
aGFkb3cuaHRtbAorCisgICAgICAgICogZG9tL0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RWxlbWVudDo6cHVzaFNoYWRvd1Jvb3QpOgorICAgICAgICAgIEFkZHMgYSBuZXcgc2hhZG93
IHJvb3QuCisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjplbnN1cmVTaGFkb3dSb290KToKKyAg
ICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OnJlbW92ZVNoYWRvd1Jvb3QpOgorICAgICAgICAgIFJl
bW92ZXMgYWxsIHNoYWRvdyByb290cy4KKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OnBvcFNo
YWRvd1Jvb3QpOgorICAgICAgICAgIFJlbW92ZXMgdGhlIHlvdW5nZXN0IHNoYWRvdyByb290IGlm
IGFueS4KKyAgICAgICAgKiBkb20vRWxlbWVudC5oOgorICAgICAgICAoRWxlbWVudCk6CisgICAg
ICAgICogZG9tL1NoYWRvd1Jvb3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93Um9vdDo6
Y3JlYXRlKToKKyAgICAgICAgKiBkb20vU2hhZG93Um9vdC5oOgorICAgICAgICAoV2ViQ29yZTo6
U2hhZG93Um9vdDo6b2xkZXJTaGFkb3dSb290KToKKyAgICAgICAgICBUYWtlcyBhbiBvbGRlciBz
aGFkb3cgcm9vdCBvZiBzaGFkb3cgcm9vdCBvYmplY3QuCisgICAgICAgIChXZWJDb3JlOjpTaGFk
b3dSb290OjpzZXRPbGRlclNoYWRvd1Jvb3QpOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxz
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6YWRkcmVzcyk6CisgICAgICAgICAg
U2luY2UgSlMgd3JhcHBlciBvZiBzaGFkb3cgcm9vdCBpcyBkZWZmZXJlbmNlIGJldHdlZW4gbmV3
IFdlYktpdFNoYWRvd1Jvb3QgYW5kIGludGVybmFscy5zaGFkb3dSb290KCksCisgICAgICAgICAg
d2UgYWRkIGEgbWV0aG9kIHRvIGdldCBpdHMgaW50ZXJuYWxzIGFkZHJlc3MuIFVzaW5nIHRoaXMs
IHdlIGNhbiBjb21wYXJlIHRoZW0gZXZlbiBpZiBKUyB3cmFwcGVyIGlzIGRpZmZlcmVudC4KKyAg
ICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6b2xkZXJTaGFkb3dSb290KToKKyAgICAgICAgKiB0
ZXN0aW5nL0ludGVybmFscy5oOgorICAgICAgICAoSW50ZXJuYWxzKToKKyAgICAgICAgKiB0ZXN0
aW5nL0ludGVybmFscy5pZGw6CisKIDIwMTItMDItMDEgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFw
cGxlLmNvbT4KIAogICAgICAgICBXZWJDb3JlIHBhcnQgb2YgPHJkYXI6Ly9wcm9ibGVtLzEwNDQy
NjYzPiBQYWdpbmF0ZWQgZGlzcGxheSBkb2VzIG5vdCByZXNwZWN0IHBhZ2UtYnJlYWste2JlZm9y
ZSxhZnRlcn0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAppbmRleCA5MWQ4NjYzYWMwNThjYTkwMjQ0ZTNi
YWQ5ZDU0NTBkMDFlNmI1MzAxLi5hMDM2NTA2NTdkMDUwM2U0MWFlYzcyNWZlZmNmNDdjMThjZTU3
NTBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCkBAIC0xMTc5LDE2ICsxMTc5LDE3IEBAIHN0YXRp
YyBib29sIHZhbGlkYXRlU2hhZG93Um9vdChEb2N1bWVudCogZG9jdW1lbnQsIFNoYWRvd1Jvb3Qq
IHNoYWRvd1Jvb3QsIEV4Y2VwCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLXZvaWQgRWxlbWVudDo6
c2V0U2hhZG93Um9vdChQYXNzUmVmUHRyPFNoYWRvd1Jvb3Q+IHBycFNoYWRvd1Jvb3QsIEV4Y2Vw
dGlvbkNvZGUmIGVjKQordm9pZCBFbGVtZW50OjpwdXNoU2hhZG93Um9vdChQYXNzUmVmUHRyPFNo
YWRvd1Jvb3Q+IHBycFNoYWRvd1Jvb3QsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIFJlZlB0
cjxTaGFkb3dSb290PiBzaGFkb3dSb290ID0gcHJwU2hhZG93Um9vdDsKICAgICBpZiAoIXZhbGlk
YXRlU2hhZG93Um9vdChkb2N1bWVudCgpLCBzaGFkb3dSb290LmdldCgpLCBlYykpCiAgICAgICAg
IHJldHVybjsKIAotICAgIHJlbW92ZVNoYWRvd1Jvb3QoKTsKLQorICAgIFNoYWRvd1Jvb3QqIG9s
ZGVyU2hhZG93Um9vdCA9IGVuc3VyZVJhcmVEYXRhKCktPm1fc2hhZG93Um9vdDsKICAgICBlbnN1
cmVSYXJlRGF0YSgpLT5tX3NoYWRvd1Jvb3QgPSBzaGFkb3dSb290LmdldCgpOwogICAgIHNoYWRv
d1Jvb3QtPnNldFNoYWRvd0hvc3QodGhpcyk7CisgICAgc2hhZG93Um9vdC0+c2V0T2xkZXJTaGFk
b3dSb290KG9sZGVyU2hhZG93Um9vdCk7CisKICAgICBpZiAoaW5Eb2N1bWVudCgpKQogICAgICAg
ICBzaGFkb3dSb290LT5pbnNlcnRlZEludG9Eb2N1bWVudCgpOwogICAgIGlmIChhdHRhY2hlZCgp
KSB7CkBAIC0xMjA0LDE5ICsxMjA1LDI3IEBAIFNoYWRvd1Jvb3QqIEVsZW1lbnQ6OmVuc3VyZVNo
YWRvd1Jvb3QoKQogICAgICAgICByZXR1cm4gZXhpc3RpbmdSb290OwogCiAgICAgRXhjZXB0aW9u
Q29kZSBlYyA9IDA7Ci0gICAgc2V0U2hhZG93Um9vdChTaGFkb3dSb290OjpjcmVhdGUoZG9jdW1l
bnQoKSksIGVjKTsKKyAgICBwdXNoU2hhZG93Um9vdChTaGFkb3dSb290OjpjcmVhdGUoZG9jdW1l
bnQoKSksIGVjKTsKKwogICAgIEFTU0VSVCghZWMpOwogICAgIHJldHVybiBzaGFkb3dSb290KCk7
CiB9CiAKIHZvaWQgRWxlbWVudDo6cmVtb3ZlU2hhZG93Um9vdCgpCiB7CisgICAgd2hpbGUgKHNo
YWRvd1Jvb3QoKSkKKyAgICAgICAgcG9wU2hhZG93Um9vdCgpOworfQorCit2b2lkIEVsZW1lbnQ6
OnBvcFNoYWRvd1Jvb3QoKQorewogICAgIGlmICghaGFzUmFyZURhdGEoKSkKICAgICAgICAgcmV0
dXJuOwogCiAgICAgRWxlbWVudFJhcmVEYXRhKiBkYXRhID0gcmFyZURhdGEoKTsKICAgICBpZiAo
UmVmUHRyPFNoYWRvd1Jvb3Q+IG9sZFJvb3QgPSBkYXRhLT5tX3NoYWRvd1Jvb3QpIHsKLSAgICAg
ICAgZGF0YS0+bV9zaGFkb3dSb290ID0gMDsKKyAgICAgICAgZGF0YS0+bV9zaGFkb3dSb290ID0g
b2xkUm9vdC0+b2xkZXJTaGFkb3dSb290KCk7CisKICAgICAgICAgZG9jdW1lbnQoKS0+cmVtb3Zl
Rm9jdXNlZE5vZGVPZlN1YnRyZWUob2xkUm9vdC5nZXQoKSk7CiAKICAgICAgICAgLy8gUmVtb3Zl
IGZyb20gcmVuZGVyaW5nIHRyZWUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVt
ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCmluZGV4IDU0ZTE3MTYyZWIwMWJi
YzYyZjdiOGVkMmU0OGFlNjliYjMwMzE2ZDIuLjc1NWNkMDZmOWE0MmYyMDA3YzBiNjE0YWJhYmFh
NGZmMTE0ZjMyMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaApAQCAtMjM4LDggKzIzOCwxMCBAQCBwdWJs
aWM6CiAgICAgdm9pZCByZWNhbGNTdHlsZShTdHlsZUNoYW5nZSA9IE5vQ2hhbmdlKTsKIAogICAg
IFNoYWRvd1Jvb3QqIHNoYWRvd1Jvb3QoKSBjb25zdDsKLSAgICB2b2lkIHNldFNoYWRvd1Jvb3Qo
UGFzc1JlZlB0cjxTaGFkb3dSb290PiwgRXhjZXB0aW9uQ29kZSYpOwogICAgIFNoYWRvd1Jvb3Qq
IGVuc3VyZVNoYWRvd1Jvb3QoKTsKKworICAgIHZvaWQgcHVzaFNoYWRvd1Jvb3QoUGFzc1JlZlB0
cjxTaGFkb3dSb290PiwgRXhjZXB0aW9uQ29kZSYpOworICAgIHZvaWQgcG9wU2hhZG93Um9vdCgp
OwogICAgIHZvaWQgcmVtb3ZlU2hhZG93Um9vdCgpOwogCiAgICAgdmlydHVhbCBjb25zdCBBdG9t
aWNTdHJpbmcmIHNoYWRvd1BzZXVkb0lkKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vU2hhZG93Um9vdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5j
cHAKaW5kZXggMjMyMzVhMzk5MzY3ODVkYjM2NGMyM2FjYzQ3ZGM3ZmQ0Y2RkMzI4Ny4uOGZiNGE1
YTY5MzYwYjkwOTA5MTI2ODA5YjE3YWZhZmZhNmMwOTg5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL1NoYWRvd1Jvb3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dS
b290LmNwcApAQCAtNTYsMTIgKzU2LDEzIEBAIFNoYWRvd1Jvb3Q6On5TaGFkb3dSb290KCkKIAog
UGFzc1JlZlB0cjxTaGFkb3dSb290PiBTaGFkb3dSb290OjpjcmVhdGUoRWxlbWVudCogZWxlbWVu
dCwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7Ci0gICAgaWYgKCFlbGVtZW50IHx8IGVsZW1lbnQtPnNo
YWRvd1Jvb3QoKSkgeworICAgIGlmICghZWxlbWVudCkgewogICAgICAgICBlYyA9IEhJRVJBUkNI
WV9SRVFVRVNUX0VSUjsKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQorCiAgICAgUmVmUHRyPFNo
YWRvd1Jvb3Q+IHNoYWRvd1Jvb3QgPSBjcmVhdGUoZWxlbWVudC0+ZG9jdW1lbnQoKSk7Ci0gICAg
ZWxlbWVudC0+c2V0U2hhZG93Um9vdChzaGFkb3dSb290LCBlYyk7CisgICAgZWxlbWVudC0+cHVz
aFNoYWRvd1Jvb3Qoc2hhZG93Um9vdCwgZWMpOwogICAgIGlmIChlYykKICAgICAgICAgcmV0dXJu
IDA7CiAgICAgcmV0dXJuIHNoYWRvd1Jvb3QucmVsZWFzZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290
LmgKaW5kZXggYmI1NzM0Y2JkYmM3YmI2YWFiY2E2MDE0NTNjN2MwNzJmODM0NjFmMS4uNTk1YjA0
ZjEyNzYyOGZkNzQ0ZjUzYWU1NjcxZDNjOGJjZDcwNTZkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL1NoYWRvd1Jvb3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9v
dC5oCkBAIC02Miw2ICs2Miw5IEBAIHB1YmxpYzoKICAgICBDb250ZW50SW5jbHVzaW9uU2VsZWN0
b3IqIGluY2x1c2lvbnMoKSBjb25zdDsKICAgICBDb250ZW50SW5jbHVzaW9uU2VsZWN0b3IqIGVu
c3VyZUluY2x1c2lvbnMoKTsKIAorICAgIFNoYWRvd1Jvb3QqIG9sZGVyU2hhZG93Um9vdCgpIGNv
bnN0OworICAgIHZvaWQgc2V0T2xkZXJTaGFkb3dSb290KFNoYWRvd1Jvb3QqKTsKKwogcHJpdmF0
ZToKICAgICBTaGFkb3dSb290KERvY3VtZW50Kik7CiAgICAgdmlydHVhbCB+U2hhZG93Um9vdCgp
OwpAQCAtNzYsNiArNzksNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9hcHBseUF1dGhvclNoZWV0
cyA6IDE7CiAgICAgYm9vbCBtX25lZWRzUmVjYWxjdWxhdGVDb250ZW50IDogMTsKICAgICBPd25Q
dHI8Q29udGVudEluY2x1c2lvblNlbGVjdG9yPiBtX2luY2x1c2lvbnM7CisgICAgU2hhZG93Um9v
dCogbV9vbGRlclNoYWRvd1Jvb3Q7CiB9OwogCiBpbmxpbmUgUGFzc1JlZlB0cjxTaGFkb3dSb290
PiBTaGFkb3dSb290OjpjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50KQpAQCAtOTMsNiArOTcsMTcg
QEAgaW5saW5lIGJvb2wgU2hhZG93Um9vdDo6bmVlZHNSZWF0dGFjaEhvc3RDaGlsZHJlbkFuZFNo
YWRvdygpCiAgICAgcmV0dXJuIG1fbmVlZHNSZWNhbGN1bGF0ZUNvbnRlbnQgfHwgaGFzQ29udGVu
dEVsZW1lbnQoKTsKIH0KIAoraW5saW5lIFNoYWRvd1Jvb3QqIFNoYWRvd1Jvb3Q6Om9sZGVyU2hh
ZG93Um9vdCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fb2xkZXJTaGFkb3dSb290OworfQorCitp
bmxpbmUgdm9pZCBTaGFkb3dSb290OjpzZXRPbGRlclNoYWRvd1Jvb3QoU2hhZG93Um9vdCogc2hh
ZG93Um9vdCkKK3sKKyAgICBBU1NFUlQoIXNoYWRvd1Jvb3QgfHwgc2hhZG93Um9vdC0+aG9zdCgp
ID09IGhvc3QoKSk7CisgICAgbV9vbGRlclNoYWRvd1Jvb3QgPSBzaGFkb3dSb290OworfQorCiBp
bmxpbmUgU2hhZG93Um9vdCogdG9TaGFkb3dSb290KE5vZGUqIG5vZGUpCiB7CiAgICAgQVNTRVJU
KCFub2RlIHx8IG5vZGUtPm5vZGVUeXBlKCkgPT0gTm9kZTo6U0hBRE9XX1JPT1RfTk9ERSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXggMTcwOWE5ZjRjM2ZlMTMxZmVmN2Zl
MDViZDExNjI5YTM2MjBmNzk2OC4uMTU5MmJiNTc0NzA5YWMyZDNjNTA4YmEyM2E2Y2Q0NzI1YmIy
NTcwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtMTczLDYgKzE3Mywx
NCBAQCBTdHJpbmcgSW50ZXJuYWxzOjplbGVtZW50UmVuZGVyVHJlZUFzVGV4dChFbGVtZW50KiBl
bGVtZW50LCBFeGNlcHRpb25Db2RlJiBlYykKICAgICByZXR1cm4gcmVwcmVzZW50YXRpb247CiB9
CiAKK1N0cmluZyBJbnRlcm5hbHM6OmFkZHJlc3MoTm9kZSogbm9kZSkKK3sKKyAgICBjaGFyIGJ1
ZlszMl07CisgICAgc3ByaW50ZihidWYsICIlcCIsIG5vZGUpOworCisgICAgcmV0dXJuIFN0cmlu
ZyhidWYpOworfQorCiBzaXplX3QgSW50ZXJuYWxzOjpudW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNo
aWxkcmVuKGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQsIEV4Y2VwdGlvbkNvZGUmIGVjKSBjb25zdAog
ewogICAgIGlmIChlbGVtZW50KQpAQCAtMjA2LDYgKzIxNCwxNiBAQCBJbnRlcm5hbHM6OlNoYWRv
d1Jvb3RJZlNoYWRvd0RPTUVuYWJsZWRPck5vZGUqIEludGVybmFsczo6c2hhZG93Um9vdChFbGVt
ZW50KiBobwogICAgIHJldHVybiBob3N0LT5zaGFkb3dSb290KCk7CiB9CiAKK0ludGVybmFsczo6
U2hhZG93Um9vdElmU2hhZG93RE9NRW5hYmxlZE9yTm9kZSogSW50ZXJuYWxzOjpvbGRlclNoYWRv
d1Jvb3QoTm9kZSogc2hhZG93Um9vdCwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgaWYgKCFz
aGFkb3dSb290IHx8ICFzaGFkb3dSb290LT5pc1NoYWRvd1Jvb3QoKSkgeworICAgICAgICBlYyA9
IElOVkFMSURfQUNDRVNTX0VSUjsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCisgICAgcmV0
dXJuIHRvU2hhZG93Um9vdChzaGFkb3dSb290KS0+b2xkZXJTaGFkb3dSb290KCk7Cit9CisKIHZv
aWQgSW50ZXJuYWxzOjpyZW1vdmVTaGFkb3dSb290KEVsZW1lbnQqIGhvc3QsIEV4Y2VwdGlvbkNv
ZGUmIGVjKQogewogICAgIGlmICghaG9zdCkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgK
aW5kZXggZjFkMmZiMmMyMGU2OTdmZTYyN2U4ZjFkODkwMmVjZDFiMzIxMGMyOS4uNWYyOGY0Mjk5
YzM5Y2JlMWFhY2NjMzNlNjAxMDMxYTFmMTk5MTg1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5oCkBAIC01NCw2ICs1NCw4IEBAIHB1YmxpYzoKIAogICAgIFN0cmluZyBlbGVtZW50UmVu
ZGVyVHJlZUFzVGV4dChFbGVtZW50KiwgRXhjZXB0aW9uQ29kZSYpOwogCisgICAgU3RyaW5nIGFk
ZHJlc3MoTm9kZSopOworCiAgICAgYm9vbCBpc1ByZWxvYWRlZChEb2N1bWVudCosIGNvbnN0IFN0
cmluZyYgdXJsKTsKIAogICAgIHNpemVfdCBudW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVu
KGNvbnN0IEVsZW1lbnQqLCBFeGNlcHRpb25Db2RlJikgY29uc3Q7CkBAIC02NSw2ICs2Nyw3IEBA
IHB1YmxpYzoKICNlbmRpZgogICAgIFNoYWRvd1Jvb3RJZlNoYWRvd0RPTUVuYWJsZWRPck5vZGUq
IGVuc3VyZVNoYWRvd1Jvb3QoRWxlbWVudCogaG9zdCwgRXhjZXB0aW9uQ29kZSYpOwogICAgIFNo
YWRvd1Jvb3RJZlNoYWRvd0RPTUVuYWJsZWRPck5vZGUqIHNoYWRvd1Jvb3QoRWxlbWVudCogaG9z
dCwgRXhjZXB0aW9uQ29kZSYpOworICAgIFNoYWRvd1Jvb3RJZlNoYWRvd0RPTUVuYWJsZWRPck5v
ZGUqIG9sZGVyU2hhZG93Um9vdChOb2RlKiBzaGFkb3dSb290LCBFeGNlcHRpb25Db2RlJik7CiAg
ICAgdm9pZCByZW1vdmVTaGFkb3dSb290KEVsZW1lbnQqIGhvc3QsIEV4Y2VwdGlvbkNvZGUmKTsK
ICAgICBFbGVtZW50KiBpbmNsdWRlckZvcihOb2RlKiwgRXhjZXB0aW9uQ29kZSYpOwogICAgIFN0
cmluZyBzaGFkb3dQc2V1ZG9JZChFbGVtZW50KiwgRXhjZXB0aW9uQ29kZSYpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsIGIvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuaWRsCmluZGV4IDE0NWFhNmU1M2QzZTM5ZDA1NWU5MzZhMjVhNDFh
M2MyNWQyYmNlZjAuLmUxZTNiM2JkYjI2NDAxMzA5MTg5ZmI2NDM1ODEwYWY4YjQ3NjVjYzMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKQEAgLTMwLDE0ICszMCwxOCBAQCBtb2R1
bGUgd2luZG93IHsKICAgICAgICAgRE9NU3RyaW5nIGVsZW1lbnRSZW5kZXJUcmVlQXNUZXh0KGlu
IEVsZW1lbnQgZWxlbWVudCkgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAgICAgICAgIGJvb2xlYW4g
aXNQcmVsb2FkZWQoaW4gRG9jdW1lbnQgZG9jdW1lbnQsIGluIERPTVN0cmluZyB1cmwpOwogCisg
ICAgICAgIERPTVN0cmluZyBhZGRyZXNzKGluIE5vZGUgbm9kZSk7CisKICAgICAgICAgdW5zaWdu
ZWQgbG9uZyBudW1iZXJPZlNjb3BlZEhUTUxTdHlsZUNoaWxkcmVuKGluIEVsZW1lbnQgZWxlbWVu
dCkgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAKICNpZiBkZWZpbmVkKEVOQUJMRV9TSEFET1dfRE9N
KQogICAgICAgICBTaGFkb3dSb290IGVuc3VyZVNoYWRvd1Jvb3QoaW4gRWxlbWVudCBob3N0KSBy
YWlzZXMgKERPTUV4Y2VwdGlvbik7CiAgICAgICAgIFNoYWRvd1Jvb3Qgc2hhZG93Um9vdChpbiBF
bGVtZW50IGhvc3QpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKKyAgICAgICAgU2hhZG93Um9vdCBv
bGRlclNoYWRvd1Jvb3QoaW4gTm9kZSBzaGFkb3dSb290KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7
CiAjZWxzZQogICAgICAgICBOb2RlIGVuc3VyZVNoYWRvd1Jvb3QoaW4gRWxlbWVudCBob3N0KSBy
YWlzZXMgKERPTUV4Y2VwdGlvbik7CiAgICAgICAgIE5vZGUgc2hhZG93Um9vdChpbiBFbGVtZW50
IGhvc3QpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKKyAgICAgICAgTm9kZSBvbGRlclNoYWRvd1Jv
b3QoaW4gTm9kZSBzaGFkb3dSb290KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CiAjZW5kaWYKICAg
ICAgICAgRWxlbWVudCBpbmNsdWRlckZvcihpbiBOb2RlIG5vZGUpIHJhaXNlcyAoRE9NRXhjZXB0
aW9uKTsKICAgICAgICAgdm9pZCByZW1vdmVTaGFkb3dSb290KGluIEVsZW1lbnQgaG9zdCkgcmFp
c2VzIChET01FeGNlcHRpb24pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGRlYTUwY2NiZGRlMDg2M2I0ZTFiNmU4ZWM4ZGYx
ZjIwZmVjMGRhY2YuLjQzZjJiMDZjNjRmYzdkNzNlYzZmMmNhOTRkODU0ZDE2ZDU3MDFmZDkgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwyNSBAQAorMjAxMi0wMi0wMSAgU2hpbnlhIEthd2FuYWthICA8c2hpbnlh
a0Bnb29nbGUuY29tPgorCisgICAgICAgIEVsZW1lbnQgc2hvdWxkIGJlIGFibGUgdG8gaGF2ZSBt
dWx0aXBsZSBzaGFkb3cgcm9vdHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD03NzUwMworCisgICAgICAgIFRlc3RzIGZvciBtdWx0aXBsZSBzaGFkb3cg
cm9vdHMuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBmYXN0L2RvbS9zaGFkb3cvbXVsdGlwbGUtc2hhZG93LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZmFzdC9kb20vc2hhZG93L211bHRpcGxlLXNoYWRvdy5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtanMtYXBpLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtanMtYXBpLmh0bWw6CisgICAg
ICAgICAgU2luY2UgbXVsdGlwbGUgc2hhZG93IHJvb3QgaXMgc3VwcG9ydGVkLCBpdCBpcyBub3cg
bm90IHByb2hpYml0ZWQgdG8gYWRkIGEgbmV3IHNoYWRvdyByb290IGludG8gYW4gZWxlbWVudAor
ICAgICAgICAgIHdoaWNoIGFscmVhZHkgaGF2ZSBhIHNoYWRvdyByb290LiBTbyB3ZSByZW1vdmUg
dGhlIHRlc3QuIE91ciBuZXcgdGVzdCBjb3ZlcnMgYWRkaW5nIG11bHRpcGxlIHNoYWRvdyByb290
cy4KKyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS9n
dGsvU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvU2tpcHBlZDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9xdC9Ta2lwcGVkOgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9Ta2lwcGVkOgorICAg
ICAgICAqIHBsYXRmb3JtL3dpbmNhaXJvL1NraXBwZWQ6CisKIDIwMTItMDItMDEgIEdhdmluIEJh
cnJhY2xvdWdoICA8YmFycmFjbG91Z2hAYXBwbGUuY29tPgogCiAgICAgICAgIGNhbGxpbmcgZnVu
Y3Rpb24gb24gY2F0Y2ggYmxvY2sgc2NvcGUgY29udGFpbmluZyBhbiBldmFsIHJlc3VsdCBpbiB3
cm9uZyB0aGlzIHZhbHVlIGJlaW5nIHBhc3NlZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L211bHRpcGxlLXNoYWRvdy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvbXVsdGlwbGUtc2hhZG93LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45
MTVhNmZkMTY4YmYwNzNlZWYyMGU5Y2M2OGI0NzA0NmMwNTQ5YjhhCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L211bHRpcGxlLXNoYWRvdy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxNyBAQAorVGhpcyB0ZXN0IGVuc3VyZSB0aGF0IHRoZSBtdWx0aXBsZSBz
aGFkb3cgcm9vdCBpcyBhdmFpbGFibGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
CitQQVNTIGludGVybmFscy5zaGFkb3dSb290KGRpdikgaXMgbnVsbAorUEFTUyBpbnRlcm5hbHMu
YWRkcmVzcyhpbnRlcm5hbHMuc2hhZG93Um9vdChkaXYpKSBpcyBpbnRlcm5hbHMuYWRkcmVzcyhz
aGFkb3dSb290MSkKK1BBU1MgaW50ZXJuYWxzLm9sZGVyU2hhZG93Um9vdChzaGFkb3dSb290MSkg
aXMgbnVsbAorUEFTUyBpbnRlcm5hbHMuYWRkcmVzcyhpbnRlcm5hbHMuc2hhZG93Um9vdChkaXYp
KSBpcyBpbnRlcm5hbHMuYWRkcmVzcyhzaGFkb3dSb290MikKK1BBU1MgaW50ZXJuYWxzLmFkZHJl
c3MoaW50ZXJuYWxzLm9sZGVyU2hhZG93Um9vdChzaGFkb3dSb290MikpIGlzIGludGVybmFscy5h
ZGRyZXNzKHNoYWRvd1Jvb3QxKQorUEFTUyBpbnRlcm5hbHMuYWRkcmVzcyhpbnRlcm5hbHMuc2hh
ZG93Um9vdChkaXYpKSBpcyBpbnRlcm5hbHMuYWRkcmVzcyhzaGFkb3dSb290MykKK1BBU1MgaW50
ZXJuYWxzLmFkZHJlc3MoaW50ZXJuYWxzLm9sZGVyU2hhZG93Um9vdChzaGFkb3dSb290MykpIGlz
IGludGVybmFscy5hZGRyZXNzKHNoYWRvd1Jvb3QyKQorUEFTUyBpbnRlcm5hbHMuc2hhZG93Um9v
dChkaXYpIGlzIG51bGwKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvbXVsdGlw
bGUtc2hhZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvbXVsdGlwbGUtc2hh
ZG93Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uY2FmOWQ1NDU0YTY4NjczYjA3ZTA0N2I1Y2ZmNjY2MTIxNjQz
YTY5OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9tdWx0
aXBsZS1zaGFkb3cuaHRtbApAQCAtMCwwICsxLDM4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj4KKyAgPGNvbnRlbnQgaWQ9ImNvbnRl
bnQtc2ltcGxlc3QiPjwvY29udGVudD4KKzwvZGl2PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgZW5zdXJlIHRoYXQgdGhlIG11bHRpcGxlIHNoYWRvdyByb290IGlzIGF2YWlsYWJs
ZS4iKTsKKwordmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworc2hvdWxk
QmUoImludGVybmFscy5zaGFkb3dSb290KGRpdikiLCAibnVsbCIpOworCisvLyBDdXJyZW50bHkg
aW50ZXJuYWxzLnNoYWRvd1Jvb3QoZGl2KSBhbmQgc2hhZG93Um9vdDEgYXJlIGRpZmZlcmVudCBK
UyB3cmFwcGVycywKKy8vIHNvIGludGVybmFscy5zaGFkb3dSb290KGRpdikgPT09IHNoYWRvd1Jv
b3QxIGRvZXNuJ3QgaG9sZC4KKy8vIEJ1dCBhY3R1YWxseSB0aGV5IGNvbnRhaW4gdGhlIHNhbWUg
U2hhZG93Um9vdC4gU28gd2UgY29tcGFyZSB0aGVtIGJ5IGludGVybmFsIGFkZHJlc3MgaGVyZS4K
K3ZhciBzaGFkb3dSb290MSA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdik7CitzaG91bGRCZSgi
aW50ZXJuYWxzLmFkZHJlc3MoaW50ZXJuYWxzLnNoYWRvd1Jvb3QoZGl2KSkiLCAiaW50ZXJuYWxz
LmFkZHJlc3Moc2hhZG93Um9vdDEpIik7CitzaG91bGRCZSgiaW50ZXJuYWxzLm9sZGVyU2hhZG93
Um9vdChzaGFkb3dSb290MSkiLCAibnVsbCIpOworCit2YXIgc2hhZG93Um9vdDIgPSBuZXcgV2Vi
S2l0U2hhZG93Um9vdChkaXYpCitzaG91bGRCZSgiaW50ZXJuYWxzLmFkZHJlc3MoaW50ZXJuYWxz
LnNoYWRvd1Jvb3QoZGl2KSkiLCAiaW50ZXJuYWxzLmFkZHJlc3Moc2hhZG93Um9vdDIpIik7Citz
aG91bGRCZSgiaW50ZXJuYWxzLmFkZHJlc3MoaW50ZXJuYWxzLm9sZGVyU2hhZG93Um9vdChzaGFk
b3dSb290MikpIiwgImludGVybmFscy5hZGRyZXNzKHNoYWRvd1Jvb3QxKSIpOworCit2YXIgc2hh
ZG93Um9vdDMgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOworc2hvdWxkQmUoImludGVybmFs
cy5hZGRyZXNzKGludGVybmFscy5zaGFkb3dSb290KGRpdikpIiwgImludGVybmFscy5hZGRyZXNz
KHNoYWRvd1Jvb3QzKSIpOworc2hvdWxkQmUoImludGVybmFscy5hZGRyZXNzKGludGVybmFscy5v
bGRlclNoYWRvd1Jvb3Qoc2hhZG93Um9vdDMpKSIsICJpbnRlcm5hbHMuYWRkcmVzcyhzaGFkb3dS
b290MikiKTsKKworaW50ZXJuYWxzLnJlbW92ZVNoYWRvd1Jvb3QoZGl2KTsKK3Nob3VsZEJlKCJp
bnRlcm5hbHMuc2hhZG93Um9vdChkaXYpIiwgIm51bGwiKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBh
cnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1qcy1hcGktZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LWpzLWFwaS1leHBl
Y3RlZC50eHQKaW5kZXggYTlmMDU5NmU2NTdhOWIzYzRkMTcyNTg5Njk2MTNiMTk5ZTFjM2JiZC4u
MDRhYzJkMjg3MjI3ZGYwODg5ZDkyM2RiNjljNjJkOThiY2E4NjNmMiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LWpzLWFwaS1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LWpzLWFwaS1leHBl
Y3RlZC50eHQKQEAgLTgsOSArOCw2IEBAIFBBU1MgbmV3IFdlYktpdFNoYWRvd1Jvb3QodW5kZWZp
bmVkKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IEhJRVJBUkNIWV9SRVFVRVNUX0VSCiBQQVNTIG5l
dyBXZWJLaXRTaGFkb3dSb290KG51bGwpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSElFUkFSQ0hZ
X1JFUVVFU1RfRVJSOiBET00gRXhjZXB0aW9uIDMuCiBQQVNTIG5ldyBXZWJLaXRTaGFkb3dSb290
KDEpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSElFUkFSQ0hZX1JFUVVFU1RfRVJSOiBET00gRXhj
ZXB0aW9uIDMuCiBQQVNTIHNoYWRvd0hvc3QgaXMgc2hhZG93Um9vdC5ob3N0Ci1QQVNTIG5ldyBX
ZWJLaXRTaGFkb3dSb290KHNoYWRvd0hvc3QpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSElFUkFS
Q0hZX1JFUVVFU1RfRVJSOiBET00gRXhjZXB0aW9uIDMuCi1UaGUgcHJldmlvdXMgdGVzdCBzaG91
bGQgbm90IGhhdmUgc2lkZSBlZmZlY3RzLgotUEFTUyBzaGFkb3dIb3N0IGlzIHNoYWRvd1Jvb3Qu
aG9zdAogUEFTUyBzaGFkb3dSb290LmdldEVsZW1lbnRCeUlkKCdkaXYxJykgaXMgZGl2MQogUEFT
UyBzaGFkb3dSb290LmdldEVsZW1lbnRCeUlkKCdmb28nKSBpcyBudWxsCiBQQVNTIHNoYWRvd1Jv
b3QuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnY2xhc3MyJykgaXMgW2RpdjJdCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtanMtYXBpLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtanMtYXBpLmh0bWwKaW5kZXgg
NzQ3ZTI1Y2Y2MGQ0MDg5ZDkzNGRjNTQ0Y2Y4YWNmYjVhMGNhYmUxNS4uYjJkMjQ3YTFkOTViNGU4
MzU1OTIwZTdiNzljY2I3YzQyNGQ3YjQ3YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L3NoYWRvdy1yb290LWpzLWFwaS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1qcy1hcGkuaHRtbApAQCAtMTgsOSArMTgsNiBAQCB2YXIg
c2hhZG93SG9zdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogZG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZChzaGFkb3dIb3N0KTsKIHZhciBzaGFkb3dSb290ID0gbmV3IFdlYktpdFNo
YWRvd1Jvb3Qoc2hhZG93SG9zdCk7CiBzaG91bGRCZSgic2hhZG93SG9zdCIsICJzaGFkb3dSb290
Lmhvc3QiKTsKLXNob3VsZFRocm93KCJuZXcgV2ViS2l0U2hhZG93Um9vdChzaGFkb3dIb3N0KSIp
OwotZGVidWcoJ1RoZSBwcmV2aW91cyB0ZXN0IHNob3VsZCBub3QgaGF2ZSBzaWRlIGVmZmVjdHMu
Jyk7Ci1zaG91bGRCZSgic2hhZG93SG9zdCIsICJzaGFkb3dSb290Lmhvc3QiKTsKIAogdmFyIGRp
djEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKIGRpdjEuc2V0QXR0cmlidXRlKCJp
ZCIsICJkaXYxIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvU2tpcHBl
ZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9Ta2lwcGVkCmluZGV4IDA1NzYzZWJkOTRhM2Fm
ZGUzNDRmNjJhMGZkZjA5NGJlOTMyMDVhODguLjRkM2NiYTZjY2JmZjE4MGM4YzlhZjlmNDdjMzM3
YmI3ZjQyNTNlMWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9Ta2lwcGVk
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9Ta2lwcGVkCkBAIC0xOTM2LDYgKzE5MzYs
NyBAQCBmYXN0L2Nzcy9zdHlsZS1zY29wZWQKIAogIyBFTkFCTEUoU0hBRE9XX0RPTSkgaXMgZGlz
YWJsZWQuCiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtanMtYXBpLmh0bWwKK2Zhc3QvZG9t
L3NoYWRvdy9tdWx0aXBsZS1zaGFkb3cuaHRtbAogCiAjIENTUyBGaWx0ZXJzIHN1cHBvcnQgbm90
IHlldCBlbmFibGVkIChuZWVkcyBFTkFCTEVfQ1NTX0ZJTFRFUlMpLgogIyBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0NjkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2d0ay9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQK
aW5kZXggZmViNzUyNzM4NDFkOTVkMTFlMWE2NTViMzQ2Mjg5ZmU3Yzc0MDVlMC4uYTdjNTYzNjQ1
MTUwMjJhMzZkNDEwNmFlZWM5ZjRmNGVhZDg4YWNiYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vZ3RrL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBw
ZWQKQEAgLTM1MSw2ICszNTEsNyBAQCBmYXN0L2Nzcy9zdHlsZS1zY29wZWQKIAogIyBFTkFCTEUo
U0hBRE9XX0RPTSkgaXMgZGlzYWJsZWQuCiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtanMt
YXBpLmh0bWwKK2Zhc3QvZG9tL3NoYWRvdy9tdWx0aXBsZS1zaGFkb3cuaHRtbAogCiAjIENTUyBS
ZWdpb25zIHN1cHBvcnQgbm90IHlldCBlbmFibGVkLiBodHRwOi8vd2Via2l0Lm9yZy9iLzU3MzEy
CiBmYXN0L3JlZ2lvbnMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lw
cGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQKaW5kZXggN2E5MzY5NTRjOGFl
OWEyMzVlNjEzNjQ4YTQ3NjUwYmUxY2NiM2NmMS4uNWE3M2JjZGQ0MDkwM2U0NzNhYzRkN2I0YWJh
YjQ2YjYzZGM2MDMzMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBw
ZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQKQEAgLTQxNiw2ICs0MTYs
NyBAQCBmYXN0L2Nzcy9zdHlsZS1zY29wZWQKIAogIyBFTkFCTEUoU0hBRE9XX0RPTSkgaXMgZGlz
YWJsZWQuCiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtanMtYXBpLmh0bWwKK2Zhc3QvZG9t
L3NoYWRvdy9tdWx0aXBsZS1zaGFkb3cuaHRtbAogCiAjIEpTQyBkb2VzIG5vdCBzdXBwb3J0IHNl
dElzb2xhdGVkV29ybGRTZWN1cml0eU9yaWdpbiAoaHR0cDovL3dlYmtpdC5vcmcvYi82MTU0MCkK
IGh0dHAvdGVzdHMvc2VjdXJpdHkvaXNvbGF0ZWRXb3JsZC9jcm9zcy1vcmlnaW4teGhyLmh0bWwK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCmluZGV4IGE2N2I3M2JiZDEyMWU1MjA5N2QyMDMzNzA1ODdm
M2JhYzYxMDdlOTIuLmIyYmM0N2ZmOTM5NTcxMmQwMGQyMTA5NzM3MzQyZDhmMmEzYjU3ZDYgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKKysrIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vcXQvU2tpcHBlZApAQCAtMTU5LDYgKzE1OSw3IEBAIGZhc3QvY3NzL3N0eWxl
LXNjb3BlZAogCiAjIEVOQUJMRShTSEFET1dfRE9NKSBpcyBkaXNhYmxlZC4KIGZhc3QvZG9tL3No
YWRvdy9zaGFkb3ctcm9vdC1qcy1hcGkuaHRtbAorZmFzdC9kb20vc2hhZG93L211bHRpcGxlLXNo
YWRvdy5odG1sCiAKICMgQ1NTIFJlZ2lvbnMgc3VwcG9ydCBub3QgeWV0IGVuYWJsZWQuIGh0dHA6
Ly93ZWJraXQub3JnL2IvNTczMTIKIGZhc3QvcmVnaW9ucwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vd2luL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBl
ZAppbmRleCAzZTAzZGU5ZDNhZmMyMzk4Y2I0YTk1YzdiMzAwODMzYzIyYjY0ZjY3Li5iNDUwYWM1
MzM5ZWYxYzhkNTAxNDVjODViMjA0YTE3OWFjZDlmMTc2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tp
cHBlZApAQCAtMTQzMCw2ICsxNDMwLDcgQEAgZmFzdC9jc3Mvc3R5bGUtc2NvcGVkCiAKICMgRU5B
QkxFKFNIQURPV19ET00pIGlzIGRpc2FibGVkLgogZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290
LWpzLWFwaS5odG1sCitmYXN0L2RvbS9zaGFkb3cvbXVsdGlwbGUtc2hhZG93Lmh0bWwKIAogIyBD
U1MgUmVnaW9ucyBzdXBwb3J0IG5vdCB5ZXQgZW5hYmxlZC4gaHR0cDovL3dlYmtpdC5vcmcvYi81
NzMxMgogZmFzdC9yZWdpb25zCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5j
YWlyby9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vU2tpcHBlZAppbmRl
eCA5ZGZhY2I0ODBlNWUyYTRkNjY5ZGJmYTBkN2M0OGJhYjJmOWM2YjJhLi4wYzE0ZDM3NTFhODUy
OTQxMzE4ODc0OGU2OGQ4ODM0YzMxYmE1NjE2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS93aW5jYWlyby9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJv
L1NraXBwZWQKQEAgLTE5NjMsNiArMTk2Myw3IEBAIGZhc3QvY3NzL3N0eWxlLXNjb3BlZAogCiAj
IEVOQUJMRShTSEFET1dfRE9NKSBpcyBkaXNhYmxlZC4KIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3ct
cm9vdC1qcy1hcGkuaHRtbAorZmFzdC9kb20vc2hhZG93L211bHRpcGxlLXNoYWRvdy5odG1sCiAK
ICMgQ1NTIFJlZ2lvbnMgc3VwcG9ydCBub3QgeWV0IGVuYWJsZWQuIGh0dHA6Ly93ZWJraXQub3Jn
L2IvNTczMTIKIGZhc3QvcmVnaW9ucwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>