<?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>42253</bug_id>
          
          <creation_ts>2010-07-14 06:01:30 -0700</creation_ts>
          <short_desc>REGRESSION(r61484): Broke focus behaviour on Qt and probably other platforms</short_desc>
          <delta_ts>2010-07-16 18:06:08 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt</keywords>
          <priority>P3</priority>
          <bug_severity>Critical</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>35784</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kenneth Rohde Christiansen">kenneth</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dglazkov</cc>
    
    <cc>fishd</cc>
    
    <cc>gustavo</cc>
    
    <cc>hausmann</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>suzhe</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>251134</commentid>
    <comment_count>0</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-07-14 06:01:30 -0700</bug_when>
    <thetext>r61484 changed the behaviour of setFocusedNode by calling setInputMethodState before the focused node is changed, something that Qt depended on and needs to depend on.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251136</commentid>
    <comment_count>1</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-07-14 06:06:36 -0700</bug_when>
    <thetext>Wouldn&apos;t it have been better if the patch had introduced a method to finish ongoing composition session? or make setInputMethodState take an enum instead?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251138</commentid>
    <comment_count>2</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-07-14 06:07:17 -0700</bug_when>
    <thetext>EFL is affected as well according to demarchi.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251152</commentid>
    <comment_count>3</comment_count>
    <who name="Lucas De Marchi">lucas.de.marchi</who>
    <bug_when>2010-07-14 06:29:18 -0700</bug_when>
    <thetext>This is impacting the EFL implementation as well. In setInputMethodState we need the new focused node, not the old, in order to get the input method hints.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251243</commentid>
    <comment_count>4</comment_count>
    <who name="James Su">suzhe</who>
    <bug_when>2010-07-14 09:49:08 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; Wouldn&apos;t it have been better if the patch had introduced a method to finish ongoing composition session? or make setInputMethodState take an enum instead?

Sounds better. Why way would you prefer? a new enum or an new method?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>252728</commentid>
    <comment_count>5</comment_count>
      <attachid>61852</attachid>
    <who name="James Su">suzhe</who>
    <bug_when>2010-07-16 15:32:58 -0700</bug_when>
    <thetext>Created attachment 61852
A patch to fix this issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>252730</commentid>
    <comment_count>6</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2010-07-16 15:38:31 -0700</bug_when>
    <thetext>Attachment 61852 did not build on qt:
Build output: http://webkit-commit-queue.appspot.com/results/3370531</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>252731</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-07-16 15:39:14 -0700</bug_when>
    <thetext>Attachment 61852 did not build on gtk:
Build output: http://webkit-commit-queue.appspot.com/results/3581076</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>252732</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-07-16 15:42:40 -0700</bug_when>
    <thetext>Attachment 61852 did not build on chromium:
Build output: http://webkit-commit-queue.appspot.com/results/3594045</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>252737</commentid>
    <comment_count>9</comment_count>
      <attachid>61854</attachid>
    <who name="James Su">suzhe</who>
    <bug_when>2010-07-16 15:50:59 -0700</bug_when>
    <thetext>Created attachment 61854
Fix two typos.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>252788</commentid>
    <comment_count>10</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-07-16 17:35:03 -0700</bug_when>
    <thetext>Can we make a regression test for this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>252796</commentid>
    <comment_count>11</comment_count>
      <attachid>61854</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-07-16 18:06:02 -0700</bug_when>
    <thetext>Comment on attachment 61854
Fix two typos.

Clearing flags on attachment: 61854

Committed r63602: &lt;http://trac.webkit.org/changeset/63602&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>252797</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-07-16 18:06:08 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>61852</attachid>
            <date>2010-07-16 15:32:58 -0700</date>
            <delta_ts>2010-07-16 15:50:59 -0700</delta_ts>
            <desc>A patch to fix this issue.</desc>
            <filename>set-input-method-state.diff</filename>
            <type>text/plain</type>
            <size>20521</size>
            <attacher name="James Su">suzhe</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2MzU4OSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjMgQEAKKzIwMTAtMDctMTYgIFpoZSBTdSAgPHN1emhlQGNocm9taXVtLm9yZz4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSRUdSRVNT
SU9OKHI2MTQ4NCk6IEJyb2tlIGZvY3VzIGJlaGF2aW91ciBvbiBRdCBhbmQgcHJvYmFibHkgb3Ro
ZXIgcGxhdGZvcm1zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD00MjI1MworCisgICAgICAgIFRoaXMgcGF0Y2gganVzdCByZXZlcnRzIHRoZSBjaGFuZ2Ug
dG8gV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5jcHAKKyAgICAgICAgbWFkZSBpbiBjaGFu
Z2VzZXQgNjE0ODQsIGFuZCBhZGQgYSBuZXcgbWV0aG9kIG5hbWVkCisgICAgICAgIHdpbGxTZXR1
cElucHV0TWV0aG9kU3RhdGUgaW4gRWRpdG9yQ2xpZW50IGludGVyZmFjZSwgd2hpY2ggZ2V0cyBj
YWxsZWQKKyAgICAgICAgaW4gRm9jdXNDb250cm9sbGVyIGp1c3QgYmVmb3JlIGNoYW5naW5nIHRo
ZSBmb2N1c2VkIG5vZGUuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBiZWNhdXNlIG5vIG5ldyBm
dW5jdGlvbmFsaXR5LgorCisgICAgICAgICogbG9hZGVyL0VtcHR5Q2xpZW50cy5oOgorICAgICAg
ICAoV2ViQ29yZTo6RW1wdHlFZGl0b3JDbGllbnQ6OndpbGxTZXRJbnB1dE1ldGhvZFN0YXRlKToK
KyAgICAgICAgKiBwYWdlL0VkaXRvckNsaWVudC5oOgorICAgICAgICAqIHBhZ2UvRm9jdXNDb250
cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvY3VzQ29udHJvbGxlcjo6c2V0Rm9jdXNl
ZE5vZGUpOgorCiAyMDEwLTA3LTE2ICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4K
IAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBGaXNoZXIuCkluZGV4OiBXZWJDb3JlL2xvYWRl
ci9FbXB0eUNsaWVudHMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVu
dHMuaAkocmV2aXNpb24gNjM1ODkpCisrKyBXZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAko
d29ya2luZyBjb3B5KQpAQCAtNDM0LDYgKzQzNCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZv
aWQgc2hvd1NwZWxsaW5nVUkoYm9vbCkgeyB9CiAgICAgdmlydHVhbCBib29sIHNwZWxsaW5nVUlJ
c1Nob3dpbmcoKSB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgdm9pZCBnZXRHdWVzc2Vz
Rm9yV29yZChjb25zdCBTdHJpbmcmLCBWZWN0b3I8U3RyaW5nPiYpIHsgfQorICAgIHZpcnR1YWwg
dm9pZCB3aWxsU2V0SW5wdXRNZXRob2RTdGF0ZShib29sKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQg
c2V0SW5wdXRNZXRob2RTdGF0ZShib29sKSB7IH0KIAogCkBAIC00OTUsNCArNDk2LDMgQEAgcHVi
bGljOgogfQogCiAjZW5kaWYgLy8gRW1wdHlDbGllbnRzX2gKLQpJbmRleDogV2ViQ29yZS9wYWdl
L0VkaXRvckNsaWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGFnZS9FZGl0b3JDbGllbnQu
aAkocmV2aXNpb24gNjM1ODkpCisrKyBXZWJDb3JlL3BhZ2UvRWRpdG9yQ2xpZW50LmgJKHdvcmtp
bmcgY29weSkKQEAgLTE4MywxMCArMTgzLDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQg
c2hvd1NwZWxsaW5nVUkoYm9vbCBzaG93KSA9IDA7CiAgICAgdmlydHVhbCBib29sIHNwZWxsaW5n
VUlJc1Nob3dpbmcoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGdldEd1ZXNzZXNGb3JXb3JkKGNv
bnN0IFN0cmluZyYsIFZlY3RvcjxTdHJpbmc+JiBndWVzc2VzKSA9IDA7CisgICAgdmlydHVhbCB2
b2lkIHdpbGxTZXRJbnB1dE1ldGhvZFN0YXRlKCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzZXRJ
bnB1dE1ldGhvZFN0YXRlKGJvb2wgZW5hYmxlZCkgPSAwOwogfTsKIAogfQogCiAjZW5kaWYgLy8g
RWRpdG9yQ2xpZW50X2gKLQpJbmRleDogV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5jcHAJKHJldmlzaW9u
IDYzNTg5KQorKysgV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTU5NSwyMiArNTk1LDIxIEBAIGJvb2wgRm9jdXNDb250cm9sbGVyOjpzZXRGb2N1c2Vk
Tm9kZShOb2QKICAgICBpZiAob2xkRm9jdXNlZE5vZGUgJiYgb2xkRm9jdXNlZE5vZGUtPnJvb3RF
ZGl0YWJsZUVsZW1lbnQoKSA9PSBvbGRGb2N1c2VkTm9kZSAmJiAhcmVsaW5xdWlzaGVzRWRpdGlu
Z0ZvY3VzKG9sZEZvY3VzZWROb2RlKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgLy8g
U2V0IGlucHV0IG1ldGhvZCBzdGF0ZSBiZWZvcmUgY2hhbmdpbmcgdGhlIGZvY3VzZWQgbm9kZSwg
c28gdGhhdCB0aGUKLSAgICAvLyBpbnB1dCBtZXRob2QgY2FuIHN0aWxsIGhhdmUgYSBjaGFuY2Ug
dG8gZmluaXNoIHRoZSBvbmdvaW5nIGNvbXBvc2l0aW9uCi0gICAgLy8gc2Vzc2lvbi4KLSAgICBt
X3BhZ2UtPmVkaXRvckNsaWVudCgpLT5zZXRJbnB1dE1ldGhvZFN0YXRlKG5vZGUgPyBub2RlLT5z
aG91bGRVc2VJbnB1dE1ldGhvZCgpIDogZmFsc2UpOworICAgIG1fcGFnZS0+ZWRpdG9yQ2xpZW50
KCktPndpbGxTZXRJbnB1dE1ldGhvZFN0YXRlKCk7CiAKICAgICBjbGVhclNlbGVjdGlvbklmTmVl
ZGVkKG9sZEZvY3VzZWRGcmFtZS5nZXQoKSwgbmV3Rm9jdXNlZEZyYW1lLmdldCgpLCBub2RlKTsK
IAogICAgIGlmICghbm9kZSkgewogICAgICAgICBpZiAob2xkRG9jdW1lbnQpCiAgICAgICAgICAg
ICBvbGREb2N1bWVudC0+c2V0Rm9jdXNlZE5vZGUoMCk7CisgICAgICAgIG1fcGFnZS0+ZWRpdG9y
Q2xpZW50KCktPnNldElucHV0TWV0aG9kU3RhdGUoZmFsc2UpOwogICAgICAgICByZXR1cm4gdHJ1
ZTsKICAgICB9CiAKICAgICBSZWZQdHI8RG9jdW1lbnQ+IG5ld0RvY3VtZW50ID0gbm9kZS0+ZG9j
dW1lbnQoKTsKIAogICAgIGlmIChuZXdEb2N1bWVudCAmJiBuZXdEb2N1bWVudC0+Zm9jdXNlZE5v
ZGUoKSA9PSBub2RlKSB7CisgICAgICAgIG1fcGFnZS0+ZWRpdG9yQ2xpZW50KCktPnNldElucHV0
TWV0aG9kU3RhdGUobm9kZS0+c2hvdWxkVXNlSW5wdXRNZXRob2QoKSk7CiAgICAgICAgIHJldHVy
biB0cnVlOwogICAgIH0KICAgICAKQEAgLTYyMiw2ICs2MjEsOCBAQCBib29sIEZvY3VzQ29udHJv
bGxlcjo6c2V0Rm9jdXNlZE5vZGUoTm9kCiAgICAgaWYgKG5ld0RvY3VtZW50KQogICAgICAgICBu
ZXdEb2N1bWVudC0+c2V0Rm9jdXNlZE5vZGUobm9kZSk7CiAgICAgCisgICAgbV9wYWdlLT5lZGl0
b3JDbGllbnQoKS0+c2V0SW5wdXRNZXRob2RTdGF0ZShub2RlLT5zaG91bGRVc2VJbnB1dE1ldGhv
ZCgpKTsKKwogICAgIHJldHVybiB0cnVlOwogfQogCkluZGV4OiBXZWJLaXQyL0NoYW5nZUxvZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJLaXQyL0NoYW5nZUxvZwkocmV2aXNpb24gNjM1ODkpCisrKyBXZWJL
aXQyL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDEwLTA3LTE2
ICBaaGUgU3UgIDxzdXpoZUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgUkVHUkVTU0lPTihyNjE0ODQpOiBCcm9rZSBmb2N1cyBi
ZWhhdmlvdXIgb24gUXQgYW5kIHByb2JhYmx5IG90aGVyIHBsYXRmb3JtcworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDIyNTMKKworICAgICAgICBEdW1t
eSBpbXBsZW1lbnRhdGlvbiBvZiBFZGl0b3JDbGllbnQ6OndpbGxTZXRJbnB1dE1ldGhvZFN0YXRl
LgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJFZGl0b3JDbGllbnQ6OndpbGxTZXRJbnB1dE1ldGhv
ZFN0YXRlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNs
aWVudC5oOgorCiAyMDEwLTA3LTE2ICBBbGljZSBMaXUgIDxhbGljZS5saXVAYXBwbGUuY29tPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IFNhbSBXZWluaWcuCkluZGV4OiBXZWJLaXQyL1dlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJL
aXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmNwcAkocmV2aXNp
b24gNjM1ODkpCisrKyBXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9y
Q2xpZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDE1LDEwICs0MTUsMTQgQEAgdm9pZCBXZWJF
ZGl0b3JDbGllbnQ6OmdldEd1ZXNzZXNGb3JXb3JkKAogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9
CiAKK3ZvaWQgV2ViRWRpdG9yQ2xpZW50Ojp3aWxsU2V0SW5wdXRNZXRob2RTdGF0ZSgpCit7Cisg
ICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKwogdm9pZCBXZWJFZGl0b3JDbGllbnQ6OnNldElucHV0
TWV0aG9kU3RhdGUoYm9vbCkKIHsKICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQogCiB9IC8vIG5h
bWVzcGFjZSBXZWJLaXQKLQpJbmRleDogV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYkVkaXRvckNsaWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuaAkocmV2aXNpb24gNjM1ODkpCisrKyBXZWJLaXQy
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTEyOSw2ICsxMjksNyBAQCBwcml2YXRlOiAgICAKICAgICB2aXJ0dWFsIHZvaWQgc2hv
d1NwZWxsaW5nVUkoYm9vbCBzaG93KTsKICAgICB2aXJ0dWFsIGJvb2wgc3BlbGxpbmdVSUlzU2hv
d2luZygpOwogICAgIHZpcnR1YWwgdm9pZCBnZXRHdWVzc2VzRm9yV29yZChjb25zdCBXZWJDb3Jl
OjpTdHJpbmcmLCBWZWN0b3I8V2ViQ29yZTo6U3RyaW5nPiYgZ3Vlc3Nlcyk7CisgICAgdmlydHVh
bCB2b2lkIHdpbGxTZXRJbnB1dE1ldGhvZFN0YXRlKCk7CiAgICAgdmlydHVhbCB2b2lkIHNldElu
cHV0TWV0aG9kU3RhdGUoYm9vbCBlbmFibGVkKTsKIAogICAgIFdlYlBhZ2UqIG1fcGFnZTsKSW5k
ZXg6IFdlYktpdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L0NoYW5nZUxvZwkocmV2
aXNpb24gNjM1ODkpCisrKyBXZWJLaXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMTYgQEAKKzIwMTAtMDctMTYgIFpoZSBTdSAgPHN1emhlQGNocm9taXVtLm9yZz4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSRUdSRVNTSU9OKHI2
MTQ4NCk6IEJyb2tlIGZvY3VzIGJlaGF2aW91ciBvbiBRdCBhbmQgcHJvYmFibHkgb3RoZXIgcGxh
dGZvcm1zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00
MjI1MworCisgICAgICAgIER1bW15IGltcGxlbWVudGF0aW9uIG9mIEVkaXRvckNsaWVudDo6d2ls
bFNldElucHV0TWV0aG9kU3RhdGUuCisKKyAgICAgICAgKiBlZmwvV2ViQ29yZVN1cHBvcnQvRWRp
dG9yQ2xpZW50RWZsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVkaXRvckNsaWVudEVmbDo6d2ls
bFNldElucHV0TWV0aG9kU3RhdGUpOgorICAgICAgICAqIGVmbC9XZWJDb3JlU3VwcG9ydC9FZGl0
b3JDbGllbnRFZmwuaDoKKwogMjAxMC0wNy0xNSAgTWFyayBSb3dlICA8bXJvd2VAYXBwbGUuY29t
PgogCiAgICAgICAgIFVwZGF0ZSB0aGUgc29ydGluZyBpbiB0aGUgWGNvZGUgcHJvamVjdCBmaWxl
cy4KSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0
L2Nocm9taXVtL0NoYW5nZUxvZwkocmV2aXNpb24gNjM1ODkpCisrKyBXZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTggQEAKKzIwMTAtMDctMTYgIFpo
ZSBTdSAgPHN1emhlQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBSRUdSRVNTSU9OKHI2MTQ4NCk6IEJyb2tlIGZvY3VzIGJlaGF2
aW91ciBvbiBRdCBhbmQgcHJvYmFibHkgb3RoZXIgcGxhdGZvcm1zCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MjI1MworCisgICAgICAgIEltcGxlbWVu
dCBFZGl0b3JDbGllbnQ6OndpbGxTZXRJbnB1dE1ldGhvZFN0YXRlIHdoaWNoIHJlcGxhY2VzCisg
ICAgICAgIHNldElucHV0TWV0aG9kU3RhdGUgbWV0aG9kLgorCisgICAgICAgICogc3JjL0VkaXRv
ckNsaWVudEltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpFZGl0b3JDbGllbnRJbXBsOjp3aWxs
U2V0SW5wdXRNZXRob2RTdGF0ZSk6CisgICAgICAgIChXZWJLaXQ6OkVkaXRvckNsaWVudEltcGw6
OnNldElucHV0TWV0aG9kU3RhdGUpOgorICAgICAgICAqIHNyYy9FZGl0b3JDbGllbnRJbXBsLmg6
CisKIDIwMTAtMDctMTYgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IERhcmluIEZpc2hlci4KSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9zcmMv
RWRpdG9yQ2xpZW50SW1wbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2Nocm9taXVtL3NyYy9F
ZGl0b3JDbGllbnRJbXBsLmNwcAkocmV2aXNpb24gNjM1ODkpCisrKyBXZWJLaXQvY2hyb21pdW0v
c3JjL0VkaXRvckNsaWVudEltcGwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05MzUsMTAgKzkzNSwx
NCBAQCB2b2lkIEVkaXRvckNsaWVudEltcGw6OmdldEd1ZXNzZXNGb3JXb3JkCiAgICAgbm90SW1w
bGVtZW50ZWQoKTsKIH0KIAotdm9pZCBFZGl0b3JDbGllbnRJbXBsOjpzZXRJbnB1dE1ldGhvZFN0
YXRlKGJvb2wgZW5hYmxlZCkKK3ZvaWQgRWRpdG9yQ2xpZW50SW1wbDo6d2lsbFNldElucHV0TWV0
aG9kU3RhdGUoKQogewogICAgIGlmIChtX3dlYlZpZXctPmNsaWVudCgpKQogICAgICAgICBtX3dl
YlZpZXctPmNsaWVudCgpLT5yZXNldElucHV0TWV0aG9kKCk7CiB9CiAKK3ZvaWQgRWRpdG9yQ2xp
ZW50SW1wbDo6c2V0SW5wdXRNZXRob2RTdGF0ZShib29sKQoreworfQorCiB9IC8vIG5hbWVzYWNl
IFdlYktpdApJbmRleDogV2ViS2l0L2Nocm9taXVtL3NyYy9FZGl0b3JDbGllbnRJbXBsLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViS2l0L2Nocm9taXVtL3NyYy9FZGl0b3JDbGllbnRJbXBsLmgJKHJldmlz
aW9uIDYzNTg5KQorKysgV2ViS2l0L2Nocm9taXVtL3NyYy9FZGl0b3JDbGllbnRJbXBsLmgJKHdv
cmtpbmcgY29weSkKQEAgLTEwOCw2ICsxMDgsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29s
IHNwZWxsaW5nVUlJc1Nob3dpbmcoKTsKICAgICB2aXJ0dWFsIHZvaWQgZ2V0R3Vlc3Nlc0Zvcldv
cmQoY29uc3QgV2ViQ29yZTo6U3RyaW5nJiB3b3JkLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBXVEY6OlZlY3RvcjxXZWJDb3JlOjpTdHJpbmc+JiBndWVzc2VzKTsKKyAgICB2
aXJ0dWFsIHZvaWQgd2lsbFNldElucHV0TWV0aG9kU3RhdGUoKTsKICAgICB2aXJ0dWFsIHZvaWQg
c2V0SW5wdXRNZXRob2RTdGF0ZShib29sIGVuYWJsZWQpOwogCiAgICAgLy8gU2hvd3MgdGhlIGZv
cm0gYXV0b2ZpbGwgcG9wdXAgZm9yIHxub2RlfCBpZiBpdCBpcyBhbiBIVE1MSW5wdXRFbGVtZW50
IGFuZApJbmRleDogV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRFZmwuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50RWZs
LmNwcAkocmV2aXNpb24gNjM1ODkpCisrKyBXZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0VkaXRv
ckNsaWVudEVmbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQwLDYgKzQwLDExIEBAIHVzaW5nIG5h
bWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK3ZvaWQgRWRpdG9yQ2xp
ZW50RWZsOjp3aWxsU2V0SW5wdXRNZXRob2RTdGF0ZSgpCit7CisgICAgbm90SW1wbGVtZW50ZWQo
KTsKK30KKwogdm9pZCBFZGl0b3JDbGllbnRFZmw6OnNldElucHV0TWV0aG9kU3RhdGUoYm9vbCBh
Y3RpdmUpCiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKSW5kZXg6IFdlYktpdC9lZmwvV2ViQ29y
ZVN1cHBvcnQvRWRpdG9yQ2xpZW50RWZsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2VmbC9XZWJD
b3JlU3VwcG9ydC9FZGl0b3JDbGllbnRFZmwuaAkocmV2aXNpb24gNjM1ODkpCisrKyBXZWJLaXQv
ZWZsL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEVmbC5oCSh3b3JraW5nIGNvcHkpCkBAIC0x
MTEsNiArMTExLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBzaG93U3BlbGxpbmdVSShi
b29sIHNob3cpOwogICAgIHZpcnR1YWwgYm9vbCBzcGVsbGluZ1VJSXNTaG93aW5nKCk7CiAgICAg
dmlydHVhbCB2b2lkIGdldEd1ZXNzZXNGb3JXb3JkKGNvbnN0IFN0cmluZyYsIFdURjo6VmVjdG9y
PFN0cmluZz4mIGd1ZXNzZXMpOworICAgIHZpcnR1YWwgdm9pZCB3aWxsU2V0SW5wdXRNZXRob2RT
dGF0ZSgpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRJbnB1dE1ldGhvZFN0YXRlKGJvb2wgZW5hYmxl
ZCk7CiAKIHByaXZhdGU6CkluZGV4OiBXZWJLaXQvZ3RrL0NoYW5nZUxvZwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJLaXQvZ3RrL0NoYW5nZUxvZwkocmV2aXNpb24gNjM1ODkpCisrKyBXZWJLaXQvZ3RrL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDEwLTA3LTE2ICBaaGUg
U3UgIDxzdXpoZUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgUkVHUkVTU0lPTihyNjE0ODQpOiBCcm9rZSBmb2N1cyBiZWhhdmlv
dXIgb24gUXQgYW5kIHByb2JhYmx5IG90aGVyIHBsYXRmb3JtcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDIyNTMKKworICAgICAgICBEdW1teSBpbXBs
ZW1lbnRhdGlvbiBvZiBFZGl0b3JDbGllbnQ6OndpbGxTZXRJbnB1dE1ldGhvZFN0YXRlLgorCisg
ICAgICAgICogV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50R3RrLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6RWRpdG9yQ2xpZW50Ojp3aWxsU2V0SW5wdXRNZXRob2RTdGF0ZSk6CisgICAgICAgICog
V2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50R3RrLmg6CisKIDIwMTAtMDctMTYgIE5hdGUgQ2hh
cGluICA8amFwaGV0QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBG
aXNoZXIuCkluZGV4OiBXZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEd0ay5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRH
dGsuY3BwCShyZXZpc2lvbiA2MzU4OSkKKysrIFdlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRWRp
dG9yQ2xpZW50R3RrLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjE1LDYgKzIxNSwxMCBAQCB2b2lk
IEVkaXRvckNsaWVudDo6dXBkYXRlUGVuZGluZ0NvbXBvc2l0CiAgICAgICAgIG1fcGVuZGluZ0Nv
bXBvc2l0aW9uLnNldChnX3N0cmNvbmNhdChtX3BlbmRpbmdDb21wb3NpdGlvbi5nZXQoKSwgbmV3
Q29tcG9zaXRpb24sIE5VTEwpKTsKIH0KIAordm9pZCBFZGl0b3JDbGllbnQ6OndpbGxTZXRJbnB1
dE1ldGhvZFN0YXRlKCkKK3sKK30KKwogdm9pZCBFZGl0b3JDbGllbnQ6OnNldElucHV0TWV0aG9k
U3RhdGUoYm9vbCBhY3RpdmUpCiB7CiAgICAgV2ViS2l0V2ViVmlld1ByaXZhdGUqIHByaXYgPSBt
X3dlYlZpZXctPnByaXY7CkluZGV4OiBXZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNs
aWVudEd0ay5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRWRpdG9y
Q2xpZW50R3RrLmgJKHJldmlzaW9uIDYzNTg5KQorKysgV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9y
dC9FZGl0b3JDbGllbnRHdGsuaAkod29ya2luZyBjb3B5KQpAQCAtMTMwLDYgKzEzMCw3IEBAIG5h
bWVzcGFjZSBXZWJLaXQgewogICAgICAgICB2aXJ0dWFsIHZvaWQgc2hvd1NwZWxsaW5nVUkoYm9v
bCBzaG93KTsKICAgICAgICAgdmlydHVhbCBib29sIHNwZWxsaW5nVUlJc1Nob3dpbmcoKTsKICAg
ICAgICAgdmlydHVhbCB2b2lkIGdldEd1ZXNzZXNGb3JXb3JkKGNvbnN0IFdlYkNvcmU6OlN0cmlu
ZyYsIFdURjo6VmVjdG9yPFdlYkNvcmU6OlN0cmluZz4mIGd1ZXNzZXMpOworICAgICAgICB2aXJ0
dWFsIHZvaWQgd2lsbFNldElucHV0TWV0aG9kU3RhdGUoKTsKICAgICAgICAgdmlydHVhbCB2b2lk
IHNldElucHV0TWV0aG9kU3RhdGUoYm9vbCBlbmFibGVkKTsKIAogICAgIHByaXZhdGU6CkluZGV4
OiBXZWJLaXQvaGFpa3UvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9oYWlrdS9DaGFu
Z2VMb2cJKHJldmlzaW9uIDYzNTg5KQorKysgV2ViS2l0L2hhaWt1L0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDEwLTA3LTE2ICBaaGUgU3UgIDxzdXpoZUBjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgUkVHUkVTU0lPTihyNjE0ODQpOiBCcm9rZSBmb2N1cyBiZWhhdmlvdXIgb24gUXQgYW5kIHBy
b2JhYmx5IG90aGVyIHBsYXRmb3JtcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NDIyNTMKKworICAgICAgICBEdW1teSBpbXBsZW1lbnRhdGlvbiBvZiBF
ZGl0b3JDbGllbnQ6OndpbGxTZXRJbnB1dE1ldGhvZFN0YXRlLgorCisgICAgICAgICogV2ViQ29y
ZVN1cHBvcnQvRWRpdG9yQ2xpZW50SGFpa3UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RWRpdG9y
Q2xpZW50SGFpa3U6OndpbGxTZXRJbnB1dE1ldGhvZFN0YXRlKToKKyAgICAgICAgKiBXZWJDb3Jl
U3VwcG9ydC9FZGl0b3JDbGllbnRIYWlrdS5oOgorCiAyMDEwLTA3LTE0ICBTYW0gV2VpbmlnICA8
c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCkluZGV4
OiBXZWJLaXQvaGFpa3UvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50SGFpa3UuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYktpdC9oYWlrdS9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRIYWlrdS5j
cHAJKHJldmlzaW9uIDYzNTg5KQorKysgV2ViS2l0L2hhaWt1L1dlYkNvcmVTdXBwb3J0L0VkaXRv
ckNsaWVudEhhaWt1LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDY2LDYgKzQ2NiwxMSBAQCB2b2lk
IEVkaXRvckNsaWVudEhhaWt1OjpnZXRHdWVzc2VzRm9yV29yCiAgICAgbm90SW1wbGVtZW50ZWQo
KTsKIH0KIAordm9pZCBFZGl0b3JDbGllbnRIYWlrdTo6d2lsbFNldElucHV0TWV0aG9kU3RhdGUo
KQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKIHZvaWQgRWRpdG9yQ2xpZW50SGFpa3U6
OnNldElucHV0TWV0aG9kU3RhdGUoYm9vbCBlbmFibGVkKQogewogICAgIG5vdEltcGxlbWVudGVk
KCk7CkBAIC00NzcsNCArNDgyLDMgQEAgYm9vbCBFZGl0b3JDbGllbnRIYWlrdTo6aXNFZGl0aW5n
KCkgY29ucwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KSW5kZXg6IFdlYktpdC9oYWlr
dS9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRIYWlrdS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktp
dC9oYWlrdS9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRIYWlrdS5oCShyZXZpc2lvbiA2MzU4
OSkKKysrIFdlYktpdC9oYWlrdS9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRIYWlrdS5oCSh3
b3JraW5nIGNvcHkpCkBAIC0xMDgsNiArMTA4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
ICAgICB2aXJ0dWFsIHZvaWQgc2hvd1NwZWxsaW5nVUkoYm9vbCBzaG93KTsKICAgICAgICAgdmly
dHVhbCBib29sIHNwZWxsaW5nVUlJc1Nob3dpbmcoKTsKICAgICAgICAgdmlydHVhbCB2b2lkIGdl
dEd1ZXNzZXNGb3JXb3JkKGNvbnN0IFN0cmluZyYsIFZlY3RvcjxTdHJpbmc+JiBndWVzc2VzKTsK
KyAgICAgICAgdmlydHVhbCB2b2lkIHdpbGxTZXRJbnB1dE1ldGhvZFN0YXRlKCk7CiAgICAgICAg
IHZpcnR1YWwgdm9pZCBzZXRJbnB1dE1ldGhvZFN0YXRlKGJvb2wgZW5hYmxlZCk7CiAKICAgICAg
ICAgYm9vbCBpc0VkaXRpbmcoKSBjb25zdDsKQEAgLTEyMSw0ICsxMjIsMyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFZGl0b3JDbGll
bnRIYWlrdV9oCi0KSW5kZXg6IFdlYktpdC9tYWMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YktpdC9tYWMvQ2hhbmdlTG9nCShyZXZpc2lvbiA2MzU4OSkKKysrIFdlYktpdC9tYWMvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTAtMDctMTYgIFpoZSBTdSAg
PHN1emhlQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBSRUdSRVNTSU9OKHI2MTQ4NCk6IEJyb2tlIGZvY3VzIGJlaGF2aW91ciBv
biBRdCBhbmQgcHJvYmFibHkgb3RoZXIgcGxhdGZvcm1zCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MjI1MworCisgICAgICAgIER1bW15IGltcGxlbWVu
dGF0aW9uIG9mIEVkaXRvckNsaWVudDo6d2lsbFNldElucHV0TWV0aG9kU3RhdGUuCisKKyAgICAg
ICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuaDoKKyAgICAgICAgKiBXZWJDb3Jl
U3VwcG9ydC9XZWJFZGl0b3JDbGllbnQubW06CisgICAgICAgIChXZWJFZGl0b3JDbGllbnQ6Ondp
bGxTZXRJbnB1dE1ldGhvZFN0YXRlKToKKwogMjAxMC0wNy0xNiAgTWlraGFpbCBOYWdhbm92ICA8
bW5hZ2Fub3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFBhdmVsIEZlbGRt
YW4uCkluZGV4OiBXZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmgJ
KHJldmlzaW9uIDYzNTg5KQorKysgV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JD
bGllbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMTI3LDYgKzEyNyw3IEBAIHB1YmxpYzoKICAgICB2
aXJ0dWFsIHZvaWQgc2hvd1NwZWxsaW5nVUkoYm9vbCBzaG93KTsKICAgICB2aXJ0dWFsIGJvb2wg
c3BlbGxpbmdVSUlzU2hvd2luZygpOwogICAgIHZpcnR1YWwgdm9pZCBnZXRHdWVzc2VzRm9yV29y
ZChjb25zdCBXZWJDb3JlOjpTdHJpbmcmLCBXVEY6OlZlY3RvcjxXZWJDb3JlOjpTdHJpbmc+JiBn
dWVzc2VzKTsKKyAgICB2aXJ0dWFsIHZvaWQgd2lsbFNldElucHV0TWV0aG9kU3RhdGUoKTsKICAg
ICB2aXJ0dWFsIHZvaWQgc2V0SW5wdXRNZXRob2RTdGF0ZShib29sIGVuYWJsZWQpOwogcHJpdmF0
ZToKICAgICB2b2lkIHJlZ2lzdGVyQ29tbWFuZEZvclVuZG9PclJlZG8oUGFzc1JlZlB0cjxXZWJD
b3JlOjpFZGl0Q29tbWFuZD4sIGJvb2wgaXNSZWRvKTsKSW5kZXg6IFdlYktpdC9tYWMvV2ViQ29y
ZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9tYWMvV2Vi
Q29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50Lm1tCShyZXZpc2lvbiA2MzU4OSkKKysrIFdlYktp
dC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50Lm1tCSh3b3JraW5nIGNvcHkpCkBA
IC04MTgsNiArODE4LDEwIEBAIHZvaWQgV2ViRWRpdG9yQ2xpZW50OjpnZXRHdWVzc2VzRm9yV29y
ZCgKICAgICB9CiB9CiAKK3ZvaWQgV2ViRWRpdG9yQ2xpZW50Ojp3aWxsU2V0SW5wdXRNZXRob2RT
dGF0ZSgpCit7Cit9CisKIHZvaWQgV2ViRWRpdG9yQ2xpZW50OjpzZXRJbnB1dE1ldGhvZFN0YXRl
KGJvb2wpCiB7CiB9CkluZGV4OiBXZWJLaXQvcXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YktpdC9xdC9DaGFuZ2VMb2cJKHJldmlzaW9uIDYzNTg5KQorKysgV2ViS2l0L3F0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDEwLTA3LTE2ICBaaGUgU3UgIDxz
dXpoZUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgUkVHUkVTU0lPTihyNjE0ODQpOiBCcm9rZSBmb2N1cyBiZWhhdmlvdXIgb24g
UXQgYW5kIHByb2JhYmx5IG90aGVyIHBsYXRmb3JtcworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDIyNTMKKworICAgICAgICBEdW1teSBpbXBsZW1lbnRh
dGlvbiBvZiBFZGl0b3JDbGllbnQ6OndpbGxTZXRJbnB1dE1ldGhvZFN0YXRlLgorCisgICAgICAg
ICogV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50UXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RWRpdG9yQ2xpZW50UXQ6OndpbGxTZXRJbnB1dE1ldGhvZFN0YXRlKToKKyAgICAgICAgKiBXZWJD
b3JlU3VwcG9ydC9FZGl0b3JDbGllbnRRdC5oOgorCiAyMDEwLTA3LTE0ICBTYW0gV2VpbmlnICA8
c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCkluZGV4
OiBXZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50UXQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRRdC5jcHAJKHJldmlzaW9u
IDYzNTg5KQorKysgV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudFF0LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNTg3LDYgKzU4NywxMCBAQCBib29sIEVkaXRvckNsaWVudFF0Ojpp
c0VkaXRpbmcoKSBjb25zdAogICAgIHJldHVybiBtX2VkaXRpbmc7CiB9CiAKK3ZvaWQgRWRpdG9y
Q2xpZW50UXQ6OndpbGxTZXRJbnB1dE1ldGhvZFN0YXRlKCkKK3sKK30KKwogdm9pZCBFZGl0b3JD
bGllbnRRdDo6c2V0SW5wdXRNZXRob2RTdGF0ZShib29sIGFjdGl2ZSkKIHsKICAgICBRV2ViUGFn
ZUNsaWVudCogd2ViUGFnZUNsaWVudCA9IG1fcGFnZS0+ZC0+Y2xpZW50OwpJbmRleDogV2ViS2l0
L3F0L1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudFF0LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0
L3F0L1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudFF0LmgJKHJldmlzaW9uIDYzNTg5KQorKysg
V2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudFF0LmgJKHdvcmtpbmcgY29weSkK
QEAgLTEwNSw2ICsxMDUsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNob3dTcGVsbGlu
Z1VJKGJvb2wgc2hvdyk7CiAgICAgdmlydHVhbCBib29sIHNwZWxsaW5nVUlJc1Nob3dpbmcoKTsK
ICAgICB2aXJ0dWFsIHZvaWQgZ2V0R3Vlc3Nlc0ZvcldvcmQoY29uc3QgU3RyaW5nJiwgVmVjdG9y
PFN0cmluZz4mIGd1ZXNzZXMpOworICAgIHZpcnR1YWwgdm9pZCB3aWxsU2V0SW5wdXRNZXRob2RT
dGF0ZSgpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRJbnB1dE1ldGhvZFN0YXRlKGJvb2wgZW5hYmxl
ZCk7CiAKICAgICBib29sIGlzRWRpdGluZygpIGNvbnN0OwpJbmRleDogV2ViS2l0L3dpbi9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3dpbi9DaGFuZ2VMb2cJKHJldmlzaW9uIDYzNTg5
KQorKysgV2ViS2l0L3dpbi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNiBA
QAorMjAxMC0wNy0xNiAgWmhlIFN1ICA8c3V6aGVAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJFR1JFU1NJT04ocjYxNDg0KTog
QnJva2UgZm9jdXMgYmVoYXZpb3VyIG9uIFF0IGFuZCBwcm9iYWJseSBvdGhlciBwbGF0Zm9ybXMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQyMjUzCisK
KyAgICAgICAgRHVtbXkgaW1wbGVtZW50YXRpb24gb2YgRWRpdG9yQ2xpZW50Ojp3aWxsU2V0SW5w
dXRNZXRob2RTdGF0ZS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVu
dC5jcHA6CisgICAgICAgIChXZWJFZGl0b3JDbGllbnQ6OndpbGxTZXRJbnB1dE1ldGhvZFN0YXRl
KToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuaDoKKwogMjAxMC0w
Ny0xNiAgTWlraGFpbCBOYWdhbm92ICA8bW5hZ2Fub3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IFBhdmVsIEZlbGRtYW4uCkluZGV4OiBXZWJLaXQvd2luL1dlYkNvcmVTdXBw
b3J0L1dlYkVkaXRvckNsaWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3dpbi9XZWJDb3Jl
U3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuY3BwCShyZXZpc2lvbiA2MzU4OSkKKysrIFdlYktpdC93
aW4vV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
Nzc2LDYgKzc3NiwxMCBAQCB2b2lkIFdlYkVkaXRvckNsaWVudDo6Z2V0R3Vlc3Nlc0ZvcldvcmQo
CiAgICAgfQogfQogCit2b2lkIFdlYkVkaXRvckNsaWVudDo6d2lsbFNldElucHV0TWV0aG9kU3Rh
dGUoKQoreworfQorCiB2b2lkIFdlYkVkaXRvckNsaWVudDo6c2V0SW5wdXRNZXRob2RTdGF0ZShi
b29sIGVuYWJsZWQpCiB7CiAgICAgbV93ZWJWaWV3LT5zZXRJbnB1dE1ldGhvZFN0YXRlKGVuYWJs
ZWQpOwpJbmRleDogV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5o
CShyZXZpc2lvbiA2MzU4OSkKKysrIFdlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9y
Q2xpZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTEwOSw2ICsxMDksNyBAQCBwdWJsaWM6CiAgICAg
dmlydHVhbCBib29sIHNwZWxsaW5nVUlJc1Nob3dpbmcoKTsKICAgICB2aXJ0dWFsIHZvaWQgZ2V0
R3Vlc3Nlc0ZvcldvcmQoY29uc3QgV2ViQ29yZTo6U3RyaW5nJiwgVmVjdG9yPFdlYkNvcmU6OlN0
cmluZz4mIGd1ZXNzZXMpOwogCisgICAgdmlydHVhbCB2b2lkIHdpbGxTZXRJbnB1dE1ldGhvZFN0
YXRlKCk7CiAgICAgdmlydHVhbCB2b2lkIHNldElucHV0TWV0aG9kU3RhdGUoYm9vbCk7CiAKIHBy
aXZhdGU6CkluZGV4OiBXZWJLaXQvd3gvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC93
eC9DaGFuZ2VMb2cJKHJldmlzaW9uIDYzNTg5KQorKysgV2ViS2l0L3d4L0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDEwLTA3LTE2ICBaaGUgU3UgIDxzdXpoZUBj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgUkVHUkVTU0lPTihyNjE0ODQpOiBCcm9rZSBmb2N1cyBiZWhhdmlvdXIgb24gUXQgYW5k
IHByb2JhYmx5IG90aGVyIHBsYXRmb3JtcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NDIyNTMKKworICAgICAgICBEdW1teSBpbXBsZW1lbnRhdGlvbiBv
ZiBFZGl0b3JDbGllbnQ6OndpbGxTZXRJbnB1dE1ldGhvZFN0YXRlLgorCisgICAgICAgICogV2Vi
S2l0U3VwcG9ydC9FZGl0b3JDbGllbnRXeC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFZGl0b3JD
bGllbnRXeDo6d2lsbFNldElucHV0TWV0aG9kU3RhdGUpOgorICAgICAgICAqIFdlYktpdFN1cHBv
cnQvRWRpdG9yQ2xpZW50V3guaDoKKwogMjAxMC0wNy0xNCAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJr
aXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpJbmRleDogV2ViS2l0
L3d4L1dlYktpdFN1cHBvcnQvRWRpdG9yQ2xpZW50V3guY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktp
dC93eC9XZWJLaXRTdXBwb3J0L0VkaXRvckNsaWVudFd4LmNwcAkocmV2aXNpb24gNjM1ODkpCisr
KyBXZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9FZGl0b3JDbGllbnRXeC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTUzOCw2ICs1MzgsMTEgQEAgU3RyaW5nIEVkaXRvckNsaWVudFd4OjpnZXRBdXRvQ29y
cmVjdFN1ZwogICAgIHJldHVybiBTdHJpbmcoKTsKIH0KIAordm9pZCBFZGl0b3JDbGllbnRXeDo6
d2lsbFNldElucHV0TWV0aG9kU3RhdGUoKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisK
IHZvaWQgRWRpdG9yQ2xpZW50V3g6OnNldElucHV0TWV0aG9kU3RhdGUoYm9vbCBlbmFibGVkKQog
ewogICAgIG5vdEltcGxlbWVudGVkKCk7CkluZGV4OiBXZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9F
ZGl0b3JDbGllbnRXeC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC93eC9XZWJLaXRTdXBwb3J0L0Vk
aXRvckNsaWVudFd4LmgJKHJldmlzaW9uIDYzNTg5KQorKysgV2ViS2l0L3d4L1dlYktpdFN1cHBv
cnQvRWRpdG9yQ2xpZW50V3guaAkod29ya2luZyBjb3B5KQpAQCAtMTEwLDYgKzExMCw3IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZ2V0R3Vlc3Nlc0ZvcldvcmQoY29uc3QgU3RyaW5nJiwg
VmVjdG9yPFN0cmluZz4mIGd1ZXNzZXMpOwogICAgIHZpcnR1YWwgU3RyaW5nIGdldEF1dG9Db3Jy
ZWN0U3VnZ2VzdGlvbkZvck1pc3NwZWxsZWRXb3JkKGNvbnN0IFdlYkNvcmU6OlN0cmluZyYpOwog
ICAgIAorICAgIHZpcnR1YWwgdm9pZCB3aWxsU2V0SW5wdXRNZXRob2RTdGF0ZSgpOwogICAgIHZp
cnR1YWwgdm9pZCBzZXRJbnB1dE1ldGhvZFN0YXRlKGJvb2wgZW5hYmxlZCk7CiAKIHByaXZhdGU6
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>61854</attachid>
            <date>2010-07-16 15:50:59 -0700</date>
            <delta_ts>2010-07-16 18:06:02 -0700</delta_ts>
            <desc>Fix two typos.</desc>
            <filename>set-input-method-state.diff</filename>
            <type>text/plain</type>
            <size>20515</size>
            <attacher name="James Su">suzhe</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2MzU4OSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjMgQEAKKzIwMTAtMDctMTYgIFpoZSBTdSAgPHN1emhlQGNocm9taXVtLm9yZz4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSRUdSRVNT
SU9OKHI2MTQ4NCk6IEJyb2tlIGZvY3VzIGJlaGF2aW91ciBvbiBRdCBhbmQgcHJvYmFibHkgb3Ro
ZXIgcGxhdGZvcm1zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD00MjI1MworCisgICAgICAgIFRoaXMgcGF0Y2gganVzdCByZXZlcnRzIHRoZSBjaGFuZ2Ug
dG8gV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5jcHAKKyAgICAgICAgbWFkZSBpbiBjaGFu
Z2VzZXQgNjE0ODQsIGFuZCBhZGQgYSBuZXcgbWV0aG9kIG5hbWVkCisgICAgICAgIHdpbGxTZXRJ
bnB1dE1ldGhvZFN0YXRlIGluIEVkaXRvckNsaWVudCBpbnRlcmZhY2UsIHdoaWNoIGdldHMgY2Fs
bGVkCisgICAgICAgIGluIEZvY3VzQ29udHJvbGxlciBqdXN0IGJlZm9yZSBjaGFuZ2luZyB0aGUg
Zm9jdXNlZCBub2RlLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgYmVjYXVzZSBubyBuZXcgZnVu
Y3Rpb25hbGl0eS4KKworICAgICAgICAqIGxvYWRlci9FbXB0eUNsaWVudHMuaDoKKyAgICAgICAg
KFdlYkNvcmU6OkVtcHR5RWRpdG9yQ2xpZW50Ojp3aWxsU2V0SW5wdXRNZXRob2RTdGF0ZSk6Cisg
ICAgICAgICogcGFnZS9FZGl0b3JDbGllbnQuaDoKKyAgICAgICAgKiBwYWdlL0ZvY3VzQ29udHJv
bGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb2N1c0NvbnRyb2xsZXI6OnNldEZvY3VzZWRO
b2RlKToKKwogMjAxMC0wNy0xNiAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gRmlzaGVyLgpJbmRleDogV2ViQ29yZS9sb2FkZXIv
RW1wdHlDbGllbnRzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRz
LmgJKHJldmlzaW9uIDYzNTg5KQorKysgV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgJKHdv
cmtpbmcgY29weSkKQEAgLTQzNCw2ICs0MzQsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lk
IHNob3dTcGVsbGluZ1VJKGJvb2wpIHsgfQogICAgIHZpcnR1YWwgYm9vbCBzcGVsbGluZ1VJSXNT
aG93aW5nKCkgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIHZvaWQgZ2V0R3Vlc3Nlc0Zv
cldvcmQoY29uc3QgU3RyaW5nJiwgVmVjdG9yPFN0cmluZz4mKSB7IH0KKyAgICB2aXJ0dWFsIHZv
aWQgd2lsbFNldElucHV0TWV0aG9kU3RhdGUoKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgc2V0SW5w
dXRNZXRob2RTdGF0ZShib29sKSB7IH0KIAogCkBAIC00OTUsNCArNDk2LDMgQEAgcHVibGljOgog
fQogCiAjZW5kaWYgLy8gRW1wdHlDbGllbnRzX2gKLQpJbmRleDogV2ViQ29yZS9wYWdlL0VkaXRv
ckNsaWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGFnZS9FZGl0b3JDbGllbnQuaAkocmV2
aXNpb24gNjM1ODkpCisrKyBXZWJDb3JlL3BhZ2UvRWRpdG9yQ2xpZW50LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTE4MywxMCArMTgzLDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2hvd1Nw
ZWxsaW5nVUkoYm9vbCBzaG93KSA9IDA7CiAgICAgdmlydHVhbCBib29sIHNwZWxsaW5nVUlJc1No
b3dpbmcoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGdldEd1ZXNzZXNGb3JXb3JkKGNvbnN0IFN0
cmluZyYsIFZlY3RvcjxTdHJpbmc+JiBndWVzc2VzKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHdp
bGxTZXRJbnB1dE1ldGhvZFN0YXRlKCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzZXRJbnB1dE1l
dGhvZFN0YXRlKGJvb2wgZW5hYmxlZCkgPSAwOwogfTsKIAogfQogCiAjZW5kaWYgLy8gRWRpdG9y
Q2xpZW50X2gKLQpJbmRleDogV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5jcHAJKHJldmlzaW9uIDYzNTg5
KQorKysgV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTU5NSwyMiArNTk1LDIxIEBAIGJvb2wgRm9jdXNDb250cm9sbGVyOjpzZXRGb2N1c2VkTm9kZShO
b2QKICAgICBpZiAob2xkRm9jdXNlZE5vZGUgJiYgb2xkRm9jdXNlZE5vZGUtPnJvb3RFZGl0YWJs
ZUVsZW1lbnQoKSA9PSBvbGRGb2N1c2VkTm9kZSAmJiAhcmVsaW5xdWlzaGVzRWRpdGluZ0ZvY3Vz
KG9sZEZvY3VzZWROb2RlKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgLy8gU2V0IGlu
cHV0IG1ldGhvZCBzdGF0ZSBiZWZvcmUgY2hhbmdpbmcgdGhlIGZvY3VzZWQgbm9kZSwgc28gdGhh
dCB0aGUKLSAgICAvLyBpbnB1dCBtZXRob2QgY2FuIHN0aWxsIGhhdmUgYSBjaGFuY2UgdG8gZmlu
aXNoIHRoZSBvbmdvaW5nIGNvbXBvc2l0aW9uCi0gICAgLy8gc2Vzc2lvbi4KLSAgICBtX3BhZ2Ut
PmVkaXRvckNsaWVudCgpLT5zZXRJbnB1dE1ldGhvZFN0YXRlKG5vZGUgPyBub2RlLT5zaG91bGRV
c2VJbnB1dE1ldGhvZCgpIDogZmFsc2UpOworICAgIG1fcGFnZS0+ZWRpdG9yQ2xpZW50KCktPndp
bGxTZXRJbnB1dE1ldGhvZFN0YXRlKCk7CiAKICAgICBjbGVhclNlbGVjdGlvbklmTmVlZGVkKG9s
ZEZvY3VzZWRGcmFtZS5nZXQoKSwgbmV3Rm9jdXNlZEZyYW1lLmdldCgpLCBub2RlKTsKIAogICAg
IGlmICghbm9kZSkgewogICAgICAgICBpZiAob2xkRG9jdW1lbnQpCiAgICAgICAgICAgICBvbGRE
b2N1bWVudC0+c2V0Rm9jdXNlZE5vZGUoMCk7CisgICAgICAgIG1fcGFnZS0+ZWRpdG9yQ2xpZW50
KCktPnNldElucHV0TWV0aG9kU3RhdGUoZmFsc2UpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAg
ICB9CiAKICAgICBSZWZQdHI8RG9jdW1lbnQ+IG5ld0RvY3VtZW50ID0gbm9kZS0+ZG9jdW1lbnQo
KTsKIAogICAgIGlmIChuZXdEb2N1bWVudCAmJiBuZXdEb2N1bWVudC0+Zm9jdXNlZE5vZGUoKSA9
PSBub2RlKSB7CisgICAgICAgIG1fcGFnZS0+ZWRpdG9yQ2xpZW50KCktPnNldElucHV0TWV0aG9k
U3RhdGUobm9kZS0+c2hvdWxkVXNlSW5wdXRNZXRob2QoKSk7CiAgICAgICAgIHJldHVybiB0cnVl
OwogICAgIH0KICAgICAKQEAgLTYyMiw2ICs2MjEsOCBAQCBib29sIEZvY3VzQ29udHJvbGxlcjo6
c2V0Rm9jdXNlZE5vZGUoTm9kCiAgICAgaWYgKG5ld0RvY3VtZW50KQogICAgICAgICBuZXdEb2N1
bWVudC0+c2V0Rm9jdXNlZE5vZGUobm9kZSk7CiAgICAgCisgICAgbV9wYWdlLT5lZGl0b3JDbGll
bnQoKS0+c2V0SW5wdXRNZXRob2RTdGF0ZShub2RlLT5zaG91bGRVc2VJbnB1dE1ldGhvZCgpKTsK
KwogICAgIHJldHVybiB0cnVlOwogfQogCkluZGV4OiBXZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJLaXQyL0NoYW5nZUxvZwkocmV2aXNpb24gNjM1ODkpCisrKyBXZWJLaXQyL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDEwLTA3LTE2ICBaaGUg
U3UgIDxzdXpoZUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgUkVHUkVTU0lPTihyNjE0ODQpOiBCcm9rZSBmb2N1cyBiZWhhdmlv
dXIgb24gUXQgYW5kIHByb2JhYmx5IG90aGVyIHBsYXRmb3JtcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDIyNTMKKworICAgICAgICBEdW1teSBpbXBs
ZW1lbnRhdGlvbiBvZiBFZGl0b3JDbGllbnQ6OndpbGxTZXRJbnB1dE1ldGhvZFN0YXRlLgorCisg
ICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJFZGl0b3JDbGllbnQ6OndpbGxTZXRJbnB1dE1ldGhvZFN0YXRl
KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5o
OgorCiAyMDEwLTA3LTE2ICBBbGljZSBMaXUgIDxhbGljZS5saXVAYXBwbGUuY29tPgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IFNhbSBXZWluaWcuCkluZGV4OiBXZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1dl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmNwcAkocmV2aXNpb24gNjM1
ODkpCisrKyBXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDE1LDEwICs0MTUsMTQgQEAgdm9pZCBXZWJFZGl0b3JD
bGllbnQ6OmdldEd1ZXNzZXNGb3JXb3JkKAogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAKK3Zv
aWQgV2ViRWRpdG9yQ2xpZW50Ojp3aWxsU2V0SW5wdXRNZXRob2RTdGF0ZSgpCit7CisgICAgbm90
SW1wbGVtZW50ZWQoKTsKK30KKwogdm9pZCBXZWJFZGl0b3JDbGllbnQ6OnNldElucHV0TWV0aG9k
U3RhdGUoYm9vbCkKIHsKICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKLQpJbmRleDogV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkVk
aXRvckNsaWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJFZGl0b3JDbGllbnQuaAkocmV2aXNpb24gNjM1ODkpCisrKyBXZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmgJKHdvcmtpbmcgY29weSkKQEAg
LTEyOSw2ICsxMjksNyBAQCBwcml2YXRlOiAgICAKICAgICB2aXJ0dWFsIHZvaWQgc2hvd1NwZWxs
aW5nVUkoYm9vbCBzaG93KTsKICAgICB2aXJ0dWFsIGJvb2wgc3BlbGxpbmdVSUlzU2hvd2luZygp
OwogICAgIHZpcnR1YWwgdm9pZCBnZXRHdWVzc2VzRm9yV29yZChjb25zdCBXZWJDb3JlOjpTdHJp
bmcmLCBWZWN0b3I8V2ViQ29yZTo6U3RyaW5nPiYgZ3Vlc3Nlcyk7CisgICAgdmlydHVhbCB2b2lk
IHdpbGxTZXRJbnB1dE1ldGhvZFN0YXRlKCk7CiAgICAgdmlydHVhbCB2b2lkIHNldElucHV0TWV0
aG9kU3RhdGUoYm9vbCBlbmFibGVkKTsKIAogICAgIFdlYlBhZ2UqIG1fcGFnZTsKSW5kZXg6IFdl
YktpdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L0NoYW5nZUxvZwkocmV2aXNpb24g
NjM1ODkpCisrKyBXZWJLaXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYg
QEAKKzIwMTAtMDctMTYgIFpoZSBTdSAgPHN1emhlQGNocm9taXVtLm9yZz4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSRUdSRVNTSU9OKHI2MTQ4NCk6
IEJyb2tlIGZvY3VzIGJlaGF2aW91ciBvbiBRdCBhbmQgcHJvYmFibHkgb3RoZXIgcGxhdGZvcm1z
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MjI1Mwor
CisgICAgICAgIER1bW15IGltcGxlbWVudGF0aW9uIG9mIEVkaXRvckNsaWVudDo6d2lsbFNldElu
cHV0TWV0aG9kU3RhdGUuCisKKyAgICAgICAgKiBlZmwvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xp
ZW50RWZsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVkaXRvckNsaWVudEVmbDo6d2lsbFNldElu
cHV0TWV0aG9kU3RhdGUpOgorICAgICAgICAqIGVmbC9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGll
bnRFZmwuaDoKKwogMjAxMC0wNy0xNSAgTWFyayBSb3dlICA8bXJvd2VAYXBwbGUuY29tPgogCiAg
ICAgICAgIFVwZGF0ZSB0aGUgc29ydGluZyBpbiB0aGUgWGNvZGUgcHJvamVjdCBmaWxlcy4KSW5k
ZXg6IFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2Nocm9t
aXVtL0NoYW5nZUxvZwkocmV2aXNpb24gNjM1ODkpCisrKyBXZWJLaXQvY2hyb21pdW0vQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTggQEAKKzIwMTAtMDctMTYgIFpoZSBTdSAg
PHN1emhlQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBSRUdSRVNTSU9OKHI2MTQ4NCk6IEJyb2tlIGZvY3VzIGJlaGF2aW91ciBv
biBRdCBhbmQgcHJvYmFibHkgb3RoZXIgcGxhdGZvcm1zCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MjI1MworCisgICAgICAgIEltcGxlbWVudCBFZGl0
b3JDbGllbnQ6OndpbGxTZXRJbnB1dE1ldGhvZFN0YXRlIHdoaWNoIHJlcGxhY2VzCisgICAgICAg
IHNldElucHV0TWV0aG9kU3RhdGUgbWV0aG9kLgorCisgICAgICAgICogc3JjL0VkaXRvckNsaWVu
dEltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpFZGl0b3JDbGllbnRJbXBsOjp3aWxsU2V0SW5w
dXRNZXRob2RTdGF0ZSk6CisgICAgICAgIChXZWJLaXQ6OkVkaXRvckNsaWVudEltcGw6OnNldElu
cHV0TWV0aG9kU3RhdGUpOgorICAgICAgICAqIHNyYy9FZGl0b3JDbGllbnRJbXBsLmg6CisKIDIw
MTAtMDctMTYgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IERhcmluIEZpc2hlci4KSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9zcmMvRWRpdG9y
Q2xpZW50SW1wbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2Nocm9taXVtL3NyYy9FZGl0b3JD
bGllbnRJbXBsLmNwcAkocmV2aXNpb24gNjM1ODkpCisrKyBXZWJLaXQvY2hyb21pdW0vc3JjL0Vk
aXRvckNsaWVudEltcGwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05MzUsMTAgKzkzNSwxNCBAQCB2
b2lkIEVkaXRvckNsaWVudEltcGw6OmdldEd1ZXNzZXNGb3JXb3JkCiAgICAgbm90SW1wbGVtZW50
ZWQoKTsKIH0KIAotdm9pZCBFZGl0b3JDbGllbnRJbXBsOjpzZXRJbnB1dE1ldGhvZFN0YXRlKGJv
b2wgZW5hYmxlZCkKK3ZvaWQgRWRpdG9yQ2xpZW50SW1wbDo6d2lsbFNldElucHV0TWV0aG9kU3Rh
dGUoKQogewogICAgIGlmIChtX3dlYlZpZXctPmNsaWVudCgpKQogICAgICAgICBtX3dlYlZpZXct
PmNsaWVudCgpLT5yZXNldElucHV0TWV0aG9kKCk7CiB9CiAKK3ZvaWQgRWRpdG9yQ2xpZW50SW1w
bDo6c2V0SW5wdXRNZXRob2RTdGF0ZShib29sKQoreworfQorCiB9IC8vIG5hbWVzYWNlIFdlYktp
dApJbmRleDogV2ViS2l0L2Nocm9taXVtL3NyYy9FZGl0b3JDbGllbnRJbXBsLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViS2l0L2Nocm9taXVtL3NyYy9FZGl0b3JDbGllbnRJbXBsLmgJKHJldmlzaW9uIDYz
NTg5KQorKysgV2ViS2l0L2Nocm9taXVtL3NyYy9FZGl0b3JDbGllbnRJbXBsLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTEwOCw2ICsxMDgsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIHNwZWxs
aW5nVUlJc1Nob3dpbmcoKTsKICAgICB2aXJ0dWFsIHZvaWQgZ2V0R3Vlc3Nlc0ZvcldvcmQoY29u
c3QgV2ViQ29yZTo6U3RyaW5nJiB3b3JkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBXVEY6OlZlY3RvcjxXZWJDb3JlOjpTdHJpbmc+JiBndWVzc2VzKTsKKyAgICB2aXJ0dWFs
IHZvaWQgd2lsbFNldElucHV0TWV0aG9kU3RhdGUoKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0SW5w
dXRNZXRob2RTdGF0ZShib29sIGVuYWJsZWQpOwogCiAgICAgLy8gU2hvd3MgdGhlIGZvcm0gYXV0
b2ZpbGwgcG9wdXAgZm9yIHxub2RlfCBpZiBpdCBpcyBhbiBIVE1MSW5wdXRFbGVtZW50IGFuZApJ
bmRleDogV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRFZmwuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50RWZsLmNwcAko
cmV2aXNpb24gNjM1ODkpCisrKyBXZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVu
dEVmbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQwLDYgKzQwLDExIEBAIHVzaW5nIG5hbWVzcGFj
ZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK3ZvaWQgRWRpdG9yQ2xpZW50RWZs
Ojp3aWxsU2V0SW5wdXRNZXRob2RTdGF0ZSgpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30K
Kwogdm9pZCBFZGl0b3JDbGllbnRFZmw6OnNldElucHV0TWV0aG9kU3RhdGUoYm9vbCBhY3RpdmUp
CiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKSW5kZXg6IFdlYktpdC9lZmwvV2ViQ29yZVN1cHBv
cnQvRWRpdG9yQ2xpZW50RWZsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2VmbC9XZWJDb3JlU3Vw
cG9ydC9FZGl0b3JDbGllbnRFZmwuaAkocmV2aXNpb24gNjM1ODkpCisrKyBXZWJLaXQvZWZsL1dl
YkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEVmbC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMTEsNiAr
MTExLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBzaG93U3BlbGxpbmdVSShib29sIHNo
b3cpOwogICAgIHZpcnR1YWwgYm9vbCBzcGVsbGluZ1VJSXNTaG93aW5nKCk7CiAgICAgdmlydHVh
bCB2b2lkIGdldEd1ZXNzZXNGb3JXb3JkKGNvbnN0IFN0cmluZyYsIFdURjo6VmVjdG9yPFN0cmlu
Zz4mIGd1ZXNzZXMpOworICAgIHZpcnR1YWwgdm9pZCB3aWxsU2V0SW5wdXRNZXRob2RTdGF0ZSgp
OwogICAgIHZpcnR1YWwgdm9pZCBzZXRJbnB1dE1ldGhvZFN0YXRlKGJvb2wgZW5hYmxlZCk7CiAK
IHByaXZhdGU6CkluZGV4OiBXZWJLaXQvZ3RrL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJL
aXQvZ3RrL0NoYW5nZUxvZwkocmV2aXNpb24gNjM1ODkpCisrKyBXZWJLaXQvZ3RrL0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDEwLTA3LTE2ICBaaGUgU3UgIDxz
dXpoZUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgUkVHUkVTU0lPTihyNjE0ODQpOiBCcm9rZSBmb2N1cyBiZWhhdmlvdXIgb24g
UXQgYW5kIHByb2JhYmx5IG90aGVyIHBsYXRmb3JtcworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDIyNTMKKworICAgICAgICBEdW1teSBpbXBsZW1lbnRh
dGlvbiBvZiBFZGl0b3JDbGllbnQ6OndpbGxTZXRJbnB1dE1ldGhvZFN0YXRlLgorCisgICAgICAg
ICogV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50R3RrLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
RWRpdG9yQ2xpZW50Ojp3aWxsU2V0SW5wdXRNZXRob2RTdGF0ZSk6CisgICAgICAgICogV2ViQ29y
ZVN1cHBvcnQvRWRpdG9yQ2xpZW50R3RrLmg6CisKIDIwMTAtMDctMTYgIE5hdGUgQ2hhcGluICA8
amFwaGV0QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBGaXNoZXIu
CkluZGV4OiBXZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEd0ay5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRHdGsuY3Bw
CShyZXZpc2lvbiA2MzU4OSkKKysrIFdlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xp
ZW50R3RrLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjE1LDYgKzIxNSwxMCBAQCB2b2lkIEVkaXRv
ckNsaWVudDo6dXBkYXRlUGVuZGluZ0NvbXBvc2l0CiAgICAgICAgIG1fcGVuZGluZ0NvbXBvc2l0
aW9uLnNldChnX3N0cmNvbmNhdChtX3BlbmRpbmdDb21wb3NpdGlvbi5nZXQoKSwgbmV3Q29tcG9z
aXRpb24sIE5VTEwpKTsKIH0KIAordm9pZCBFZGl0b3JDbGllbnQ6OndpbGxTZXRJbnB1dE1ldGhv
ZFN0YXRlKCkKK3sKK30KKwogdm9pZCBFZGl0b3JDbGllbnQ6OnNldElucHV0TWV0aG9kU3RhdGUo
Ym9vbCBhY3RpdmUpCiB7CiAgICAgV2ViS2l0V2ViVmlld1ByaXZhdGUqIHByaXYgPSBtX3dlYlZp
ZXctPnByaXY7CkluZGV4OiBXZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEd0
ay5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50
R3RrLmgJKHJldmlzaW9uIDYzNTg5KQorKysgV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9FZGl0
b3JDbGllbnRHdGsuaAkod29ya2luZyBjb3B5KQpAQCAtMTMwLDYgKzEzMCw3IEBAIG5hbWVzcGFj
ZSBXZWJLaXQgewogICAgICAgICB2aXJ0dWFsIHZvaWQgc2hvd1NwZWxsaW5nVUkoYm9vbCBzaG93
KTsKICAgICAgICAgdmlydHVhbCBib29sIHNwZWxsaW5nVUlJc1Nob3dpbmcoKTsKICAgICAgICAg
dmlydHVhbCB2b2lkIGdldEd1ZXNzZXNGb3JXb3JkKGNvbnN0IFdlYkNvcmU6OlN0cmluZyYsIFdU
Rjo6VmVjdG9yPFdlYkNvcmU6OlN0cmluZz4mIGd1ZXNzZXMpOworICAgICAgICB2aXJ0dWFsIHZv
aWQgd2lsbFNldElucHV0TWV0aG9kU3RhdGUoKTsKICAgICAgICAgdmlydHVhbCB2b2lkIHNldElu
cHV0TWV0aG9kU3RhdGUoYm9vbCBlbmFibGVkKTsKIAogICAgIHByaXZhdGU6CkluZGV4OiBXZWJL
aXQvaGFpa3UvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9oYWlrdS9DaGFuZ2VMb2cJ
KHJldmlzaW9uIDYzNTg5KQorKysgV2ViS2l0L2hhaWt1L0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDE2IEBACisyMDEwLTA3LTE2ICBaaGUgU3UgIDxzdXpoZUBjaHJvbWl1bS5v
cmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUkVH
UkVTU0lPTihyNjE0ODQpOiBCcm9rZSBmb2N1cyBiZWhhdmlvdXIgb24gUXQgYW5kIHByb2JhYmx5
IG90aGVyIHBsYXRmb3JtcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NDIyNTMKKworICAgICAgICBEdW1teSBpbXBsZW1lbnRhdGlvbiBvZiBFZGl0b3JD
bGllbnQ6OndpbGxTZXRJbnB1dE1ldGhvZFN0YXRlLgorCisgICAgICAgICogV2ViQ29yZVN1cHBv
cnQvRWRpdG9yQ2xpZW50SGFpa3UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RWRpdG9yQ2xpZW50
SGFpa3U6OndpbGxTZXRJbnB1dE1ldGhvZFN0YXRlKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9y
dC9FZGl0b3JDbGllbnRIYWlrdS5oOgorCiAyMDEwLTA3LTE0ICBTYW0gV2VpbmlnICA8c2FtQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCkluZGV4OiBXZWJL
aXQvaGFpa3UvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50SGFpa3UuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYktpdC9oYWlrdS9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRIYWlrdS5jcHAJKHJl
dmlzaW9uIDYzNTg5KQorKysgV2ViS2l0L2hhaWt1L1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVu
dEhhaWt1LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDY2LDYgKzQ2NiwxMSBAQCB2b2lkIEVkaXRv
ckNsaWVudEhhaWt1OjpnZXRHdWVzc2VzRm9yV29yCiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0K
IAordm9pZCBFZGl0b3JDbGllbnRIYWlrdTo6d2lsbFNldElucHV0TWV0aG9kU3RhdGUoKQorewor
ICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKIHZvaWQgRWRpdG9yQ2xpZW50SGFpa3U6OnNldElu
cHV0TWV0aG9kU3RhdGUoYm9vbCBlbmFibGVkKQogewogICAgIG5vdEltcGxlbWVudGVkKCk7CkBA
IC00NzcsNCArNDgyLDMgQEAgYm9vbCBFZGl0b3JDbGllbnRIYWlrdTo6aXNFZGl0aW5nKCkgY29u
cwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KSW5kZXg6IFdlYktpdC9oYWlrdS9XZWJD
b3JlU3VwcG9ydC9FZGl0b3JDbGllbnRIYWlrdS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9oYWlr
dS9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRIYWlrdS5oCShyZXZpc2lvbiA2MzU4OSkKKysr
IFdlYktpdC9oYWlrdS9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRIYWlrdS5oCSh3b3JraW5n
IGNvcHkpCkBAIC0xMDgsNiArMTA4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2
aXJ0dWFsIHZvaWQgc2hvd1NwZWxsaW5nVUkoYm9vbCBzaG93KTsKICAgICAgICAgdmlydHVhbCBi
b29sIHNwZWxsaW5nVUlJc1Nob3dpbmcoKTsKICAgICAgICAgdmlydHVhbCB2b2lkIGdldEd1ZXNz
ZXNGb3JXb3JkKGNvbnN0IFN0cmluZyYsIFZlY3RvcjxTdHJpbmc+JiBndWVzc2VzKTsKKyAgICAg
ICAgdmlydHVhbCB2b2lkIHdpbGxTZXRJbnB1dE1ldGhvZFN0YXRlKCk7CiAgICAgICAgIHZpcnR1
YWwgdm9pZCBzZXRJbnB1dE1ldGhvZFN0YXRlKGJvb2wgZW5hYmxlZCk7CiAKICAgICAgICAgYm9v
bCBpc0VkaXRpbmcoKSBjb25zdDsKQEAgLTEyMSw0ICsxMjIsMyBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFZGl0b3JDbGllbnRIYWlr
dV9oCi0KSW5kZXg6IFdlYktpdC9tYWMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9t
YWMvQ2hhbmdlTG9nCShyZXZpc2lvbiA2MzU4OSkKKysrIFdlYktpdC9tYWMvQ2hhbmdlTG9nCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTAtMDctMTYgIFpoZSBTdSAgPHN1emhl
QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBSRUdSRVNTSU9OKHI2MTQ4NCk6IEJyb2tlIGZvY3VzIGJlaGF2aW91ciBvbiBRdCBh
bmQgcHJvYmFibHkgb3RoZXIgcGxhdGZvcm1zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD00MjI1MworCisgICAgICAgIER1bW15IGltcGxlbWVudGF0aW9u
IG9mIEVkaXRvckNsaWVudDo6d2lsbFNldElucHV0TWV0aG9kU3RhdGUuCisKKyAgICAgICAgKiBX
ZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuaDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9y
dC9XZWJFZGl0b3JDbGllbnQubW06CisgICAgICAgIChXZWJFZGl0b3JDbGllbnQ6OndpbGxTZXRJ
bnB1dE1ldGhvZFN0YXRlKToKKwogMjAxMC0wNy0xNiAgTWlraGFpbCBOYWdhbm92ICA8bW5hZ2Fu
b3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFBhdmVsIEZlbGRtYW4uCklu
ZGV4OiBXZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmgJKHJldmlz
aW9uIDYzNTg5KQorKysgV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQu
aAkod29ya2luZyBjb3B5KQpAQCAtMTI3LDYgKzEyNyw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFs
IHZvaWQgc2hvd1NwZWxsaW5nVUkoYm9vbCBzaG93KTsKICAgICB2aXJ0dWFsIGJvb2wgc3BlbGxp
bmdVSUlzU2hvd2luZygpOwogICAgIHZpcnR1YWwgdm9pZCBnZXRHdWVzc2VzRm9yV29yZChjb25z
dCBXZWJDb3JlOjpTdHJpbmcmLCBXVEY6OlZlY3RvcjxXZWJDb3JlOjpTdHJpbmc+JiBndWVzc2Vz
KTsKKyAgICB2aXJ0dWFsIHZvaWQgd2lsbFNldElucHV0TWV0aG9kU3RhdGUoKTsKICAgICB2aXJ0
dWFsIHZvaWQgc2V0SW5wdXRNZXRob2RTdGF0ZShib29sIGVuYWJsZWQpOwogcHJpdmF0ZToKICAg
ICB2b2lkIHJlZ2lzdGVyQ29tbWFuZEZvclVuZG9PclJlZG8oUGFzc1JlZlB0cjxXZWJDb3JlOjpF
ZGl0Q29tbWFuZD4sIGJvb2wgaXNSZWRvKTsKSW5kZXg6IFdlYktpdC9tYWMvV2ViQ29yZVN1cHBv
cnQvV2ViRWRpdG9yQ2xpZW50Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9tYWMvV2ViQ29yZVN1
cHBvcnQvV2ViRWRpdG9yQ2xpZW50Lm1tCShyZXZpc2lvbiA2MzU4OSkKKysrIFdlYktpdC9tYWMv
V2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC04MTgs
NiArODE4LDEwIEBAIHZvaWQgV2ViRWRpdG9yQ2xpZW50OjpnZXRHdWVzc2VzRm9yV29yZCgKICAg
ICB9CiB9CiAKK3ZvaWQgV2ViRWRpdG9yQ2xpZW50Ojp3aWxsU2V0SW5wdXRNZXRob2RTdGF0ZSgp
Cit7Cit9CisKIHZvaWQgV2ViRWRpdG9yQ2xpZW50OjpzZXRJbnB1dE1ldGhvZFN0YXRlKGJvb2wp
CiB7CiB9CkluZGV4OiBXZWJLaXQvcXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9x
dC9DaGFuZ2VMb2cJKHJldmlzaW9uIDYzNTg5KQorKysgV2ViS2l0L3F0L0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDEwLTA3LTE2ICBaaGUgU3UgIDxzdXpoZUBj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgUkVHUkVTU0lPTihyNjE0ODQpOiBCcm9rZSBmb2N1cyBiZWhhdmlvdXIgb24gUXQgYW5k
IHByb2JhYmx5IG90aGVyIHBsYXRmb3JtcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NDIyNTMKKworICAgICAgICBEdW1teSBpbXBsZW1lbnRhdGlvbiBv
ZiBFZGl0b3JDbGllbnQ6OndpbGxTZXRJbnB1dE1ldGhvZFN0YXRlLgorCisgICAgICAgICogV2Vi
Q29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50UXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RWRpdG9y
Q2xpZW50UXQ6OndpbGxTZXRJbnB1dE1ldGhvZFN0YXRlKToKKyAgICAgICAgKiBXZWJDb3JlU3Vw
cG9ydC9FZGl0b3JDbGllbnRRdC5oOgorCiAyMDEwLTA3LTE0ICBTYW0gV2VpbmlnICA8c2FtQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCkluZGV4OiBXZWJL
aXQvcXQvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50UXQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YktpdC9xdC9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRRdC5jcHAJKHJldmlzaW9uIDYzNTg5
KQorKysgV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudFF0LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNTg3LDYgKzU4NywxMCBAQCBib29sIEVkaXRvckNsaWVudFF0Ojppc0VkaXRp
bmcoKSBjb25zdAogICAgIHJldHVybiBtX2VkaXRpbmc7CiB9CiAKK3ZvaWQgRWRpdG9yQ2xpZW50
UXQ6OndpbGxTZXRJbnB1dE1ldGhvZFN0YXRlKCkKK3sKK30KKwogdm9pZCBFZGl0b3JDbGllbnRR
dDo6c2V0SW5wdXRNZXRob2RTdGF0ZShib29sIGFjdGl2ZSkKIHsKICAgICBRV2ViUGFnZUNsaWVu
dCogd2ViUGFnZUNsaWVudCA9IG1fcGFnZS0+ZC0+Y2xpZW50OwpJbmRleDogV2ViS2l0L3F0L1dl
YkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudFF0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3F0L1dl
YkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudFF0LmgJKHJldmlzaW9uIDYzNTg5KQorKysgV2ViS2l0
L3F0L1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudFF0LmgJKHdvcmtpbmcgY29weSkKQEAgLTEw
NSw2ICsxMDUsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNob3dTcGVsbGluZ1VJKGJv
b2wgc2hvdyk7CiAgICAgdmlydHVhbCBib29sIHNwZWxsaW5nVUlJc1Nob3dpbmcoKTsKICAgICB2
aXJ0dWFsIHZvaWQgZ2V0R3Vlc3Nlc0ZvcldvcmQoY29uc3QgU3RyaW5nJiwgVmVjdG9yPFN0cmlu
Zz4mIGd1ZXNzZXMpOworICAgIHZpcnR1YWwgdm9pZCB3aWxsU2V0SW5wdXRNZXRob2RTdGF0ZSgp
OwogICAgIHZpcnR1YWwgdm9pZCBzZXRJbnB1dE1ldGhvZFN0YXRlKGJvb2wgZW5hYmxlZCk7CiAK
ICAgICBib29sIGlzRWRpdGluZygpIGNvbnN0OwpJbmRleDogV2ViS2l0L3dpbi9DaGFuZ2VMb2cK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViS2l0L3dpbi9DaGFuZ2VMb2cJKHJldmlzaW9uIDYzNTg5KQorKysg
V2ViS2l0L3dpbi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNiBAQAorMjAx
MC0wNy0xNiAgWmhlIFN1ICA8c3V6aGVAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJFR1JFU1NJT04ocjYxNDg0KTogQnJva2Ug
Zm9jdXMgYmVoYXZpb3VyIG9uIFF0IGFuZCBwcm9iYWJseSBvdGhlciBwbGF0Zm9ybXMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQyMjUzCisKKyAgICAg
ICAgRHVtbXkgaW1wbGVtZW50YXRpb24gb2YgRWRpdG9yQ2xpZW50Ojp3aWxsU2V0SW5wdXRNZXRo
b2RTdGF0ZS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5jcHA6
CisgICAgICAgIChXZWJFZGl0b3JDbGllbnQ6OndpbGxTZXRJbnB1dE1ldGhvZFN0YXRlKToKKyAg
ICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuaDoKKwogMjAxMC0wNy0xNiAg
TWlraGFpbCBOYWdhbm92ICA8bW5hZ2Fub3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IFBhdmVsIEZlbGRtYW4uCkluZGV4OiBXZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dl
YkVkaXRvckNsaWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9y
dC9XZWJFZGl0b3JDbGllbnQuY3BwCShyZXZpc2lvbiA2MzU4OSkKKysrIFdlYktpdC93aW4vV2Vi
Q29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzc2LDYg
Kzc3NiwxMCBAQCB2b2lkIFdlYkVkaXRvckNsaWVudDo6Z2V0R3Vlc3Nlc0ZvcldvcmQoCiAgICAg
fQogfQogCit2b2lkIFdlYkVkaXRvckNsaWVudDo6d2lsbFNldElucHV0TWV0aG9kU3RhdGUoKQor
eworfQorCiB2b2lkIFdlYkVkaXRvckNsaWVudDo6c2V0SW5wdXRNZXRob2RTdGF0ZShib29sIGVu
YWJsZWQpCiB7CiAgICAgbV93ZWJWaWV3LT5zZXRJbnB1dE1ldGhvZFN0YXRlKGVuYWJsZWQpOwpJ
bmRleDogV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5oCShyZXZp
c2lvbiA2MzU4OSkKKysrIFdlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50
LmgJKHdvcmtpbmcgY29weSkKQEAgLTEwOSw2ICsxMDksNyBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCBib29sIHNwZWxsaW5nVUlJc1Nob3dpbmcoKTsKICAgICB2aXJ0dWFsIHZvaWQgZ2V0R3Vlc3Nl
c0ZvcldvcmQoY29uc3QgV2ViQ29yZTo6U3RyaW5nJiwgVmVjdG9yPFdlYkNvcmU6OlN0cmluZz4m
IGd1ZXNzZXMpOwogCisgICAgdmlydHVhbCB2b2lkIHdpbGxTZXRJbnB1dE1ldGhvZFN0YXRlKCk7
CiAgICAgdmlydHVhbCB2b2lkIHNldElucHV0TWV0aG9kU3RhdGUoYm9vbCk7CiAKIHByaXZhdGU6
CkluZGV4OiBXZWJLaXQvd3gvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC93eC9DaGFu
Z2VMb2cJKHJldmlzaW9uIDYzNTg5KQorKysgV2ViS2l0L3d4L0NoYW5nZUxvZwkod29ya2luZyBj
b3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDEwLTA3LTE2ICBaaGUgU3UgIDxzdXpoZUBjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
UkVHUkVTU0lPTihyNjE0ODQpOiBCcm9rZSBmb2N1cyBiZWhhdmlvdXIgb24gUXQgYW5kIHByb2Jh
Ymx5IG90aGVyIHBsYXRmb3JtcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NDIyNTMKKworICAgICAgICBEdW1teSBpbXBsZW1lbnRhdGlvbiBvZiBFZGl0
b3JDbGllbnQ6OndpbGxTZXRJbnB1dE1ldGhvZFN0YXRlLgorCisgICAgICAgICogV2ViS2l0U3Vw
cG9ydC9FZGl0b3JDbGllbnRXeC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFZGl0b3JDbGllbnRX
eDo6d2lsbFNldElucHV0TWV0aG9kU3RhdGUpOgorICAgICAgICAqIFdlYktpdFN1cHBvcnQvRWRp
dG9yQ2xpZW50V3guaDoKKwogMjAxMC0wNy0xNCAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3Jn
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpJbmRleDogV2ViS2l0L3d4L1dl
YktpdFN1cHBvcnQvRWRpdG9yQ2xpZW50V3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC93eC9X
ZWJLaXRTdXBwb3J0L0VkaXRvckNsaWVudFd4LmNwcAkocmV2aXNpb24gNjM1ODkpCisrKyBXZWJL
aXQvd3gvV2ViS2l0U3VwcG9ydC9FZGl0b3JDbGllbnRXeC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTUzOCw2ICs1MzgsMTEgQEAgU3RyaW5nIEVkaXRvckNsaWVudFd4OjpnZXRBdXRvQ29ycmVjdFN1
ZwogICAgIHJldHVybiBTdHJpbmcoKTsKIH0KIAordm9pZCBFZGl0b3JDbGllbnRXeDo6d2lsbFNl
dElucHV0TWV0aG9kU3RhdGUoKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKIHZvaWQg
RWRpdG9yQ2xpZW50V3g6OnNldElucHV0TWV0aG9kU3RhdGUoYm9vbCBlbmFibGVkKQogewogICAg
IG5vdEltcGxlbWVudGVkKCk7CkluZGV4OiBXZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9FZGl0b3JD
bGllbnRXeC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC93eC9XZWJLaXRTdXBwb3J0L0VkaXRvckNs
aWVudFd4LmgJKHJldmlzaW9uIDYzNTg5KQorKysgV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvRWRp
dG9yQ2xpZW50V3guaAkod29ya2luZyBjb3B5KQpAQCAtMTEwLDYgKzExMCw3IEBAIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIHZvaWQgZ2V0R3Vlc3Nlc0ZvcldvcmQoY29uc3QgU3RyaW5nJiwgVmVjdG9y
PFN0cmluZz4mIGd1ZXNzZXMpOwogICAgIHZpcnR1YWwgU3RyaW5nIGdldEF1dG9Db3JyZWN0U3Vn
Z2VzdGlvbkZvck1pc3NwZWxsZWRXb3JkKGNvbnN0IFdlYkNvcmU6OlN0cmluZyYpOwogICAgIAor
ICAgIHZpcnR1YWwgdm9pZCB3aWxsU2V0SW5wdXRNZXRob2RTdGF0ZSgpOwogICAgIHZpcnR1YWwg
dm9pZCBzZXRJbnB1dE1ldGhvZFN0YXRlKGJvb2wgZW5hYmxlZCk7CiAKIHByaXZhdGU6Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>