<?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>88952</bug_id>
          
          <creation_ts>2012-06-12 20:34:19 -0700</creation_ts>
          <short_desc>Move setDefersLoading to Internals interface</short_desc>
          <delta_ts>2012-06-19 01:18:00 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</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>
          
          <blocked>87284</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Gyuyoung Kim">gyuyoung.kim</reporter>
          <assigned_to name="Gyuyoung Kim">gyuyoung.kim</assigned_to>
          <cc>ap</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>647637</commentid>
    <comment_count>0</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-06-12 20:34:19 -0700</bug_when>
    <thetext>Adjust setDefersLoading tests to use Internals instead of LayoutTestController interface. In my humble opinion, setDefersLoading() is able to be supported by Internals because it looks this function is implemented by WebCore layer, not WebKit layer. If reviewers think this test function is able to be dealt with by WebKit layer, I will remove this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>647638</commentid>
    <comment_count>1</comment_count>
      <attachid>147222</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-06-12 20:38:51 -0700</bug_when>
    <thetext>Created attachment 147222
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>647645</commentid>
    <comment_count>2</comment_count>
      <attachid>147222</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-06-12 21:08:04 -0700</bug_when>
    <thetext>Comment on attachment 147222
Patch

Attachment 147222 did not pass win-ews (win):
Output: http://queues.webkit.org/results/12953056</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>647680</commentid>
    <comment_count>3</comment_count>
      <attachid>147226</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-06-12 22:13:40 -0700</bug_when>
    <thetext>Created attachment 147226
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648212</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-06-13 10:25:50 -0700</bug_when>
    <thetext>&gt; setDefersLoading() is able to be supported by Internals

Once again, I question this view on moving code to Internals. We should not move anything that it is _able_ to support, we should only move what it makes sense to move.

I do not believe that Internals is ready to cleanly implement the state for setDefersLoading. Even settings are not quite done yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648670</commentid>
    <comment_count>5</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-06-13 18:49:10 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Once again, I question this view on moving code to Internals. We should not move anything that it is _able_ to support, we should only move what it makes sense to move.
&gt; 
&gt; I do not believe that Internals is ready to cleanly implement the state for setDefersLoading. Even settings are not quite done yet.

Thank you for your comment. It seems to me setDefersLoading() is still not related to WebKit layer. But, if you think Internals need to be mature to support setDefersLoading(), I would close this bug.

Could you let me know what things Internals needs to support setDefersLoading()?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>652169</commentid>
    <comment_count>6</comment_count>
      <attachid>147226</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-06-19 00:54:41 -0700</bug_when>
    <thetext>Comment on attachment 147226
Patch

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

&gt; Tools/DumpRenderTree/mac/LayoutTestControllerMac.mm:-492
&gt; -    [[mainFrame webView] setDefersCallbacks:defers];

Unfortunately this API has non-DRT clients such as _documentFragmentFromPasteboard in WebHTMLView.mm.
We should probably add some WebKit API test for this before removing the dependency.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>652195</commentid>
    <comment_count>7</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-06-19 01:18:00 -0700</bug_when>
    <thetext>Thank you for your explain.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>147222</attachid>
            <date>2012-06-12 20:38:51 -0700</date>
            <delta_ts>2012-06-12 22:13:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-88952-20120613123850.patch</filename>
            <type>text/plain</type>
            <size>27323</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwMDM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzkxODM4MzUxNTI3ZDMz
MmU3Y2Q4MGNlOTlmZWU0YTEyMDlhYmU2Ny4uOTg5NWFmYzI1YzE2NDUyYjQyNTYwMWJhNmJhZWJm
NmZhMWE0ZTQxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEyLTA2LTEyICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgTW92ZSBzZXRE
ZWZlcnNMb2FkaW5nIHRvIEludGVybmFscyBpbnRlcmZhY2UKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg4OTUyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHNldERlZmVyc0xvYWRpbmcgZnVuY3Rpb24s
IGJlY2F1c2UgaXQgaXMgYWJsZSB0byB3b3JrIGluIHRoZQorICAgICAgICBjcm9zcy1wb3J0IHdh
eSBieSBtZWFucyBvZiB0aGUgSW50ZXJuYWxzIGludGVyZmFjZS4KKworICAgICAgICBJbiBhZGRp
dGlvbiwgc2V0RGVmZXJzTG9hZGluZyBpcyBzZXQgYXMgZmFsc2Ugd2hlbmV2ZXIgdGVzdCBpcyBz
dGFydGVkLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgc2luY2Ugd2UgYXJlIGltcHJvdmluZyBo
ZXJlIHRoZSBpbmZyYS1zdHJ1Y3R1cmUgZm9yIHRlc3RpbmcKKyAgICAgICAgYSBzcGVjaWZpYyBt
ZXRob2QuCisKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpJbnRlcm5hbHM6OnNldERlZmVyc0xvYWRpbmcpOgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OnJlc2V0KToKKyAgICAgICAgKiB0ZXN0aW5nL0lu
dGVybmFscy5oOgorICAgICAgICAoSW50ZXJuYWxzKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVy
bmFscy5pZGw6CisKIDIwMTItMDYtMTEgIEppbiBZYW5nICA8amluLmEueWFuZ0BpbnRlbC5jb20+
CiAKICAgICAgICAgR2VuZXJhdG9yR2VuZXJhdGVkSW1hZ2Ugc2hvdWxkIGNhY2hlIGltYWdlcyBm
b3IgdGhlIG5vbi10aWxlZCBjYXNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKaW5kZXggODk3MDEwZTBjZTMyMTE1
NWRlYWJjMjY3MmI1NjFiYzEwZTQzOWQxOC4uMTU5N2Y3ZTA4NDM5ZTI3MWQzN2U2Mzg0ZGFmOTVj
YmVlZjY3NmUyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTA2LTEy
ICBHeXV5b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgTW92
ZSBzZXREZWZlcnNMb2FkaW5nIHRvIEludGVybmFscyBpbnRlcmZhY2UKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg4OTUyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIHNldERlZmVyc0xvYWRpbmcg
ZnVuY3Rpb25zLCBiZWNhdXNlIGl0IGlzIGFibGUgdG8gd29yayBpbiB0aGUgCisgICAgICAgIGNy
b3NzLXBvcnQgd2F5IHRocm91Z2ggdGhlIEludGVybmFscyBpbnRlcmZhY2UuIAorCisgICAgICAg
ICogV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0RWZsLmNwcDoKKyAgICAgICAg
KiBXZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRFZmwuaDoKKwogMjAxMi0wNi0w
NSAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIFJlbW92ZSBzdXBw
b3J0IGZvciB0YXJnZXQtZGVuc2l0eWRwaSBpbiB0aGUgdmlld3BvcnQgbWV0YSB0YWcKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0No
YW5nZUxvZwppbmRleCAwMGRmZWZjNjFjMDZmYzc5MmUxZTVhMGE1N2ZhN2Q2YTlmOTgxMmJkLi44
MzVlZjQxNjk2YmJhMjAwYjVjNTk0NzE3OWU5OTNmMmFlMjJiNWRiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMDYtMTIgIEd5dXlvdW5nIEtpbSAgPGd5dXlvdW5nLmtp
bUBzYW1zdW5nLmNvbT4KKworICAgICAgICBNb3ZlIHNldERlZmVyc0xvYWRpbmcgdG8gSW50ZXJu
YWxzIGludGVyZmFjZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9ODg5NTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBSZW1vdmUgc2V0RGVmZXJzTG9hZGluZyBmdW5jdGlvbnMsIGJlY2F1c2UgIGFibGUgdG8g
d29yayBpbiB0aGUgCisgICAgICAgIGNyb3NzLXBvcnQgd2F5IHRocm91Z2ggdGhlIEludGVybmFs
cyBpbnRlcmZhY2UuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1
cHBvcnRHdGsuY3BwOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3Vw
cG9ydEd0ay5oOgorICAgICAgICAoRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrKToKKwogMjAxMi0w
Ni0wNyAgU2ltb24gUGVuYSAgPHNwZW5hQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gZGV2
aWNlU2NhbGVGYWN0b3Igc2V0dGluZyBpcyBub3QgaG9ub3JlZApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9xdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwppbmRleCAy
ZjhhYzZmNDc4YjFkNzZkNzNjY2M2NGMyYTc5NGY0YTRiYjBlMzY1Li4xOGU5ZWNlNjBmZWNmNTc3
ZDIxNDk5NTVlZjMyZTcyMWI5NTA0OTAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBA
CisyMDEyLTA2LTEyICBHeXV5b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CisK
KyAgICAgICAgTW92ZSBzZXREZWZlcnNMb2FkaW5nIHRvIEludGVybmFscyBpbnRlcmZhY2UKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg4OTUyCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIHNldERl
ZmVyc0xvYWRpbmcgZnVuY3Rpb25zLCBiZWNhdXNlIGl0IGlzIGFibGUgdG8gd29yayBpbiB0aGUg
CisgICAgICAgIGNyb3NzLXBvcnQgd2F5IHRocm91Z2ggdGhlIEludGVybmFscyBpbnRlcmZhY2Uu
CisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHA6
CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuaDoKKwog
MjAxMi0wNi0xMSAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQub3JnPgogCiAgICAg
ICAgIFtRdF1bV2luXSBBZGQgbWlzc2luZyBpbmNsdWRlcyB0byBmaXggdGhlIGJ1aWxkCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXggY2ZkMDkwN2I3M2UzNjAwODA2YTUxNzZh
ZDlmNzcyY2E4NmU5OWZjNi4uYmU2MWNiYjUzOTQ5Y2EzMjBlZTE2YjBkNjNlY2YzNDdjM2Y4OWJi
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtNTcyLDYgKzU3MiwxNCBA
QCB2b2lkIEludGVybmFsczo6c2V0UGFnaW5hdGlvbihEb2N1bWVudCogZG9jdW1lbnQsIGNvbnN0
IFN0cmluZyYgbW9kZSwgaW50IGdhcCwgRQogICAgIGRvY3VtZW50LT5wYWdlKCktPnNldFBhZ2lu
YXRpb24ocGFnaW5hdGlvbik7CiB9CiAKK3ZvaWQgSW50ZXJuYWxzOjpzZXREZWZlcnNMb2FkaW5n
KERvY3VtZW50KiBkb2N1bWVudCwgYm9vbCBkZWZlcnMpCit7CisgICAgaWYgKCFkb2N1bWVudCB8
fCBkb2N1bWVudC0+cGFnZSgpKQorICAgICAgICByZXR1cm47CisKKyAgICBkb2N1bWVudC0+cGFn
ZSgpLT5zZXREZWZlcnNMb2FkaW5nKGRlZmVycyk7Cit9CisKIHZvaWQgSW50ZXJuYWxzOjpyZXNl
dChEb2N1bWVudCogZG9jdW1lbnQpCiB7CiAgICAgaWYgKCFkb2N1bWVudCB8fCAhZG9jdW1lbnQt
PnNldHRpbmdzKCkpCkBAIC01ODksNiArNTk3LDggQEAgdm9pZCBJbnRlcm5hbHM6OnJlc2V0KERv
Y3VtZW50KiBkb2N1bWVudCkKICAgICAgICAgICAgIHNldFVzZXJQcmVmZXJyZWRMYW5ndWFnZXMo
VmVjdG9yPFN0cmluZz4oKSk7CiAgICAgfQogCisgICAgZG9jdW1lbnQtPnBhZ2UoKS0+c2V0RGVm
ZXJzTG9hZGluZyhmYWxzZSk7CisKICAgICByZXNldERlZmF1bHRzVG9Db25zaXN0ZW50VmFsdWVz
KCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgg
Yi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCmluZGV4IDZmYTRhNDVjNjcyOWQx
Y2FiNWRjMDc0ZDEzMjhiNTMxMmY1YzE0ZTQuLmRlMGI2MDI2M2JmMGE1YzY5NGNjMzU4NGFlOTE4
YTJiMzQxOGE5NTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaApAQCAtMTEyLDYgKzEx
Miw4IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2V0UGFnaW5hdGlvbihEb2N1bWVudCosIGNvbnN0
IFN0cmluZyYgbW9kZSwgaW50IGdhcCwgRXhjZXB0aW9uQ29kZSYpOwogCisgICAgdm9pZCBzZXRE
ZWZlcnNMb2FkaW5nKERvY3VtZW50KiwgYm9vbCBkZWZlcnMpOworCiAgICAgYm9vbCB3YXNMYXN0
Q2hhbmdlVXNlckVkaXQoRWxlbWVudCogdGV4dEZpZWxkLCBFeGNlcHRpb25Db2RlJik7CiAgICAg
U3RyaW5nIHN1Z2dlc3RlZFZhbHVlKEVsZW1lbnQqIGlucHV0RWxlbWVudCwgRXhjZXB0aW9uQ29k
ZSYpOwogICAgIHZvaWQgc2V0U3VnZ2VzdGVkVmFsdWUoRWxlbWVudCogaW5wdXRFbGVtZW50LCBj
b25zdCBTdHJpbmcmLCBFeGNlcHRpb25Db2RlJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5pZGwKaW5kZXggYWExMDg1OGJiM2Q2NjZhZjRmYzA1ZGJlZThhNDQwNzZhZGY4NjA0MC4uZTZl
NThlYWYxNDNmMTk2ZTNiNjg5ZmNiYzhkNWVhOGNmNGNlOGI2ZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmlkbApAQCAtODQsNiArODQsOCBAQCBtb2R1bGUgd2luZG93IHsKIAogICAg
ICAgICB2b2lkIHNldFBhZ2luYXRpb24oaW4gRG9jdW1lbnQgZG9jdW1lbnQsIGluIERPTVN0cmlu
ZyBtb2RlLCBpbiBsb25nIGdhcCkgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAKKyAgICAgICAgdm9p
ZCBzZXREZWZlcnNMb2FkaW5nKGluIERvY3VtZW50IGRvY3VtZW50LCBpbiBib29sZWFuIGRlZmVy
cyk7CisKICAgICAgICAgYm9vbGVhbiB3YXNMYXN0Q2hhbmdlVXNlckVkaXQoaW4gRWxlbWVudCB0
ZXh0RmllbGQpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKICAgICAgICAgRE9NU3RyaW5nIHN1Z2dl
c3RlZFZhbHVlKGluIEVsZW1lbnQgaW5wdXRFbGVtZW50KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7
CiAgICAgICAgIHZvaWQgc2V0U3VnZ2VzdGVkVmFsdWUoaW4gRWxlbWVudCBpbnB1dEVsZW1lbnQs
IGluIERPTVN0cmluZyB2YWx1ZSkgcmFpc2VzIChET01FeGNlcHRpb24pOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0RWZs
LmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3Vw
cG9ydEVmbC5jcHAKaW5kZXggYjQ1YWVmMTEzMDQyMThmZmVhOWE2MDFlMWUwYzU3YjZkMmZlMjFi
NS4uY2E2OTBjZTg3M2JhYjFmZWEwMTMwOWY1OWY5YjFlZTlkOGY5ZjZiOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0RWZs
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJl
ZVN1cHBvcnRFZmwuY3BwCkBAIC0zNDgsMTYgKzM0OCw2IEBAIHZvaWQgRHVtcFJlbmRlclRyZWVT
dXBwb3J0RWZsOjpzZXRBdXRvZmlsbGVkKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU1ZhbHVlUmVm
IG5vCiAgICAgaW5wdXRFbGVtZW50LT5zZXRBdXRvZmlsbGVkKGF1dG9maWxsZWQpOwogfQogCi12
b2lkIER1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbDo6c2V0RGVmZXJzTG9hZGluZyhFdmFzX09iamVj
dCogZXdrVmlldywgYm9vbCBkZWZlcnMpCi17Ci0gICAgV2ViQ29yZTo6UGFnZSogcGFnZSA9IEVX
S1ByaXZhdGU6OmNvcmVQYWdlKGV3a1ZpZXcpOwotCi0gICAgaWYgKCFwYWdlKQotICAgICAgICBy
ZXR1cm47Ci0KLSAgICBwYWdlLT5zZXREZWZlcnNMb2FkaW5nKGRlZmVycyk7Ci19Ci0KIHZvaWQg
RHVtcFJlbmRlclRyZWVTdXBwb3J0RWZsOjpzZXRMb2Fkc1NpdGVJY29uc0lnbm9yaW5nSW1hZ2VM
b2FkaW5nU2V0dGluZyhFdmFzX09iamVjdCogZXdrVmlldywgYm9vbCBsb2Fkc1NpdGVJY29uc0ln
bm9yaW5nSW1hZ2VMb2FkaW5nUHJlZmVyZW5jZXMpCiB7CiAgICAgV2ViQ29yZTo6UGFnZSogcGFn
ZSA9IEVXS1ByaXZhdGU6OmNvcmVQYWdlKGV3a1ZpZXcpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0RWZsLmggYi9Tb3Vy
Y2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRFZmwuaApp
bmRleCAyYWUzNDMxMTYzZTE1NGNiNzdlZDczMDM4ODc2YmE3ZTYwMDdmNzYwLi43MThiNWFlN2Q2
YWI4M2U4YTZiYmZlYmIzMTgyOTdhNDA2OWUxN2EzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2VmbC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRFZmwuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRFZmwuaApA
QCAtNzAsNyArNzAsNiBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFN0cmluZyBzdWl0YWJsZURSVEZy
YW1lTmFtZShjb25zdCBFdmFzX09iamVjdCogZXdrRnJhbWUpOwogICAgIHN0YXRpYyB2b2lkIHNl
dFZhbHVlRm9yVXNlcihKU0NvbnRleHRSZWYsIEpTVmFsdWVSZWYgbm9kZU9iamVjdCwgY29uc3Qg
U3RyaW5nJiB2YWx1ZSk7CiAgICAgc3RhdGljIHZvaWQgc2V0QXV0b2ZpbGxlZChKU0NvbnRleHRS
ZWYsIEpTVmFsdWVSZWYgbm9kZU9iamVjdCwgYm9vbCBhdXRvZmlsbGVkKTsKLSAgICBzdGF0aWMg
dm9pZCBzZXREZWZlcnNMb2FkaW5nKEV2YXNfT2JqZWN0KiBld2tWaWV3LCBib29sIGRlZmVycyk7
CiAgICAgc3RhdGljIHZvaWQgc2V0TG9hZHNTaXRlSWNvbnNJZ25vcmluZ0ltYWdlTG9hZGluZ1Nl
dHRpbmcoRXZhc19PYmplY3QqIGV3a1ZpZXcsIGJvb2wgbG9hZHNTaXRlSWNvbnNJZ25vcmluZ0lt
YWdlTG9hZGluZ1ByZWZlcmVuY2VzKTsKIAogICAgIHN0YXRpYyB2b2lkIGFkZFVzZXJTY3JpcHQo
Y29uc3QgRXZhc19PYmplY3QqIGV3a1ZpZXcsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgYm9v
bCBydW5BdFN0YXJ0LCBib29sIGFsbEZyYW1lcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2d0ay9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsuY3BwIGIvU291cmNl
L1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrLmNwcApp
bmRleCAzZGQ2YjRkMDU2NmYwMjhjMGVjOTAzYzJlYjFlZmY0MjdjMGIzYmYwLi44YmQ1ZWNmNzNh
YjEzN2ZhMDJhNzdkODA5ZTIyYTRiM2JkNWEyYThhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2d0ay9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEd0ay5j
cHAKQEAgLTU3NCwxMSArNTc0LDYgQEAgYm9vbCBEdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGs6OnNl
bGVjdGVkUmFuZ2UoV2ViS2l0V2ViVmlldyogd2ViVmlldywgaW50KiBzdGFydCwKICAgICByZXR1
cm4gdHJ1ZTsKIH0KIAotdm9pZCBEdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGs6OnNldERlZmVyc0xv
YWRpbmcoV2ViS2l0V2ViVmlldyogd2ViVmlldywgYm9vbCBkZWZlcnMpCi17Ci0gICAgY29yZSh3
ZWJWaWV3KS0+c2V0RGVmZXJzTG9hZGluZyhkZWZlcnMpOwotfQotCiB2b2lkIER1bXBSZW5kZXJU
cmVlU3VwcG9ydEd0azo6c2V0U21hcnRJbnNlcnREZWxldGVFbmFibGVkKFdlYktpdFdlYlZpZXcq
IHdlYlZpZXcsIGJvb2wgZW5hYmxlZCkKIHsKICAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9J
U19XRUJfVklFVyh3ZWJWaWV3KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJD
b3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsuaCBiL1NvdXJjZS9XZWJLaXQvZ3Rr
L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEd0ay5oCmluZGV4IDM0ZjdiZGVl
ZDdjNmNkMmE0NWUxZTBkNzBlYzY1NmZlZmU4YmYxZTkuLjJjNDI1OWY4NWUzZTM4NTVmOTY4OTAw
NzE1YjBhZTQ2NmFlOGQzNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVT
dXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEd0ay5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3Rr
L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEd0ay5oCkBAIC05MCw3ICs5MCw2
IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBzZXRNaW5pbXVtVGltZXJJbnRlcnZhbChXZWJL
aXRXZWJWaWV3KiwgZG91YmxlKTsKICAgICBzdGF0aWMgdm9pZCByZWN0YW5nbGVGb3JTZWxlY3Rp
b24oV2ViS2l0V2ViRnJhbWUqLCBjYWlyb19yZWN0YW5nbGVfaW50X3QqKTsKICAgICBzdGF0aWMg
dm9pZCBzY2FsZVBhZ2VCeShXZWJLaXRXZWJWaWV3KiwgZmxvYXQsIGZsb2F0LCBmbG9hdCk7Ci0g
ICAgc3RhdGljIHZvaWQgc2V0RGVmZXJzTG9hZGluZyhXZWJLaXRXZWJWaWV3KiwgYm9vbCk7CiAg
ICAgc3RhdGljIHZvaWQgc2V0U21hcnRJbnNlcnREZWxldGVFbmFibGVkKFdlYktpdFdlYlZpZXcq
LCBib29sKTsKICAgICBzdGF0aWMgdm9pZCBmb3JjZVdlYlZpZXdQYWludChXZWJLaXRXZWJWaWV3
Kik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJl
bmRlclRyZWVTdXBwb3J0UXQuY3BwIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9E
dW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHAKaW5kZXggNzBkZDVmYjM2MWMzNzY0MGEyODNhODZh
OGFjMTYzMWFiNTMyNmYzYS4uODU0NDdlODdhMWJjZGM1NTY1ZDlkNmY3NDE2YWE4MWU1ZTFhNTMy
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVy
VHJlZVN1cHBvcnRRdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9E
dW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHAKQEAgLTkzNSwxMyArOTM1LDYgQEAgdm9pZCBEdW1w
UmVuZGVyVHJlZVN1cHBvcnRRdDo6c2ltdWxhdGVEZXNrdG9wTm90aWZpY2F0aW9uQ2xpY2soY29u
c3QgUVN0cmluZyYgdGkKICNlbmRpZgogfQogCi12b2lkIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0
OjpzZXREZWZlcnNMb2FkaW5nKFFXZWJQYWdlKiBwYWdlLCBib29sIGZsYWcpCi17Ci0gICAgUGFn
ZSogY29yZVBhZ2UgPSBRV2ViUGFnZVByaXZhdGU6OmNvcmUocGFnZSk7Ci0gICAgaWYgKGNvcmVQ
YWdlKQotICAgICAgICBjb3JlUGFnZS0+c2V0RGVmZXJzTG9hZGluZyhmbGFnKTsKLX0KLQogdm9p
ZCBEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6Z29CYWNrKFFXZWJQYWdlKiBwYWdlKQogewogICAg
IFBhZ2UqIGNvcmVQYWdlID0gUVdlYlBhZ2VQcml2YXRlOjpjb3JlKHBhZ2UpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRR
dC5oIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBv
cnRRdC5oCmluZGV4IDQxODAwZmFiZDc3YjQ4NjdjMDMwNTYxNmQ2MGJjNGRlNmE2ZDQwMzguLmU1
MzY0ZGI0ODgwMWI5NzFiMWFlMjMyMDU4ZjMxODBmOTI5ZTYxZTAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0
LmgKQEAgLTIyMCw3ICsyMjAsNiBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgdm9pZCBzZXRJbnRl
cmFjdGl2ZUZvcm1WYWxpZGF0aW9uRW5hYmxlZChRV2ViUGFnZSosIGJvb2wpOwogCi0gICAgc3Rh
dGljIHZvaWQgc2V0RGVmZXJzTG9hZGluZyhRV2ViUGFnZSosIGJvb2wgZmxhZyk7CiAgICAgc3Rh
dGljIHZvaWQgZ29CYWNrKFFXZWJQYWdlKik7CiAKICNpZiBRVF9WRVJTSU9OID49IFFUX1ZFUlNJ
T05fQ0hFQ0soNCwgOCwgMCkKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0No
YW5nZUxvZwppbmRleCAwM2U5Yjg1Zjc3MmQ4ODZhYzE0MjY3MjA0MDg1MDY5Y2MxMjE2YTZlLi44
MzIzMmJiNzhlNzQ0ZDhlMzNmYzRiMjVmMDU5Mjg4NDg1ODVjNjUwIDEwMDY0NAotLS0gYS9Ub29s
cy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMTIt
MDYtMTIgIEd5dXlvdW5nIEtpbSAgPGd5dXlvdW5nLmtpbUBzYW1zdW5nLmNvbT4KKworICAgICAg
ICBNb3ZlIHNldERlZmVyc0xvYWRpbmcgdG8gSW50ZXJuYWxzIGludGVyZmFjZQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODg5NTIKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmUgc2V0RGVmZXJzTG9h
ZGluZyBmdW5jdGlvbnMsIGJlY2F1c2UgaXQgaXMgYWJsZSB0byB3b3JrIGluIHRoZQorICAgICAg
ICBjcm9zcy1wb3J0IHdheSB0aHJvdWdoIHRoZSBJbnRlcm5hbHMgaW50ZXJmYWNlLgorCisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAo
TGF5b3V0VGVzdENvbnRyb2xsZXI6OnN0YXRpY0Z1bmN0aW9ucyk6CisgICAgICAgICogRHVtcFJl
bmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuaDoKKyAgICAgICAgKExheW91dFRlc3RDb250
cm9sbGVyKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9ibGFja2JlcnJ5L0xheW91dFRlc3RD
b250cm9sbGVyQmxhY2tCZXJyeS5jcHA6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6
Z29CYWNrKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVDaHJv
bWUuY3BwOgorICAgICAgICAoRHVtcFJlbmRlclRyZWVDaHJvbWU6OnJlc2V0RGVmYXVsdHNUb0Nv
bnNpc3RlbnRWYWx1ZXMpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2VmbC9MYXlvdXRUZXN0
Q29udHJvbGxlckVmbC5jcHA6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvZ3RrL0R1bXBSZW5k
ZXJUcmVlLmNwcDoKKyAgICAgICAgKHJlc2V0RGVmYXVsdHNUb0NvbnNpc3RlbnRWYWx1ZXMpOgor
ICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2d0ay9MYXlvdXRUZXN0Q29udHJvbGxlckd0ay5jcHA6
CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tOgorICAgICAg
ICAoY3JlYXRlV2ViVmlld0FuZE9mZnNjcmVlbldpbmRvdyk6CisgICAgICAgICogRHVtcFJlbmRl
clRyZWUvbWFjL0xheW91dFRlc3RDb250cm9sbGVyTWFjLm1tOgorICAgICAgICAqIER1bXBSZW5k
ZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViUGFn
ZTo6cmVzZXRTZXR0aW5ncyk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVz
dENvbnRyb2xsZXJRdC5jcHA6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVz
dENvbnRyb2xsZXJRdC5oOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXIpOgorICAgICAg
ICAqIER1bXBSZW5kZXJUcmVlL3dpbi9MYXlvdXRUZXN0Q29udHJvbGxlcldpbi5jcHA6CisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvd3gvTGF5b3V0VGVzdENvbnRyb2xsZXJXeC5jcHA6CisKIDIw
MTItMDYtMTEgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVsLmNvbT4K
IAogICAgICAgICBbRUZMXSBSZW1vdmUgQ01ha2VDYWNoZS50eHQgYmVmb3JlIGJ1aWxkaW5nCmRp
ZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAg
Yi9Ub29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAKaW5kZXggNDQw
ZDBkYzI4OGQ2MzZmODA0OTJkM2M4ZDFmMzIxODg4YTNiY2U5OC4uODA0YzIyMTU2ODZlMWM1MzA4
YWNjMGRlYjM1Yzg1Y2E2MjEwMDVmOSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUv
TGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91
dFRlc3RDb250cm9sbGVyLmNwcApAQCAtMTIyMSwxNyArMTIyMSw2IEBAIHN0YXRpYyBKU1ZhbHVl
UmVmIHNldERlZmVyTWFpblJlc291cmNlRGF0YUxvYWRDYWxsYmFjayhKU0NvbnRleHRSZWYgY29u
dGV4dCwgSlNPCiAgICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRleHQpOwogfQog
Ci1zdGF0aWMgSlNWYWx1ZVJlZiBzZXREZWZlcnNMb2FkaW5nQ2FsbGJhY2soSlNDb250ZXh0UmVm
IGNvbnRleHQsIEpTT2JqZWN0UmVmIGZ1bmN0aW9uLCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBz
aXplX3QgYXJndW1lbnRDb3VudCwgY29uc3QgSlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNWYWx1
ZVJlZiogZXhjZXB0aW9uKQotewotICAgIGlmIChhcmd1bWVudENvdW50IDwgMSkKLSAgICAgICAg
cmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRleHQpOwotCi0gICAgTGF5b3V0VGVzdENv
bnRyb2xsZXIqIGNvbnRyb2xsZXIgPSBzdGF0aWNfY2FzdDxMYXlvdXRUZXN0Q29udHJvbGxlcio+
KEpTT2JqZWN0R2V0UHJpdmF0ZSh0aGlzT2JqZWN0KSk7Ci0gICAgY29udHJvbGxlci0+c2V0RGVm
ZXJzTG9hZGluZyhKU1ZhbHVlVG9Cb29sZWFuKGNvbnRleHQsIGFyZ3VtZW50c1swXSkpOwotCi0g
ICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRleHQpOwotfQotCiBzdGF0aWMgSlNW
YWx1ZVJlZiBzZXRVc2VEZWZlcnJlZEZyYW1lTG9hZGluZ0NhbGxiYWNrKEpTQ29udGV4dFJlZiBj
b250ZXh0LCBKU09iamVjdFJlZiBmdW5jdGlvbiwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwgc2l6
ZV90IGFyZ3VtZW50Q291bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJndW1lbnRzW10sIEpTVmFsdWVS
ZWYqIGV4Y2VwdGlvbikKIHsKICAgICBpZiAoYXJndW1lbnRDb3VudCA8IDEpCkBAIC0yMzg2LDcg
KzIzNzUsNiBAQCBKU1N0YXRpY0Z1bmN0aW9uKiBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c3RhdGlj
RnVuY3Rpb25zKCkKICAgICAgICAgeyAic2V0Q3VzdG9tUG9saWN5RGVsZWdhdGUiLCBzZXRDdXN0
b21Qb2xpY3lEZWxlZ2F0ZUNhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwg
a0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsgInNldERhdGFiYXNl
UXVvdGEiLCBzZXREYXRhYmFzZVF1b3RhQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVh
ZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwgCiAgICAgICAgIHsgInNl
dERlZmVyTWFpblJlc291cmNlRGF0YUxvYWQiLCBzZXREZWZlck1haW5SZXNvdXJjZURhdGFMb2Fk
Q2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJp
YnV0ZURvbnREZWxldGUgfSwKLSAgICAgICAgeyAic2V0RGVmZXJzTG9hZGluZyIsIHNldERlZmVy
c0xvYWRpbmdDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3Bl
cnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAgICAgICB7ICJzZXRVc2VEZWZlcnJlZEZyYW1l
TG9hZGluZyIsIHNldFVzZURlZmVycmVkRnJhbWVMb2FkaW5nQ2FsbGJhY2ssIGtKU1Byb3BlcnR5
QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKICAg
ICAgICAgeyAic2V0RG9tYWluUmVsYXhhdGlvbkZvcmJpZGRlbkZvclVSTFNjaGVtZSIsIHNldERv
bWFpblJlbGF4YXRpb25Gb3JiaWRkZW5Gb3JVUkxTY2hlbWVDYWxsYmFjaywga0pTUHJvcGVydHlB
dHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAg
ICAgICB7ICJzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkIiwgc2V0RnJhbWVGbGF0dGVuaW5nRW5h
YmxlZENhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlB
dHRyaWJ1dGVEb250RGVsZXRlIH0sCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9M
YXlvdXRUZXN0Q29udHJvbGxlci5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENv
bnRyb2xsZXIuaAppbmRleCA2NDBkMWMxZDQxMTUwYjgwMTdiMTZjZmFjZjcwYzhiMzZkNTRlZmUy
Li40NGEzN2U5NzhjNzRlODYxNjE1NTA5ODI3MTkwYjc1YWY1NTA3Y2Q3IDEwMDY0NAotLS0gYS9U
b29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5oCisrKyBiL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmgKQEAgLTk5LDcgKzk5LDYgQEAgcHVi
bGljOgogICAgIHZvaWQgc2V0Q3VzdG9tUG9saWN5RGVsZWdhdGUoYm9vbCBzZXREZWxlZ2F0ZSwg
Ym9vbCBwZXJtaXNzaXZlKTsKICAgICB2b2lkIHNldERhdGFiYXNlUXVvdGEodW5zaWduZWQgbG9u
ZyBsb25nIHF1b3RhKTsKICAgICB2b2lkIHNldERvbWFpblJlbGF4YXRpb25Gb3JiaWRkZW5Gb3JV
UkxTY2hlbWUoYm9vbCBmb3JiaWRkZW4sIEpTU3RyaW5nUmVmIHNjaGVtZSk7Ci0gICAgdm9pZCBz
ZXREZWZlcnNMb2FkaW5nKGJvb2wpOwogICAgIHZvaWQgc2V0SWNvbkRhdGFiYXNlRW5hYmxlZChi
b29sIGljb25EYXRhYmFzZUVuYWJsZWQpOwogICAgIHZvaWQgc2V0SmF2YVNjcmlwdENhbkFjY2Vz
c0NsaXBib2FyZChib29sIGZsYWcpOwogICAgIHZvaWQgc2V0QXV0b21hdGljTGlua0RldGVjdGlv
bkVuYWJsZWQoYm9vbCBmbGFnKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Js
YWNrYmVycnkvTGF5b3V0VGVzdENvbnRyb2xsZXJCbGFja0JlcnJ5LmNwcCBiL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL2JsYWNrYmVycnkvTGF5b3V0VGVzdENvbnRyb2xsZXJCbGFja0JlcnJ5LmNwcApp
bmRleCA0ZjA0M2Q5NjJiZGNkZjRjOGVlMjllYjdiNmE0YWYwNjc3ZGRlYzA0Li5kYjFmMzZjNWRm
MjgxODA1YWY5ZDQ4NDk2MTgyYjkzYmIxZmEzYmMyIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9ibGFja2JlcnJ5L0xheW91dFRlc3RDb250cm9sbGVyQmxhY2tCZXJyeS5jcHAKKysr
IGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvYmxhY2tiZXJyeS9MYXlvdXRUZXN0Q29udHJvbGxlckJs
YWNrQmVycnkuY3BwCkBAIC03MDUsMTIgKzcwNSw2IEBAIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xs
ZXI6OmdvQmFjaygpCiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAotdm9pZCBMYXlvdXRUZXN0
Q29udHJvbGxlcjo6c2V0RGVmZXJzTG9hZGluZyhib29sKQotewotICAgIC8vIEZJWE1FOiBpbXBs
ZW1lbnQgdG8gZW5hYmxlIGxvYWRlci9uYXZpZ2F0aW9uLXdoaWxlLWRlZmVycmluZy1sb2Fkcy5o
dG1sCi0gICAgbm90SW1wbGVtZW50ZWQoKTsKLX0KLQogSlNWYWx1ZVJlZiBMYXlvdXRUZXN0Q29u
dHJvbGxlcjo6b3JpZ2luc1dpdGhMb2NhbFN0b3JhZ2UoSlNDb250ZXh0UmVmIGNvbnRleHQpCiB7
CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L2VmbC9EdW1wUmVuZGVyVHJlZUNocm9tZS5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwv
RHVtcFJlbmRlclRyZWVDaHJvbWUuY3BwCmluZGV4IDc5OWU2OGM2MDBjYWJhZjU4MzJmMWRmMzNl
YTg5ZmQ0Y2E3MDY5M2QuLjcxYTI5ZTE2NGJkNzBiN2ZhYjQ4OTg0ZjlhNDYwOTMyMGY5YjFjNGMg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVyVHJlZUNocm9t
ZS5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVlQ2hyb21l
LmNwcApAQCAtMjY5LDcgKzI2OSw2IEBAIHZvaWQgRHVtcFJlbmRlclRyZWVDaHJvbWU6OnJlc2V0
RGVmYXVsdHNUb0NvbnNpc3RlbnRWYWx1ZXMoKQogICAgIER1bXBSZW5kZXJUcmVlU3VwcG9ydEVm
bDo6c2V0Q1NTR3JpZExheW91dEVuYWJsZWQobWFpblZpZXcoKSwgZmFsc2UpOwogICAgIER1bXBS
ZW5kZXJUcmVlU3VwcG9ydEVmbDo6c2V0U21hcnRJbnNlcnREZWxldGVFbmFibGVkKG1haW5WaWV3
KCksIGZhbHNlKTsKICAgICBEdW1wUmVuZGVyVHJlZVN1cHBvcnRFZmw6OnNldFNlbGVjdFRyYWls
aW5nV2hpdGVzcGFjZUVuYWJsZWQobWFpblZpZXcoKSwgZmFsc2UpOwotICAgIER1bXBSZW5kZXJU
cmVlU3VwcG9ydEVmbDo6c2V0RGVmZXJzTG9hZGluZyhtYWluVmlldygpLCBmYWxzZSk7CiAgICAg
RHVtcFJlbmRlclRyZWVTdXBwb3J0RWZsOjpzZXRMb2Fkc1NpdGVJY29uc0lnbm9yaW5nSW1hZ2VM
b2FkaW5nU2V0dGluZyhtYWluVmlldygpLCBmYWxzZSk7CiAgICAgRHVtcFJlbmRlclRyZWVTdXBw
b3J0RWZsOjpzZXRTZXJpYWxpemVIVFRQTG9hZHMoZmFsc2UpOwogCmRpZmYgLS1naXQgYS9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9lZmwvTGF5b3V0VGVzdENvbnRyb2xsZXJFZmwuY3BwIGIvVG9vbHMv
RHVtcFJlbmRlclRyZWUvZWZsL0xheW91dFRlc3RDb250cm9sbGVyRWZsLmNwcAppbmRleCAyYzE3
MTBiOTUyOTcyZmE2MzVlZmY0YjQ0NTY2NGNiNTM3YTBiNDljLi4xMzBlNzg2MGZlZTE5NmE1NTAx
NDMyN2FjZTg0ZDg0YjEzOGVkMTY0IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9l
ZmwvTGF5b3V0VGVzdENvbnRyb2xsZXJFZmwuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L2VmbC9MYXlvdXRUZXN0Q29udHJvbGxlckVmbC5jcHAKQEAgLTY4MywxMSArNjgzLDYgQEAgdm9p
ZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6Z29CYWNrKCkKICAgICBld2tfZnJhbWVfYmFjayhicm93
c2VyLT5tYWluRnJhbWUoKSk7CiB9CiAKLXZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldERl
ZmVyc0xvYWRpbmcoYm9vbCBkZWZlcnMpCi17Ci0gICAgRHVtcFJlbmRlclRyZWVTdXBwb3J0RWZs
OjpzZXREZWZlcnNMb2FkaW5nKGJyb3dzZXItPm1haW5WaWV3KCksIGRlZmVycyk7Ci19Ci0KIHZv
aWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldEFwcENhY2hlTWF4aW11bVNpemUodW5zaWduZWQg
bG9uZyBsb25nIHNpemUpCiB7CiAgICAgZXdrX3NldHRpbmdzX2FwcGxpY2F0aW9uX2NhY2hlX21h
eF9xdW90YV9zZXQoc2l6ZSk7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9ndGsv
RHVtcFJlbmRlclRyZWUuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0R1bXBSZW5kZXJU
cmVlLmNwcAppbmRleCA0YmRjYTEzY2Q1M2UxMmQyZTM0NmFlNDI1OGIxNmZjNTNhOWQyN2Y2Li43
Mjg2Yjg4ODVjNjUzM2Y3Zjc0NTk4ODcyMWViMmQ4NzVkZmM1N2Y4IDEwMDY0NAotLS0gYS9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9ndGsvRHVtcFJlbmRlclRyZWUuY3BwCisrKyBiL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL2d0ay9EdW1wUmVuZGVyVHJlZS5jcHAKQEAgLTQ1Myw3ICs0NTMsNiBAQCBzdGF0
aWMgdm9pZCByZXNldERlZmF1bHRzVG9Db25zaXN0ZW50VmFsdWVzKCkKICAgICB3ZWJraXRfaWNv
bl9kYXRhYmFzZV9zZXRfcGF0aCh3ZWJraXRfZ2V0X2ljb25fZGF0YWJhc2UoKSwgMCk7CiAgICAg
RHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrOjpzZXRTZWxlY3RUcmFpbGluZ1doaXRlc3BhY2VFbmFi
bGVkKGZhbHNlKTsKICAgICBEdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGs6OnNldFNtYXJ0SW5zZXJ0
RGVsZXRlRW5hYmxlZCh3ZWJWaWV3LCB0cnVlKTsKLSAgICBEdW1wUmVuZGVyVHJlZVN1cHBvcnRH
dGs6OnNldERlZmVyc0xvYWRpbmcod2ViVmlldywgZmFsc2UpOwogICAgIER1bXBSZW5kZXJUcmVl
U3VwcG9ydEd0azo6c2V0U2VyaWFsaXplSFRUUExvYWRzKGZhbHNlKTsKIAogICAgIGlmIChheENv
bnRyb2xsZXIpCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9ndGsvTGF5b3V0VGVz
dENvbnRyb2xsZXJHdGsuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0xheW91dFRlc3RD
b250cm9sbGVyR3RrLmNwcAppbmRleCAyNzVjMmUwMjk2YmNmMGU3ZmM3M2Y0ODU1YzczMWI1MTcw
MDNmNWYyLi5lYWM5YTZiYTY0NDMxZTUwM2UyMTI5ZjhjOTg4MTY0ZjI3NThiZWQzIDEwMDY0NAot
LS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9ndGsvTGF5b3V0VGVzdENvbnRyb2xsZXJHdGsuY3Bw
CisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9MYXlvdXRUZXN0Q29udHJvbGxlckd0ay5j
cHAKQEAgLTc0MCwxMiArNzQwLDYgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6Z29CYWNr
KCkKICAgICB3ZWJraXRfd2ViX3ZpZXdfZ29fYmFjayh3ZWJWaWV3KTsKIH0KIAotdm9pZCBMYXlv
dXRUZXN0Q29udHJvbGxlcjo6c2V0RGVmZXJzTG9hZGluZyhib29sIGRlZmVycykKLXsKLSAgICBX
ZWJLaXRXZWJWaWV3KiB3ZWJWaWV3ID0gd2Via2l0X3dlYl9mcmFtZV9nZXRfd2ViX3ZpZXcobWFp
bkZyYW1lKTsKLSAgICBEdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGs6OnNldERlZmVyc0xvYWRpbmco
d2ViVmlldywgZGVmZXJzKTsKLX0KLQogdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0QXBw
Q2FjaGVNYXhpbXVtU2l6ZSh1bnNpZ25lZCBsb25nIGxvbmcgc2l6ZSkKIHsKICAgICB3ZWJraXRf
YXBwbGljYXRpb25fY2FjaGVfc2V0X21heGltdW1fc2l6ZShzaXplKTsKZGlmZiAtLWdpdCBhL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbSBiL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQppbmRleCAwMGJkYjIxODQzZjRlOGNhMDM5NmM0
NjI0OTc2Njk2NzIxOGFiODgxLi5iMjVhYzVkNmZhMWNiODRlY2U5NDViYjU2NDJhM2VjYjRjYTM5
OGYzIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUu
bW0KKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCkBAIC01
MjUsNyArNTI1LDYgQEAgV2ViVmlldyAqY3JlYXRlV2ViVmlld0FuZE9mZnNjcmVlbldpbmRvdygp
CiAgICAgW1dlYlZpZXcgcmVnaXN0ZXJVUkxTY2hlbWVBc0xvY2FsOkAiZmVlZHNlYXJjaCJdOwog
ICAgIAogICAgIFt3ZWJWaWV3IHNldENvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZDpZRVNd
OwotICAgIFt3ZWJWaWV3IHNldERlZmVyc0NhbGxiYWNrczpOT107CiAgICAgW3dlYlZpZXcgc2V0
R3JhbW1hckNoZWNraW5nRW5hYmxlZDpZRVNdOwogICAgIFt3ZWJWaWV3IHNldEludGVyYWN0aXZl
Rm9ybVZhbGlkYXRpb25FbmFibGVkOllFU107CiAgICAgW3dlYlZpZXcgc2V0VmFsaWRhdGlvbk1l
c3NhZ2VUaW1lck1hZ25pZmljYXRpb246LTFdOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRl
clRyZWUvbWFjL0xheW91dFRlc3RDb250cm9sbGVyTWFjLm1tIGIvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvbWFjL0xheW91dFRlc3RDb250cm9sbGVyTWFjLm1tCmluZGV4IDcyYzBjZWE0NzJjNDU3MWQ3
ZTczNDBhMDI2NTVmZjlhYWQ1YjA4NWMuLjBlNTA1ZDA3NmU1ZmI3N2I1ZWFjZTEwMjRkYjAzNGQ4
ZDg4ODU0NzggMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9MYXlvdXRUZXN0
Q29udHJvbGxlck1hYy5tbQorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvTGF5b3V0VGVz
dENvbnRyb2xsZXJNYWMubW0KQEAgLTQ4NywxMSArNDg3LDYgQEAgdm9pZCBMYXlvdXRUZXN0Q29u
dHJvbGxlcjo6Z29CYWNrKCkKICAgICBbW21haW5GcmFtZSB3ZWJWaWV3XSBnb0JhY2tdOwogfQog
Ci12b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXREZWZlcnNMb2FkaW5nKGJvb2wgZGVmZXJz
KQotewotICAgIFtbbWFpbkZyYW1lIHdlYlZpZXddIHNldERlZmVyc0NhbGxiYWNrczpkZWZlcnNd
OwotfQotCiB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXREb21haW5SZWxheGF0aW9uRm9y
YmlkZGVuRm9yVVJMU2NoZW1lKGJvb2wgZm9yYmlkZGVuLCBKU1N0cmluZ1JlZiBzY2hlbWUpCiB7
CiAgICAgUmV0YWluUHRyPENGU3RyaW5nUmVmPiBzY2hlbWVDRlN0cmluZyhBZG9wdENGLCBKU1N0
cmluZ0NvcHlDRlN0cmluZyhrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBzY2hlbWUpKTsKZGlmZiAtLWdp
dCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuY3BwIGIvVG9vbHMv
RHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5jcHAKaW5kZXggZDc3ZmFhNmYzODY0
NjJhMzc5NjFmM2MyZTgxMjUwZDRlYTc3OTMxZi4uNWViMGQxNDY0MTMzNzk4ODhjNzg0MDExZjE4
Mzc5N2JmNTk0M2YxOSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJl
bmRlclRyZWVRdC5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRy
ZWVRdC5jcHAKQEAgLTE5NSw3ICsxOTUsNiBAQCB2b2lkIFdlYlBhZ2U6OnJlc2V0U2V0dGluZ3Mo
KQogICAgIG1fZHJ0LT5sYXlvdXRUZXN0Q29udHJvbGxlcigpLT5zZXRGcmFtZUZsYXR0ZW5pbmdF
bmFibGVkKGZhbHNlKTsKICAgICBtX2RydC0+bGF5b3V0VGVzdENvbnRyb2xsZXIoKS0+c2V0U21h
cnRJbnNlcnREZWxldGVFbmFibGVkKHRydWUpOwogICAgIG1fZHJ0LT5sYXlvdXRUZXN0Q29udHJv
bGxlcigpLT5zZXRTZWxlY3RUcmFpbGluZ1doaXRlc3BhY2VFbmFibGVkKGZhbHNlKTsKLSAgICBt
X2RydC0+bGF5b3V0VGVzdENvbnRyb2xsZXIoKS0+c2V0RGVmZXJzTG9hZGluZyhmYWxzZSk7CiAK
ICAgICAvLyBnbG9iYWxTZXR0aW5ncyBtdXN0IGJlIHJlc2V0IGV4cGxpY2l0bHkuCiAgICAgbV9k
cnQtPmxheW91dFRlc3RDb250cm9sbGVyKCktPnNldFhTU0F1ZGl0b3JFbmFibGVkKGZhbHNlKTsK
ZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVy
UXQuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5j
cHAKaW5kZXggOWJiZjQzOWJjMjFlZjQyZTEzOTFiNWI1NjA3NDdhZGU0ZmI3ZGFmOC4uYTYxYmE2
YTcxYmViNjdhY2ZhZDMwODdkZjM2ZmNiMDRmMGJhMTc0OCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVt
cFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHAKKysrIGIvVG9vbHMvRHVt
cFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHAKQEAgLTQ1MiwxMSArNDUy
LDYgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6Z29CYWNrKCkKICAgICBEdW1wUmVuZGVy
VHJlZVN1cHBvcnRRdDo6Z29CYWNrKG1fZHJ0LT53ZWJQYWdlKCkpOwogfQogCi12b2lkIExheW91
dFRlc3RDb250cm9sbGVyOjpzZXREZWZlcnNMb2FkaW5nKGJvb2wgZmxhZykKLXsKLSAgICBEdW1w
UmVuZGVyVHJlZVN1cHBvcnRRdDo6c2V0RGVmZXJzTG9hZGluZyhtX2RydC0+d2ViUGFnZSgpLCBm
bGFnKTsKLX0KLQogdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0QWxsb3dVbml2ZXJzYWxB
Y2Nlc3NGcm9tRmlsZVVSTHMoYm9vbCBlbmFibGVkKQogewogICAgIG1fZHJ0LT53ZWJQYWdlKCkt
PnNldHRpbmdzKCktPnNldEF0dHJpYnV0ZShRV2ViU2V0dGluZ3M6OkxvY2FsQ29udGVudENhbkFj
Y2Vzc1JlbW90ZVVybHMsIGVuYWJsZWQpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQv
TGF5b3V0VGVzdENvbnRyb2xsZXJRdC5oCmluZGV4IGVmNjhiMzZlOWMzNDEyODU5ZDE5NGU3NTUy
NzY0ZjllYzkwYWQ5YmUuLjA5MzVjZDUzNzdlMTAyMTYwNjgwNGQwYjAzODI0MWQ3OWRjMjRlNjYg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVy
UXQuaAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0
LmgKQEAgLTI3NSw3ICsyNzUsNiBAQCBwdWJsaWMgc2xvdHM6CiAgICAgUVN0cmluZyBsYXllclRy
ZWVBc1RleHQoKTsKICAgICB2b2lkIHNldFRleHREaXJlY3Rpb24oY29uc3QgUVN0cmluZyYgZGly
ZWN0aW9uTmFtZSk7CiAgICAgdm9pZCBnb0JhY2soKTsKLSAgICB2b2lkIHNldERlZmVyc0xvYWRp
bmcoYm9vbCk7CiAjaWYgUVRfVkVSU0lPTiA+PSAweDA0MDgwMAogICAgIHZvaWQgc2V0QWx3YXlz
QWNjZXB0Q29va2llcyhib29sKTsKICAgICB2b2lkIHNldEFsd2F5c0Jsb2NrQ29va2llcyhib29s
KTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9MYXlvdXRUZXN0Q29udHJv
bGxlcldpbi5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vTGF5b3V0VGVzdENvbnRyb2xs
ZXJXaW4uY3BwCmluZGV4IDEyMzk0NDkyOWUyYWU5NjEzMjUxNjQ1NWEwN2JiN2ZjNDExZjdhZTYu
LjNmMTJlMDdlMGRhYzUwZGI4NzY0MzE1ZmU1Y2IyZGE1ODA0NTUyZjEgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9MYXlvdXRUZXN0Q29udHJvbGxlcldpbi5jcHAKKysrIGIv
VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0xheW91dFRlc3RDb250cm9sbGVyV2luLmNwcApAQCAt
MTAyMCwxMSArMTAyMCw2IEBAIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmdvQmFjaygpCiAg
ICAgLy8gRklYTUU6IGltcGxlbWVudCB0byBlbmFibGUgbG9hZGVyL25hdmlnYXRpb24td2hpbGUt
ZGVmZXJyaW5nLWxvYWRzLmh0bWwKIH0KIAotdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0
RGVmZXJzTG9hZGluZyhib29sKQotewotICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQgdG8gZW5hYmxl
IGxvYWRlci9uYXZpZ2F0aW9uLXdoaWxlLWRlZmVycmluZy1sb2Fkcy5odG1sCi19Ci0KIHZvaWQg
TGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldERvbWFpblJlbGF4YXRpb25Gb3JiaWRkZW5Gb3JVUkxT
Y2hlbWUoYm9vbCBmb3JiaWRkZW4sIEpTU3RyaW5nUmVmIHNjaGVtZSkKIHsKICAgICBDT01QdHI8
SVdlYlZpZXdQcml2YXRlPiB3ZWJWaWV3OwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvd3gvTGF5b3V0VGVzdENvbnRyb2xsZXJXeC5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS93
eC9MYXlvdXRUZXN0Q29udHJvbGxlcld4LmNwcAppbmRleCAwOGQyODMyYWNmMzQxNzhiYzU4Zjk2
MjA1ZWJiMmFkYTczZjEyN2ZhLi45NTdiYThhM2JjOTc4NmJmZTA2OTQ3MWE5ZGQ1ZWVmYjEwNzE3
Nzc0IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS93eC9MYXlvdXRUZXN0Q29udHJv
bGxlcld4LmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS93eC9MYXlvdXRUZXN0Q29udHJv
bGxlcld4LmNwcApAQCAtMjg4LDExICsyODgsNiBAQCB2b2lkIExheW91dFRlc3RDb250cm9sbGVy
Ojpnb0JhY2soKQogICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQgdG8gZW5hYmxlIGxvYWRlci9uYXZp
Z2F0aW9uLXdoaWxlLWRlZmVycmluZy1sb2Fkcy5odG1sCiB9CiAKLXZvaWQgTGF5b3V0VGVzdENv
bnRyb2xsZXI6OnNldERlZmVyc0xvYWRpbmcoYm9vbCkKLXsKLSAgICAvLyBGSVhNRTogaW1wbGVt
ZW50IHRvIGVuYWJsZSBsb2FkZXIvbmF2aWdhdGlvbi13aGlsZS1kZWZlcnJpbmctbG9hZHMuaHRt
bAotfQotCiB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXREb21haW5SZWxheGF0aW9uRm9y
YmlkZGVuRm9yVVJMU2NoZW1lKGJvb2wsIEpTU3RyaW5nUmVmKQogewogICAgIC8vIEZJWE1FOiBp
bXBsZW1lbnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCAwOTU5Njg0ZmI0YmEwODIyOTE5NTEwMDBmNTJlMWVhNGQzNmEyYjIz
Li4wNGUzZDZjZTI0NzQ4ODU5NTM4OGY0YzRhNDYzNTExYWM5ZGEzZmY0IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTYgQEAKKzIwMTItMDYtMTIgIEd5dXlvdW5nIEtpbSAgPGd5dXlvdW5nLmtpbUBzYW1zdW5n
LmNvbT4KKworICAgICAgICBNb3ZlIHNldERlZmVyc0xvYWRpbmcgdG8gSW50ZXJuYWxzIGludGVy
ZmFjZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODg5
NTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbnZv
a2Ugc2V0RGVmZXJzTG9hZGluZyBmdW5jdGlvbiBmcm9tIGludGVybmFscywgYmVjYXVzZSBpdCBp
cyBhYmxlIHRvIHdvcmsgaW4gdGhlCisgICAgICAgIGNyb3NzLXBvcnQgd2F5IHZpYSB0aGUgSW50
ZXJuYWxzIGludGVyZmFjZS4KKworICAgICAgICAqIGxvYWRlci9sb2FkLWRlZmVyLXJlc3VtZS1j
cmFzaC5odG1sOgorICAgICAgICAqIGxvYWRlci9uYXZpZ2F0aW9uLXdoaWxlLWRlZmVycmluZy1s
b2Fkcy5odG1sOgorCiAyMDEyLTA2LTExICBEb21pbmljIENvb25leSAgPGRvbWluaWNjQGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBbQ2hyb21pdW1dIFVucmV2aWV3ZWQ6IFVwZGF0ZSB0ZXN0IGV4
cGVjdGF0aW9ucyB3aXRoIGJ1Z3MgZm9yIG1lZGlhIHRlc3QgdGltZW91dHMKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2xvYWRlci9sb2FkLWRlZmVyLXJlc3VtZS1jcmFzaC5odG1sIGIvTGF5b3V0
VGVzdHMvbG9hZGVyL2xvYWQtZGVmZXItcmVzdW1lLWNyYXNoLmh0bWwKaW5kZXggNTYwY2ZjOTQ3
YjVjNTZkMGUwZjU3NzY2YjUxOTZmNzQzMjNjMGZhYi4uZTA1MmZkOGQyZjc0YTBmYjgyOWU5MDBm
NGExOWQ4ZGE3Nzc0NWEzMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbG9hZGVyL2xvYWQtZGVm
ZXItcmVzdW1lLWNyYXNoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvbG9hZGVyL2xvYWQtZGVmZXIt
cmVzdW1lLWNyYXNoLmh0bWwKQEAgLTksOSArOSw5IEBAIGZ1bmN0aW9uIHJ1bigpIHsKICAgICB2
YXIgZnJhbWVFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJykKICAgICBm
cmFtZUVsZW1lbnQuc2V0QXR0cmlidXRlKCJzcmMiLCAicmVzb3VyY2VzL2ltYWdlcy5odG1sIik7
CiAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZyYW1lRGl2IikuYXBwZW5kQ2hpbGQoZnJh
bWVFbGVtZW50KTsKLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAg
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNldERlZmVyc0xvYWRpbmcodHJ1ZSk7Ci0gICAgICAg
IHNldFRpbWVvdXQoImxheW91dFRlc3RDb250cm9sbGVyLnNldERlZmVyc0xvYWRpbmcoZmFsc2Up
O2xheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsiLDEwMDApOworICAgIGlmICh3aW5k
b3cuaW50ZXJuYWxzKSB7CisgICAgICAgIGludGVybmFscy5zZXREZWZlcnNMb2FkaW5nKHRydWUp
OworICAgICAgICBzZXRUaW1lb3V0KCJpbnRlcm5hbHMuc2V0RGVmZXJzTG9hZGluZyhmYWxzZSk7
bGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOyIsMTAwMCk7CiAgICAgfSBlbHNlCiAg
ICAgICAgIGFsZXJ0KCJEZWZlcnJpbmcgbG9hZHMiKTsKIH0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2xvYWRlci9uYXZpZ2F0aW9uLXdoaWxlLWRlZmVycmluZy1sb2Fkcy5odG1sIGIvTGF5b3V0
VGVzdHMvbG9hZGVyL25hdmlnYXRpb24td2hpbGUtZGVmZXJyaW5nLWxvYWRzLmh0bWwKaW5kZXgg
NDIxNzJmYjJkOTgyMWNlMmVkMzBkOTJkZTQ1YWYzNjFkMTFjMWQwYy4uYjEyMjFjMGExY2M0YzNl
ZjYzMTRiMzQwN2QyZDBkZmRkN2U0MThiOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbG9hZGVy
L25hdmlnYXRpb24td2hpbGUtZGVmZXJyaW5nLWxvYWRzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
bG9hZGVyL25hdmlnYXRpb24td2hpbGUtZGVmZXJyaW5nLWxvYWRzLmh0bWwKQEAgLTE4LDYgKzE4
LDYgQEAgZnVuY3Rpb24gcnVuKCkgewogfQogPC9zY3JpcHQ+CiA8Ym9keSBvbmxvYWQ9J3J1bigp
Jz4KLSAgICA8YSBpZD0nYW5jaG9yJyBocmVmPSdkYXRhOnRleHQvaHRtbCw8c2NyaXB0PmZ1bmN0
aW9uIGRlZmVyQ2FsbGJhY2tzKGRlZmVyKXtsYXlvdXRUZXN0Q29udHJvbGxlci5zZXREZWZlcnNM
b2FkaW5nKGRlZmVyKX08L3NjcmlwdD48Ym9keSBvbmxvYWQ9ImlmKHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlcil7ZGVmZXJDYWxsYmFja3ModHJ1ZSk7bGF5b3V0VGVzdENvbnRyb2xsZXIuZ29C
YWNrKCk7ZGVmZXJDYWxsYmFja3MoZmFsc2UpfSI+RkFJTDwvYm9keT4nPmdvIHRvIHNlY29uZCBw
YWdlPC9hPgorICAgIDxhIGlkPSdhbmNob3InIGhyZWY9J2RhdGE6dGV4dC9odG1sLDxzY3JpcHQ+
ZnVuY3Rpb24gZGVmZXJDYWxsYmFja3MoZGVmZXIpe2ludGVybmFscy5zZXREZWZlcnNMb2FkaW5n
KGRlZmVyKX08L3NjcmlwdD48Ym9keSBvbmxvYWQ9ImlmKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcil7ZGVmZXJDYWxsYmFja3ModHJ1ZSk7bGF5b3V0VGVzdENvbnRyb2xsZXIuZ29CYWNrKCk7
ZGVmZXJDYWxsYmFja3MoZmFsc2UpfSI+RkFJTDwvYm9keT4nPmdvIHRvIHNlY29uZCBwYWdlPC9h
PgogPC9ib2R5PgogPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>147226</attachid>
            <date>2012-06-12 22:13:40 -0700</date>
            <delta_ts>2012-06-19 00:54:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-88952-20120613141339.patch</filename>
            <type>text/plain</type>
            <size>30091</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwMDM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzkxODM4MzUxNTI3ZDMz
MmU3Y2Q4MGNlOTlmZWU0YTEyMDlhYmU2Ny4uOTg5NWFmYzI1YzE2NDUyYjQyNTYwMWJhNmJhZWJm
NmZhMWE0ZTQxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEyLTA2LTEyICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgTW92ZSBzZXRE
ZWZlcnNMb2FkaW5nIHRvIEludGVybmFscyBpbnRlcmZhY2UKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg4OTUyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHNldERlZmVyc0xvYWRpbmcgZnVuY3Rpb24s
IGJlY2F1c2UgaXQgaXMgYWJsZSB0byB3b3JrIGluIHRoZQorICAgICAgICBjcm9zcy1wb3J0IHdh
eSBieSBtZWFucyBvZiB0aGUgSW50ZXJuYWxzIGludGVyZmFjZS4KKworICAgICAgICBJbiBhZGRp
dGlvbiwgc2V0RGVmZXJzTG9hZGluZyBpcyBzZXQgYXMgZmFsc2Ugd2hlbmV2ZXIgdGVzdCBpcyBz
dGFydGVkLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgc2luY2Ugd2UgYXJlIGltcHJvdmluZyBo
ZXJlIHRoZSBpbmZyYS1zdHJ1Y3R1cmUgZm9yIHRlc3RpbmcKKyAgICAgICAgYSBzcGVjaWZpYyBt
ZXRob2QuCisKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpJbnRlcm5hbHM6OnNldERlZmVyc0xvYWRpbmcpOgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OnJlc2V0KToKKyAgICAgICAgKiB0ZXN0aW5nL0lu
dGVybmFscy5oOgorICAgICAgICAoSW50ZXJuYWxzKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVy
bmFscy5pZGw6CisKIDIwMTItMDYtMTEgIEppbiBZYW5nICA8amluLmEueWFuZ0BpbnRlbC5jb20+
CiAKICAgICAgICAgR2VuZXJhdG9yR2VuZXJhdGVkSW1hZ2Ugc2hvdWxkIGNhY2hlIGltYWdlcyBm
b3IgdGhlIG5vbi10aWxlZCBjYXNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKaW5kZXggODk3MDEwZTBjZTMyMTE1
NWRlYWJjMjY3MmI1NjFiYzEwZTQzOWQxOC4uMTU5N2Y3ZTA4NDM5ZTI3MWQzN2U2Mzg0ZGFmOTVj
YmVlZjY3NmUyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTA2LTEy
ICBHeXV5b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgTW92
ZSBzZXREZWZlcnNMb2FkaW5nIHRvIEludGVybmFscyBpbnRlcmZhY2UKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg4OTUyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIHNldERlZmVyc0xvYWRpbmcg
ZnVuY3Rpb25zLCBiZWNhdXNlIGl0IGlzIGFibGUgdG8gd29yayBpbiB0aGUgCisgICAgICAgIGNy
b3NzLXBvcnQgd2F5IHRocm91Z2ggdGhlIEludGVybmFscyBpbnRlcmZhY2UuIAorCisgICAgICAg
ICogV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0RWZsLmNwcDoKKyAgICAgICAg
KiBXZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRFZmwuaDoKKwogMjAxMi0wNi0w
NSAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIFJlbW92ZSBzdXBw
b3J0IGZvciB0YXJnZXQtZGVuc2l0eWRwaSBpbiB0aGUgdmlld3BvcnQgbWV0YSB0YWcKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0No
YW5nZUxvZwppbmRleCAwMGRmZWZjNjFjMDZmYzc5MmUxZTVhMGE1N2ZhN2Q2YTlmOTgxMmJkLi44
MzVlZjQxNjk2YmJhMjAwYjVjNTk0NzE3OWU5OTNmMmFlMjJiNWRiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMDYtMTIgIEd5dXlvdW5nIEtpbSAgPGd5dXlvdW5nLmtp
bUBzYW1zdW5nLmNvbT4KKworICAgICAgICBNb3ZlIHNldERlZmVyc0xvYWRpbmcgdG8gSW50ZXJu
YWxzIGludGVyZmFjZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9ODg5NTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBSZW1vdmUgc2V0RGVmZXJzTG9hZGluZyBmdW5jdGlvbnMsIGJlY2F1c2UgIGFibGUgdG8g
d29yayBpbiB0aGUgCisgICAgICAgIGNyb3NzLXBvcnQgd2F5IHRocm91Z2ggdGhlIEludGVybmFs
cyBpbnRlcmZhY2UuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1
cHBvcnRHdGsuY3BwOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3Vw
cG9ydEd0ay5oOgorICAgICAgICAoRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrKToKKwogMjAxMi0w
Ni0wNyAgU2ltb24gUGVuYSAgPHNwZW5hQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gZGV2
aWNlU2NhbGVGYWN0b3Igc2V0dGluZyBpcyBub3QgaG9ub3JlZApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9xdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwppbmRleCAy
ZjhhYzZmNDc4YjFkNzZkNzNjY2M2NGMyYTc5NGY0YTRiYjBlMzY1Li4xOGU5ZWNlNjBmZWNmNTc3
ZDIxNDk5NTVlZjMyZTcyMWI5NTA0OTAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBA
CisyMDEyLTA2LTEyICBHeXV5b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CisK
KyAgICAgICAgTW92ZSBzZXREZWZlcnNMb2FkaW5nIHRvIEludGVybmFscyBpbnRlcmZhY2UKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg4OTUyCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIHNldERl
ZmVyc0xvYWRpbmcgZnVuY3Rpb25zLCBiZWNhdXNlIGl0IGlzIGFibGUgdG8gd29yayBpbiB0aGUg
CisgICAgICAgIGNyb3NzLXBvcnQgd2F5IHRocm91Z2ggdGhlIEludGVybmFscyBpbnRlcmZhY2Uu
CisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHA6
CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuaDoKKwog
MjAxMi0wNi0xMSAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQub3JnPgogCiAgICAg
ICAgIFtRdF1bV2luXSBBZGQgbWlzc2luZyBpbmNsdWRlcyB0byBmaXggdGhlIGJ1aWxkCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cKaW5kZXggOTBhNWY0YjAxZGYxN2EwMmZhZjMyMTNmNzZjMDQ2YmNiOTM5Nzc3My4uZDRiNDI5
MWJjZGM2Yzk0NDRkY2JlM2JmNmFmYWY5ZDRmNTc3NWI5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDEyIEBACisyMDEyLTA2LTEyICBHeXV5b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5j
b20+CisKKyAgICAgICAgTW92ZSBzZXREZWZlcnNMb2FkaW5nIHRvIEludGVybmFscyBpbnRlcmZh
Y2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg4OTUy
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3aW4v
V2ViS2l0Mi5kZWY6IEFkZCBzZXREZWZlcnNMb2FkaW5nIHN5bWJvbCBmaWx0ZXIuCisKIDIwMTIt
MDYtMTEgIEFsZXhpcyBNZW5hcmQgIDxhbGV4aXMubWVuYXJkQG9wZW5ib3NzYS5vcmc+CiAKICAg
ICAgICAgW0NTUzMgQmFja2dyb3VuZHMgYW5kIEJvcmRlcnNdIFByb3RlY3QgYm94LWRlY29yYXRp
b24tYnJlYWsgYmVoaW5kIGEgZmVhdHVyZSBmbGFnLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuY3BwCmluZGV4IGNmZDA5MDdiNzNlMzYwMDgwNmE1MTc2YWQ5Zjc3MmNhODZlOTlmYzYuLmJl
NjFjYmI1Mzk0OWNhMzIwZWUxNmIwZDYzZWNmMzQ3YzNmODliYjUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5jcHAKQEAgLTU3Miw2ICs1NzIsMTQgQEAgdm9pZCBJbnRlcm5hbHM6OnNl
dFBhZ2luYXRpb24oRG9jdW1lbnQqIGRvY3VtZW50LCBjb25zdCBTdHJpbmcmIG1vZGUsIGludCBn
YXAsIEUKICAgICBkb2N1bWVudC0+cGFnZSgpLT5zZXRQYWdpbmF0aW9uKHBhZ2luYXRpb24pOwog
fQogCit2b2lkIEludGVybmFsczo6c2V0RGVmZXJzTG9hZGluZyhEb2N1bWVudCogZG9jdW1lbnQs
IGJvb2wgZGVmZXJzKQoreworICAgIGlmICghZG9jdW1lbnQgfHwgZG9jdW1lbnQtPnBhZ2UoKSkK
KyAgICAgICAgcmV0dXJuOworCisgICAgZG9jdW1lbnQtPnBhZ2UoKS0+c2V0RGVmZXJzTG9hZGlu
ZyhkZWZlcnMpOworfQorCiB2b2lkIEludGVybmFsczo6cmVzZXQoRG9jdW1lbnQqIGRvY3VtZW50
KQogewogICAgIGlmICghZG9jdW1lbnQgfHwgIWRvY3VtZW50LT5zZXR0aW5ncygpKQpAQCAtNTg5
LDYgKzU5Nyw4IEBAIHZvaWQgSW50ZXJuYWxzOjpyZXNldChEb2N1bWVudCogZG9jdW1lbnQpCiAg
ICAgICAgICAgICBzZXRVc2VyUHJlZmVycmVkTGFuZ3VhZ2VzKFZlY3RvcjxTdHJpbmc+KCkpOwog
ICAgIH0KIAorICAgIGRvY3VtZW50LT5wYWdlKCktPnNldERlZmVyc0xvYWRpbmcoZmFsc2UpOwor
CiAgICAgcmVzZXREZWZhdWx0c1RvQ29uc2lzdGVudFZhbHVlcygpOwogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oIGIvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMuaAppbmRleCA2ZmE0YTQ1YzY3MjlkMWNhYjVkYzA3NGQxMzI4YjUzMTJm
NWMxNGU0Li5kZTBiNjAyNjNiZjBhNWM2OTRjYzM1ODRhZTkxOGEyYjM0MThhOTUxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAgLTExMiw2ICsxMTIsOCBAQCBwdWJsaWM6CiAKICAg
ICB2b2lkIHNldFBhZ2luYXRpb24oRG9jdW1lbnQqLCBjb25zdCBTdHJpbmcmIG1vZGUsIGludCBn
YXAsIEV4Y2VwdGlvbkNvZGUmKTsKIAorICAgIHZvaWQgc2V0RGVmZXJzTG9hZGluZyhEb2N1bWVu
dCosIGJvb2wgZGVmZXJzKTsKKwogICAgIGJvb2wgd2FzTGFzdENoYW5nZVVzZXJFZGl0KEVsZW1l
bnQqIHRleHRGaWVsZCwgRXhjZXB0aW9uQ29kZSYpOwogICAgIFN0cmluZyBzdWdnZXN0ZWRWYWx1
ZShFbGVtZW50KiBpbnB1dEVsZW1lbnQsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2b2lkIHNldFN1
Z2dlc3RlZFZhbHVlKEVsZW1lbnQqIGlucHV0RWxlbWVudCwgY29uc3QgU3RyaW5nJiwgRXhjZXB0
aW9uQ29kZSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
aWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCmluZGV4IGFhMTA4NThi
YjNkNjY2YWY0ZmMwNWRiZWU4YTQ0MDc2YWRmODYwNDAuLmU2ZTU4ZWFmMTQzZjE5NmUzYjY4OWZj
YmM4ZDVlYThjZjRjZThiNmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKQEAg
LTg0LDYgKzg0LDggQEAgbW9kdWxlIHdpbmRvdyB7CiAKICAgICAgICAgdm9pZCBzZXRQYWdpbmF0
aW9uKGluIERvY3VtZW50IGRvY3VtZW50LCBpbiBET01TdHJpbmcgbW9kZSwgaW4gbG9uZyBnYXAp
IHJhaXNlcyhET01FeGNlcHRpb24pOwogCisgICAgICAgIHZvaWQgc2V0RGVmZXJzTG9hZGluZyhp
biBEb2N1bWVudCBkb2N1bWVudCwgaW4gYm9vbGVhbiBkZWZlcnMpOworCiAgICAgICAgIGJvb2xl
YW4gd2FzTGFzdENoYW5nZVVzZXJFZGl0KGluIEVsZW1lbnQgdGV4dEZpZWxkKSByYWlzZXMgKERP
TUV4Y2VwdGlvbik7CiAgICAgICAgIERPTVN0cmluZyBzdWdnZXN0ZWRWYWx1ZShpbiBFbGVtZW50
IGlucHV0RWxlbWVudCkgcmFpc2VzIChET01FeGNlcHRpb24pOwogICAgICAgICB2b2lkIHNldFN1
Z2dlc3RlZFZhbHVlKGluIEVsZW1lbnQgaW5wdXRFbGVtZW50LCBpbiBET01TdHJpbmcgdmFsdWUp
IHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL1dl
YkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbC5jcHAgYi9Tb3VyY2UvV2ViS2l0
L2VmbC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRFZmwuY3BwCmluZGV4IGI0
NWFlZjExMzA0MjE4ZmZlYTlhNjAxZTFlMGM1N2I2ZDJmZTIxYjUuLmNhNjkwY2U4NzNiYWIxZmVh
MDEzMDlmNTlmOWIxZWU5ZDhmOWY2YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dl
YkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbC5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0RWZsLmNwcApAQCAt
MzQ4LDE2ICszNDgsNiBAQCB2b2lkIER1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbDo6c2V0QXV0b2Zp
bGxlZChKU0NvbnRleHRSZWYgY29udGV4dCwgSlNWYWx1ZVJlZiBubwogICAgIGlucHV0RWxlbWVu
dC0+c2V0QXV0b2ZpbGxlZChhdXRvZmlsbGVkKTsKIH0KIAotdm9pZCBEdW1wUmVuZGVyVHJlZVN1
cHBvcnRFZmw6OnNldERlZmVyc0xvYWRpbmcoRXZhc19PYmplY3QqIGV3a1ZpZXcsIGJvb2wgZGVm
ZXJzKQotewotICAgIFdlYkNvcmU6OlBhZ2UqIHBhZ2UgPSBFV0tQcml2YXRlOjpjb3JlUGFnZShl
d2tWaWV3KTsKLQotICAgIGlmICghcGFnZSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgcGFnZS0+
c2V0RGVmZXJzTG9hZGluZyhkZWZlcnMpOwotfQotCiB2b2lkIER1bXBSZW5kZXJUcmVlU3VwcG9y
dEVmbDo6c2V0TG9hZHNTaXRlSWNvbnNJZ25vcmluZ0ltYWdlTG9hZGluZ1NldHRpbmcoRXZhc19P
YmplY3QqIGV3a1ZpZXcsIGJvb2wgbG9hZHNTaXRlSWNvbnNJZ25vcmluZ0ltYWdlTG9hZGluZ1By
ZWZlcmVuY2VzKQogewogICAgIFdlYkNvcmU6OlBhZ2UqIHBhZ2UgPSBFV0tQcml2YXRlOjpjb3Jl
UGFnZShld2tWaWV3KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBw
b3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbC5oIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29y
ZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0RWZsLmgKaW5kZXggMmFlMzQzMTE2M2UxNTRj
Yjc3ZWQ3MzAzODg3NmJhN2U2MDA3Zjc2MC4uNzE4YjVhZTdkNmFiODNlOGE2YmJmZWJiMzE4Mjk3
YTQwNjllMTdhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQv
RHVtcFJlbmRlclRyZWVTdXBwb3J0RWZsLmgKKysrIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29y
ZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0RWZsLmgKQEAgLTcwLDcgKzcwLDYgQEAgcHVi
bGljOgogICAgIHN0YXRpYyBTdHJpbmcgc3VpdGFibGVEUlRGcmFtZU5hbWUoY29uc3QgRXZhc19P
YmplY3QqIGV3a0ZyYW1lKTsKICAgICBzdGF0aWMgdm9pZCBzZXRWYWx1ZUZvclVzZXIoSlNDb250
ZXh0UmVmLCBKU1ZhbHVlUmVmIG5vZGVPYmplY3QsIGNvbnN0IFN0cmluZyYgdmFsdWUpOwogICAg
IHN0YXRpYyB2b2lkIHNldEF1dG9maWxsZWQoSlNDb250ZXh0UmVmLCBKU1ZhbHVlUmVmIG5vZGVP
YmplY3QsIGJvb2wgYXV0b2ZpbGxlZCk7Ci0gICAgc3RhdGljIHZvaWQgc2V0RGVmZXJzTG9hZGlu
ZyhFdmFzX09iamVjdCogZXdrVmlldywgYm9vbCBkZWZlcnMpOwogICAgIHN0YXRpYyB2b2lkIHNl
dExvYWRzU2l0ZUljb25zSWdub3JpbmdJbWFnZUxvYWRpbmdTZXR0aW5nKEV2YXNfT2JqZWN0KiBl
d2tWaWV3LCBib29sIGxvYWRzU2l0ZUljb25zSWdub3JpbmdJbWFnZUxvYWRpbmdQcmVmZXJlbmNl
cyk7CiAKICAgICBzdGF0aWMgdm9pZCBhZGRVc2VyU2NyaXB0KGNvbnN0IEV2YXNfT2JqZWN0KiBl
d2tWaWV3LCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIGJvb2wgcnVuQXRTdGFydCwgYm9vbCBh
bGxGcmFtZXMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQv
RHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrLmNwcCBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVT
dXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEd0ay5jcHAKaW5kZXggM2RkNmI0ZDA1NjZmMDI4
YzBlYzkwM2MyZWIxZWZmNDI3YzBiM2JmMC4uOGJkNWVjZjczYWIxMzdmYTAyYTc3ZDgwOWUyMmE0
YjNiZDVhMmE4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQv
RHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJD
b3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsuY3BwCkBAIC01NzQsMTEgKzU3NCw2
IEBAIGJvb2wgRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrOjpzZWxlY3RlZFJhbmdlKFdlYktpdFdl
YlZpZXcqIHdlYlZpZXcsIGludCogc3RhcnQsCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLXZvaWQg
RHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrOjpzZXREZWZlcnNMb2FkaW5nKFdlYktpdFdlYlZpZXcq
IHdlYlZpZXcsIGJvb2wgZGVmZXJzKQotewotICAgIGNvcmUod2ViVmlldyktPnNldERlZmVyc0xv
YWRpbmcoZGVmZXJzKTsKLX0KLQogdm9pZCBEdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGs6OnNldFNt
YXJ0SW5zZXJ0RGVsZXRlRW5hYmxlZChXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3LCBib29sIGVuYWJs
ZWQpCiB7CiAgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfSVNfV0VCX1ZJRVcod2ViVmlldykp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRl
clRyZWVTdXBwb3J0R3RrLmggYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9EdW1w
UmVuZGVyVHJlZVN1cHBvcnRHdGsuaAppbmRleCAzNGY3YmRlZWQ3YzZjZDJhNDVlMWUwZDcwZWM2
NTZmZWZlOGJmMWU5Li4yYzQyNTlmODVlM2UzODU1Zjk2ODkwMDcxNWIwYWU0NjZhZThkMzUzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJl
ZVN1cHBvcnRHdGsuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9EdW1w
UmVuZGVyVHJlZVN1cHBvcnRHdGsuaApAQCAtOTAsNyArOTAsNiBAQCBwdWJsaWM6CiAgICAgc3Rh
dGljIHZvaWQgc2V0TWluaW11bVRpbWVySW50ZXJ2YWwoV2ViS2l0V2ViVmlldyosIGRvdWJsZSk7
CiAgICAgc3RhdGljIHZvaWQgcmVjdGFuZ2xlRm9yU2VsZWN0aW9uKFdlYktpdFdlYkZyYW1lKiwg
Y2Fpcm9fcmVjdGFuZ2xlX2ludF90Kik7CiAgICAgc3RhdGljIHZvaWQgc2NhbGVQYWdlQnkoV2Vi
S2l0V2ViVmlldyosIGZsb2F0LCBmbG9hdCwgZmxvYXQpOwotICAgIHN0YXRpYyB2b2lkIHNldERl
ZmVyc0xvYWRpbmcoV2ViS2l0V2ViVmlldyosIGJvb2wpOwogICAgIHN0YXRpYyB2b2lkIHNldFNt
YXJ0SW5zZXJ0RGVsZXRlRW5hYmxlZChXZWJLaXRXZWJWaWV3KiwgYm9vbCk7CiAgICAgc3RhdGlj
IHZvaWQgZm9yY2VXZWJWaWV3UGFpbnQoV2ViS2l0V2ViVmlldyopOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmNw
cCBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0
UXQuY3BwCmluZGV4IDcwZGQ1ZmIzNjFjMzc2NDBhMjgzYTg2YThhYzE2MzFhYjUzMjZmM2EuLjg1
NDQ3ZTg3YTFiY2RjNTU2NWQ5ZDZmNzQxNmFhODFlNWUxYTUzMjQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0
UXQuY3BwCkBAIC05MzUsMTMgKzkzNSw2IEBAIHZvaWQgRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6
OnNpbXVsYXRlRGVza3RvcE5vdGlmaWNhdGlvbkNsaWNrKGNvbnN0IFFTdHJpbmcmIHRpCiAjZW5k
aWYKIH0KIAotdm9pZCBEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6c2V0RGVmZXJzTG9hZGluZyhR
V2ViUGFnZSogcGFnZSwgYm9vbCBmbGFnKQotewotICAgIFBhZ2UqIGNvcmVQYWdlID0gUVdlYlBh
Z2VQcml2YXRlOjpjb3JlKHBhZ2UpOwotICAgIGlmIChjb3JlUGFnZSkKLSAgICAgICAgY29yZVBh
Z2UtPnNldERlZmVyc0xvYWRpbmcoZmxhZyk7Ci19Ci0KIHZvaWQgRHVtcFJlbmRlclRyZWVTdXBw
b3J0UXQ6OmdvQmFjayhRV2ViUGFnZSogcGFnZSkKIHsKICAgICBQYWdlKiBjb3JlUGFnZSA9IFFX
ZWJQYWdlUHJpdmF0ZTo6Y29yZShwYWdlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQv
V2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuaCBiL1NvdXJjZS9XZWJLaXQv
cXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuaAppbmRleCA0MTgwMGZh
YmQ3N2I0ODY3YzAzMDU2MTZkNjBiYzRkZTZhNmQ0MDM4Li5lNTM2NGRiNDg4MDFiOTcxYjFhZTIz
MjA1OGYzMTgwZjkyOWU2MWUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVT
dXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmgKKysrIGIvU291cmNlL1dlYktpdC9xdC9X
ZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5oCkBAIC0yMjAsNyArMjIwLDYg
QEAgcHVibGljOgogCiAgICAgc3RhdGljIHZvaWQgc2V0SW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlv
bkVuYWJsZWQoUVdlYlBhZ2UqLCBib29sKTsKIAotICAgIHN0YXRpYyB2b2lkIHNldERlZmVyc0xv
YWRpbmcoUVdlYlBhZ2UqLCBib29sIGZsYWcpOwogICAgIHN0YXRpYyB2b2lkIGdvQmFjayhRV2Vi
UGFnZSopOwogCiAjaWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJTSU9OX0NIRUNLKDQsIDgsIDApCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWYgYi9Tb3VyY2UvV2ViS2l0
Mi93aW4vV2ViS2l0Mi5kZWYKaW5kZXggNGE3NGQ1YWE5ZjVjYTgwMzQ2MTBhZTI1ZmQxNjc2ZTA3
MTM2Yzg5NS4uMmM0YmRkZDc0NjcwNjVkMTEwNmQ4MWNmODc4OWIxOTQyZWM2YTg5NCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIuZGVmCisrKyBiL1NvdXJjZS9XZWJLaXQy
L3dpbi9XZWJLaXQyLmRlZgpAQCAtMjU3LDYgKzI1Nyw3IEBAIEVYUE9SVFMKICAgICAgICAgP3N1
c3BlbmRBbmltYXRpb25zQEFuaW1hdGlvbkNvbnRyb2xsZXJAV2ViQ29yZUBAUUFFWFhaCiAgICAg
ICAgID9yZXN1bWVBbmltYXRpb25zQEFuaW1hdGlvbkNvbnRyb2xsZXJAV2ViQ29yZUBAUUFFWFha
CiAgICAgICAgID9zZXRBbGxvd3NSb3VuZGluZ0hhY2tzQFRleHRSdW5AV2ViQ29yZUBAU0FYX05A
WgorICAgICAgICA/c2V0RGVmZXJzTG9hZGluZ0BQYWdlQFdlYkNvcmVAQFFBRVhfTkBaCiAgICAg
ICAgID9wcm9maWxlckVuYWJsZWRASW5zcGVjdG9yQ29udHJvbGxlckBXZWJDb3JlQEBRQUVfTlha
CiAgICAgICAgID9zZXRQcm9maWxlckVuYWJsZWRASW5zcGVjdG9yQ29udHJvbGxlckBXZWJDb3Jl
QEBRQUVYX05AWgogICAgICAgICA/anNTdHJpbmdTbG93Q2FzZUBXZWJDb3JlQEBZQT9BVkpTVmFs
dWVASlNDQEBQQVZFeGVjU3RhdGVAM0BBQVY/JEhhc2hNYXBAUEFWU3RyaW5nSW1wbEBXVEZAQFY/
JFdlYWtAVkpTU3RyaW5nQEpTQ0BAQEpTQ0BAVT8kUHRySGFzaEBQQVZTdHJpbmdJbXBsQFdURkBA
QDJAVT8kSGFzaFRyYWl0c0BQQVZTdHJpbmdJbXBsQFdURkBAQDJAVT8kSGFzaFRyYWl0c0BWPyRX
ZWFrQFZKU1N0cmluZ0BKU0NAQEBKU0NAQEAyQEBXVEZAQFBBVlN0cmluZ0ltcGxANkBAWiAgICAg
ICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyIGIvU291cmNl
L2F1dG90b29scy9zeW1ib2xzLmZpbHRlcgppbmRleCA2YThkMDdmMDRjNzYwNDQ4MWFkM2I0YWRi
NzM5YWY2YWM4NjQ5MDE1Li42YzZhMjg3NTEwYTViMmJhMzdiZDgwYjc4NGY1NDEyMTgzN2YyNWNk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyCisrKyBiL1NvdXJj
ZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIKQEAgLTE1MCw2ICsxNTAsNyBAQCBfWk43V2ViQ29y
ZThEb2N1bWVudDM0d2Via2l0V2lsbEV4aXRGdWxsU2NyZWVuRm9yRWxlbWVudEVQTlNfN0VsZW1l
bnRFOwogX1pON1dlYkNvcmU4RG9jdW1lbnQzNXdlYmtpdFdpbGxFbnRlckZ1bGxTY3JlZW5Gb3JF
bGVtZW50RVBOU183RWxlbWVudEU7CiBfWk43V2ViQ29yZTE3SlNET01HbG9iYWxPYmplY3Q2c19p
bmZvRTsKIF9aTjdXZWJDb3JlN1RleHRSdW4yMnNldEFsbG93c1JvdW5kaW5nSGFja3NFYjsKK19a
TjdXZWJDb3JlNFBhZ2UxNnNldERlZmVyc0xvYWRpbmdFYjsKIGxvY2FsOgogX1oqOwogY3RpKjsK
ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAwM2U5
Yjg1Zjc3MmQ4ODZhYzE0MjY3MjA0MDg1MDY5Y2MxMjE2YTZlLi44MzIzMmJiNzhlNzQ0ZDhlMzNm
YzRiMjVmMDU5Mjg4NDg1ODVjNjUwIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIv
VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMTItMDYtMTIgIEd5dXlvdW5nIEtp
bSAgPGd5dXlvdW5nLmtpbUBzYW1zdW5nLmNvbT4KKworICAgICAgICBNb3ZlIHNldERlZmVyc0xv
YWRpbmcgdG8gSW50ZXJuYWxzIGludGVyZmFjZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODg5NTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBSZW1vdmUgc2V0RGVmZXJzTG9hZGluZyBmdW5jdGlvbnMsIGJl
Y2F1c2UgaXQgaXMgYWJsZSB0byB3b3JrIGluIHRoZQorICAgICAgICBjcm9zcy1wb3J0IHdheSB0
aHJvdWdoIHRoZSBJbnRlcm5hbHMgaW50ZXJmYWNlLgorCisgICAgICAgICogRHVtcFJlbmRlclRy
ZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xs
ZXI6OnN0YXRpY0Z1bmN0aW9ucyk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVz
dENvbnRyb2xsZXIuaDoKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVyKToKKyAgICAgICAg
KiBEdW1wUmVuZGVyVHJlZS9ibGFja2JlcnJ5L0xheW91dFRlc3RDb250cm9sbGVyQmxhY2tCZXJy
eS5jcHA6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6Z29CYWNrKToKKyAgICAgICAg
KiBEdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVDaHJvbWUuY3BwOgorICAgICAgICAo
RHVtcFJlbmRlclRyZWVDaHJvbWU6OnJlc2V0RGVmYXVsdHNUb0NvbnNpc3RlbnRWYWx1ZXMpOgor
ICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2VmbC9MYXlvdXRUZXN0Q29udHJvbGxlckVmbC5jcHA6
CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvZ3RrL0R1bXBSZW5kZXJUcmVlLmNwcDoKKyAgICAg
ICAgKHJlc2V0RGVmYXVsdHNUb0NvbnNpc3RlbnRWYWx1ZXMpOgorICAgICAgICAqIER1bXBSZW5k
ZXJUcmVlL2d0ay9MYXlvdXRUZXN0Q29udHJvbGxlckd0ay5jcHA6CisgICAgICAgICogRHVtcFJl
bmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tOgorICAgICAgICAoY3JlYXRlV2ViVmlld0Fu
ZE9mZnNjcmVlbldpbmRvdyk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFjL0xheW91dFRl
c3RDb250cm9sbGVyTWFjLm1tOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5k
ZXJUcmVlUXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViUGFnZTo6cmVzZXRTZXR0aW5ncyk6
CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHA6
CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5oOgor
ICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXIpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVl
L3dpbi9MYXlvdXRUZXN0Q29udHJvbGxlcldpbi5jcHA6CisgICAgICAgICogRHVtcFJlbmRlclRy
ZWUvd3gvTGF5b3V0VGVzdENvbnRyb2xsZXJXeC5jcHA6CisKIDIwMTItMDYtMTEgIENocmlzdG9w
aGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVsLmNvbT4KIAogICAgICAgICBbRUZMXSBS
ZW1vdmUgQ01ha2VDYWNoZS50eHQgYmVmb3JlIGJ1aWxkaW5nCmRpZmYgLS1naXQgYS9Ub29scy9E
dW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAgYi9Ub29scy9EdW1wUmVuZGVy
VHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAKaW5kZXggNDQwZDBkYzI4OGQ2MzZmODA0OTJk
M2M4ZDFmMzIxODg4YTNiY2U5OC4uODA0YzIyMTU2ODZlMWM1MzA4YWNjMGRlYjM1Yzg1Y2E2MjEw
MDVmOSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xs
ZXIuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmNw
cApAQCAtMTIyMSwxNyArMTIyMSw2IEBAIHN0YXRpYyBKU1ZhbHVlUmVmIHNldERlZmVyTWFpblJl
c291cmNlRGF0YUxvYWRDYWxsYmFjayhKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPCiAgICAgcmV0
dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRleHQpOwogfQogCi1zdGF0aWMgSlNWYWx1ZVJl
ZiBzZXREZWZlcnNMb2FkaW5nQ2FsbGJhY2soSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0
UmVmIGZ1bmN0aW9uLCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBzaXplX3QgYXJndW1lbnRDb3Vu
dCwgY29uc3QgSlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKQot
ewotICAgIGlmIChhcmd1bWVudENvdW50IDwgMSkKLSAgICAgICAgcmV0dXJuIEpTVmFsdWVNYWtl
VW5kZWZpbmVkKGNvbnRleHQpOwotCi0gICAgTGF5b3V0VGVzdENvbnRyb2xsZXIqIGNvbnRyb2xs
ZXIgPSBzdGF0aWNfY2FzdDxMYXlvdXRUZXN0Q29udHJvbGxlcio+KEpTT2JqZWN0R2V0UHJpdmF0
ZSh0aGlzT2JqZWN0KSk7Ci0gICAgY29udHJvbGxlci0+c2V0RGVmZXJzTG9hZGluZyhKU1ZhbHVl
VG9Cb29sZWFuKGNvbnRleHQsIGFyZ3VtZW50c1swXSkpOwotCi0gICAgcmV0dXJuIEpTVmFsdWVN
YWtlVW5kZWZpbmVkKGNvbnRleHQpOwotfQotCiBzdGF0aWMgSlNWYWx1ZVJlZiBzZXRVc2VEZWZl
cnJlZEZyYW1lTG9hZGluZ0NhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJl
ZiBmdW5jdGlvbiwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwgc2l6ZV90IGFyZ3VtZW50Q291bnQs
IGNvbnN0IEpTVmFsdWVSZWYgYXJndW1lbnRzW10sIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikKIHsK
ICAgICBpZiAoYXJndW1lbnRDb3VudCA8IDEpCkBAIC0yMzg2LDcgKzIzNzUsNiBAQCBKU1N0YXRp
Y0Z1bmN0aW9uKiBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c3RhdGljRnVuY3Rpb25zKCkKICAgICAg
ICAgeyAic2V0Q3VzdG9tUG9saWN5RGVsZWdhdGUiLCBzZXRDdXN0b21Qb2xpY3lEZWxlZ2F0ZUNh
bGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1
dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsgInNldERhdGFiYXNlUXVvdGEiLCBzZXREYXRhYmFz
ZVF1b3RhQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0
eUF0dHJpYnV0ZURvbnREZWxldGUgfSwgCiAgICAgICAgIHsgInNldERlZmVyTWFpblJlc291cmNl
RGF0YUxvYWQiLCBzZXREZWZlck1haW5SZXNvdXJjZURhdGFMb2FkQ2FsbGJhY2ssIGtKU1Byb3Bl
cnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwK
LSAgICAgICAgeyAic2V0RGVmZXJzTG9hZGluZyIsIHNldERlZmVyc0xvYWRpbmdDYWxsYmFjaywg
a0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERl
bGV0ZSB9LAogICAgICAgICB7ICJzZXRVc2VEZWZlcnJlZEZyYW1lTG9hZGluZyIsIHNldFVzZURl
ZmVycmVkRnJhbWVMb2FkaW5nQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkg
fCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKICAgICAgICAgeyAic2V0RG9tYWlu
UmVsYXhhdGlvbkZvcmJpZGRlbkZvclVSTFNjaGVtZSIsIHNldERvbWFpblJlbGF4YXRpb25Gb3Ji
aWRkZW5Gb3JVUkxTY2hlbWVDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8
IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAgICAgICB7ICJzZXRGcmFtZUZs
YXR0ZW5pbmdFbmFibGVkIiwgc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZENhbGxiYWNrLCBrSlNQ
cm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRl
IH0sCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxl
ci5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuaAppbmRleCA2
NDBkMWMxZDQxMTUwYjgwMTdiMTZjZmFjZjcwYzhiMzZkNTRlZmUyLi40NGEzN2U5NzhjNzRlODYx
NjE1NTA5ODI3MTkwYjc1YWY1NTA3Y2Q3IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9MYXlvdXRUZXN0Q29udHJvbGxlci5oCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91
dFRlc3RDb250cm9sbGVyLmgKQEAgLTk5LDcgKzk5LDYgQEAgcHVibGljOgogICAgIHZvaWQgc2V0
Q3VzdG9tUG9saWN5RGVsZWdhdGUoYm9vbCBzZXREZWxlZ2F0ZSwgYm9vbCBwZXJtaXNzaXZlKTsK
ICAgICB2b2lkIHNldERhdGFiYXNlUXVvdGEodW5zaWduZWQgbG9uZyBsb25nIHF1b3RhKTsKICAg
ICB2b2lkIHNldERvbWFpblJlbGF4YXRpb25Gb3JiaWRkZW5Gb3JVUkxTY2hlbWUoYm9vbCBmb3Ji
aWRkZW4sIEpTU3RyaW5nUmVmIHNjaGVtZSk7Ci0gICAgdm9pZCBzZXREZWZlcnNMb2FkaW5nKGJv
b2wpOwogICAgIHZvaWQgc2V0SWNvbkRhdGFiYXNlRW5hYmxlZChib29sIGljb25EYXRhYmFzZUVu
YWJsZWQpOwogICAgIHZvaWQgc2V0SmF2YVNjcmlwdENhbkFjY2Vzc0NsaXBib2FyZChib29sIGZs
YWcpOwogICAgIHZvaWQgc2V0QXV0b21hdGljTGlua0RldGVjdGlvbkVuYWJsZWQoYm9vbCBmbGFn
KTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2JsYWNrYmVycnkvTGF5b3V0VGVz
dENvbnRyb2xsZXJCbGFja0JlcnJ5LmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2JsYWNrYmVy
cnkvTGF5b3V0VGVzdENvbnRyb2xsZXJCbGFja0JlcnJ5LmNwcAppbmRleCA0ZjA0M2Q5NjJiZGNk
ZjRjOGVlMjllYjdiNmE0YWYwNjc3ZGRlYzA0Li5kYjFmMzZjNWRmMjgxODA1YWY5ZDQ4NDk2MTgy
YjkzYmIxZmEzYmMyIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9ibGFja2JlcnJ5
L0xheW91dFRlc3RDb250cm9sbGVyQmxhY2tCZXJyeS5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRl
clRyZWUvYmxhY2tiZXJyeS9MYXlvdXRUZXN0Q29udHJvbGxlckJsYWNrQmVycnkuY3BwCkBAIC03
MDUsMTIgKzcwNSw2IEBAIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmdvQmFjaygpCiAgICAg
bm90SW1wbGVtZW50ZWQoKTsKIH0KIAotdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0RGVm
ZXJzTG9hZGluZyhib29sKQotewotICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQgdG8gZW5hYmxlIGxv
YWRlci9uYXZpZ2F0aW9uLXdoaWxlLWRlZmVycmluZy1sb2Fkcy5odG1sCi0gICAgbm90SW1wbGVt
ZW50ZWQoKTsKLX0KLQogSlNWYWx1ZVJlZiBMYXlvdXRUZXN0Q29udHJvbGxlcjo6b3JpZ2luc1dp
dGhMb2NhbFN0b3JhZ2UoSlNDb250ZXh0UmVmIGNvbnRleHQpCiB7CiAgICAgbm90SW1wbGVtZW50
ZWQoKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVyVHJl
ZUNocm9tZS5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVDaHJv
bWUuY3BwCmluZGV4IDc5OWU2OGM2MDBjYWJhZjU4MzJmMWRmMzNlYTg5ZmQ0Y2E3MDY5M2QuLjcx
YTI5ZTE2NGJkNzBiN2ZhYjQ4OTg0ZjlhNDYwOTMyMGY5YjFjNGMgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVyVHJlZUNocm9tZS5jcHAKKysrIGIvVG9vbHMv
RHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVlQ2hyb21lLmNwcApAQCAtMjY5LDcgKzI2
OSw2IEBAIHZvaWQgRHVtcFJlbmRlclRyZWVDaHJvbWU6OnJlc2V0RGVmYXVsdHNUb0NvbnNpc3Rl
bnRWYWx1ZXMoKQogICAgIER1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbDo6c2V0Q1NTR3JpZExheW91
dEVuYWJsZWQobWFpblZpZXcoKSwgZmFsc2UpOwogICAgIER1bXBSZW5kZXJUcmVlU3VwcG9ydEVm
bDo6c2V0U21hcnRJbnNlcnREZWxldGVFbmFibGVkKG1haW5WaWV3KCksIGZhbHNlKTsKICAgICBE
dW1wUmVuZGVyVHJlZVN1cHBvcnRFZmw6OnNldFNlbGVjdFRyYWlsaW5nV2hpdGVzcGFjZUVuYWJs
ZWQobWFpblZpZXcoKSwgZmFsc2UpOwotICAgIER1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbDo6c2V0
RGVmZXJzTG9hZGluZyhtYWluVmlldygpLCBmYWxzZSk7CiAgICAgRHVtcFJlbmRlclRyZWVTdXBw
b3J0RWZsOjpzZXRMb2Fkc1NpdGVJY29uc0lnbm9yaW5nSW1hZ2VMb2FkaW5nU2V0dGluZyhtYWlu
VmlldygpLCBmYWxzZSk7CiAgICAgRHVtcFJlbmRlclRyZWVTdXBwb3J0RWZsOjpzZXRTZXJpYWxp
emVIVFRQTG9hZHMoZmFsc2UpOwogCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9l
ZmwvTGF5b3V0VGVzdENvbnRyb2xsZXJFZmwuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZs
L0xheW91dFRlc3RDb250cm9sbGVyRWZsLmNwcAppbmRleCAyYzE3MTBiOTUyOTcyZmE2MzVlZmY0
YjQ0NTY2NGNiNTM3YTBiNDljLi4xMzBlNzg2MGZlZTE5NmE1NTAxNDMyN2FjZTg0ZDg0YjEzOGVk
MTY0IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvTGF5b3V0VGVzdENvbnRy
b2xsZXJFZmwuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9MYXlvdXRUZXN0Q29u
dHJvbGxlckVmbC5jcHAKQEAgLTY4MywxMSArNjgzLDYgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJv
bGxlcjo6Z29CYWNrKCkKICAgICBld2tfZnJhbWVfYmFjayhicm93c2VyLT5tYWluRnJhbWUoKSk7
CiB9CiAKLXZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldERlZmVyc0xvYWRpbmcoYm9vbCBk
ZWZlcnMpCi17Ci0gICAgRHVtcFJlbmRlclRyZWVTdXBwb3J0RWZsOjpzZXREZWZlcnNMb2FkaW5n
KGJyb3dzZXItPm1haW5WaWV3KCksIGRlZmVycyk7Ci19Ci0KIHZvaWQgTGF5b3V0VGVzdENvbnRy
b2xsZXI6OnNldEFwcENhY2hlTWF4aW11bVNpemUodW5zaWduZWQgbG9uZyBsb25nIHNpemUpCiB7
CiAgICAgZXdrX3NldHRpbmdzX2FwcGxpY2F0aW9uX2NhY2hlX21heF9xdW90YV9zZXQoc2l6ZSk7
CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9ndGsvRHVtcFJlbmRlclRyZWUuY3Bw
IGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0R1bXBSZW5kZXJUcmVlLmNwcAppbmRleCA0YmRj
YTEzY2Q1M2UxMmQyZTM0NmFlNDI1OGIxNmZjNTNhOWQyN2Y2Li43Mjg2Yjg4ODVjNjUzM2Y3Zjc0
NTk4ODcyMWViMmQ4NzVkZmM1N2Y4IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9n
dGsvRHVtcFJlbmRlclRyZWUuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9EdW1w
UmVuZGVyVHJlZS5jcHAKQEAgLTQ1Myw3ICs0NTMsNiBAQCBzdGF0aWMgdm9pZCByZXNldERlZmF1
bHRzVG9Db25zaXN0ZW50VmFsdWVzKCkKICAgICB3ZWJraXRfaWNvbl9kYXRhYmFzZV9zZXRfcGF0
aCh3ZWJraXRfZ2V0X2ljb25fZGF0YWJhc2UoKSwgMCk7CiAgICAgRHVtcFJlbmRlclRyZWVTdXBw
b3J0R3RrOjpzZXRTZWxlY3RUcmFpbGluZ1doaXRlc3BhY2VFbmFibGVkKGZhbHNlKTsKICAgICBE
dW1wUmVuZGVyVHJlZVN1cHBvcnRHdGs6OnNldFNtYXJ0SW5zZXJ0RGVsZXRlRW5hYmxlZCh3ZWJW
aWV3LCB0cnVlKTsKLSAgICBEdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGs6OnNldERlZmVyc0xvYWRp
bmcod2ViVmlldywgZmFsc2UpOwogICAgIER1bXBSZW5kZXJUcmVlU3VwcG9ydEd0azo6c2V0U2Vy
aWFsaXplSFRUUExvYWRzKGZhbHNlKTsKIAogICAgIGlmIChheENvbnRyb2xsZXIpCmRpZmYgLS1n
aXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9ndGsvTGF5b3V0VGVzdENvbnRyb2xsZXJHdGsuY3Bw
IGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0xheW91dFRlc3RDb250cm9sbGVyR3RrLmNwcApp
bmRleCAyNzVjMmUwMjk2YmNmMGU3ZmM3M2Y0ODU1YzczMWI1MTcwMDNmNWYyLi5lYWM5YTZiYTY0
NDMxZTUwM2UyMTI5ZjhjOTg4MTY0ZjI3NThiZWQzIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9ndGsvTGF5b3V0VGVzdENvbnRyb2xsZXJHdGsuY3BwCisrKyBiL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL2d0ay9MYXlvdXRUZXN0Q29udHJvbGxlckd0ay5jcHAKQEAgLTc0MCwxMiArNzQw
LDYgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6Z29CYWNrKCkKICAgICB3ZWJraXRfd2Vi
X3ZpZXdfZ29fYmFjayh3ZWJWaWV3KTsKIH0KIAotdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6
c2V0RGVmZXJzTG9hZGluZyhib29sIGRlZmVycykKLXsKLSAgICBXZWJLaXRXZWJWaWV3KiB3ZWJW
aWV3ID0gd2Via2l0X3dlYl9mcmFtZV9nZXRfd2ViX3ZpZXcobWFpbkZyYW1lKTsKLSAgICBEdW1w
UmVuZGVyVHJlZVN1cHBvcnRHdGs6OnNldERlZmVyc0xvYWRpbmcod2ViVmlldywgZGVmZXJzKTsK
LX0KLQogdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0QXBwQ2FjaGVNYXhpbXVtU2l6ZSh1
bnNpZ25lZCBsb25nIGxvbmcgc2l6ZSkKIHsKICAgICB3ZWJraXRfYXBwbGljYXRpb25fY2FjaGVf
c2V0X21heGltdW1fc2l6ZShzaXplKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L21hYy9EdW1wUmVuZGVyVHJlZS5tbSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVu
ZGVyVHJlZS5tbQppbmRleCAwMGJkYjIxODQzZjRlOGNhMDM5NmM0NjI0OTc2Njk2NzIxOGFiODgx
Li5iMjVhYzVkNmZhMWNiODRlY2U5NDViYjU2NDJhM2VjYjRjYTM5OGYzIDEwMDY0NAotLS0gYS9U
b29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KKysrIGIvVG9vbHMvRHVt
cFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCkBAIC01MjUsNyArNTI1LDYgQEAgV2Vi
VmlldyAqY3JlYXRlV2ViVmlld0FuZE9mZnNjcmVlbldpbmRvdygpCiAgICAgW1dlYlZpZXcgcmVn
aXN0ZXJVUkxTY2hlbWVBc0xvY2FsOkAiZmVlZHNlYXJjaCJdOwogICAgIAogICAgIFt3ZWJWaWV3
IHNldENvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZDpZRVNdOwotICAgIFt3ZWJWaWV3IHNl
dERlZmVyc0NhbGxiYWNrczpOT107CiAgICAgW3dlYlZpZXcgc2V0R3JhbW1hckNoZWNraW5nRW5h
YmxlZDpZRVNdOwogICAgIFt3ZWJWaWV3IHNldEludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25FbmFi
bGVkOllFU107CiAgICAgW3dlYlZpZXcgc2V0VmFsaWRhdGlvbk1lc3NhZ2VUaW1lck1hZ25pZmlj
YXRpb246LTFdOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0xheW91dFRl
c3RDb250cm9sbGVyTWFjLm1tIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0xheW91dFRlc3RD
b250cm9sbGVyTWFjLm1tCmluZGV4IDcyYzBjZWE0NzJjNDU3MWQ3ZTczNDBhMDI2NTVmZjlhYWQ1
YjA4NWMuLjBlNTA1ZDA3NmU1ZmI3N2I1ZWFjZTEwMjRkYjAzNGQ4ZDg4ODU0NzggMTAwNjQ0Ci0t
LSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9MYXlvdXRUZXN0Q29udHJvbGxlck1hYy5tbQor
KysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvTGF5b3V0VGVzdENvbnRyb2xsZXJNYWMubW0K
QEAgLTQ4NywxMSArNDg3LDYgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6Z29CYWNrKCkK
ICAgICBbW21haW5GcmFtZSB3ZWJWaWV3XSBnb0JhY2tdOwogfQogCi12b2lkIExheW91dFRlc3RD
b250cm9sbGVyOjpzZXREZWZlcnNMb2FkaW5nKGJvb2wgZGVmZXJzKQotewotICAgIFtbbWFpbkZy
YW1lIHdlYlZpZXddIHNldERlZmVyc0NhbGxiYWNrczpkZWZlcnNdOwotfQotCiB2b2lkIExheW91
dFRlc3RDb250cm9sbGVyOjpzZXREb21haW5SZWxheGF0aW9uRm9yYmlkZGVuRm9yVVJMU2NoZW1l
KGJvb2wgZm9yYmlkZGVuLCBKU1N0cmluZ1JlZiBzY2hlbWUpCiB7CiAgICAgUmV0YWluUHRyPENG
U3RyaW5nUmVmPiBzY2hlbWVDRlN0cmluZyhBZG9wdENGLCBKU1N0cmluZ0NvcHlDRlN0cmluZyhr
Q0ZBbGxvY2F0b3JEZWZhdWx0LCBzY2hlbWUpKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQv
RHVtcFJlbmRlclRyZWVRdC5jcHAKaW5kZXggZDc3ZmFhNmYzODY0NjJhMzc5NjFmM2MyZTgxMjUw
ZDRlYTc3OTMxZi4uNWViMGQxNDY0MTMzNzk4ODhjNzg0MDExZjE4Mzc5N2JmNTk0M2YxOSAxMDA2
NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5jcHAKKysr
IGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5jcHAKQEAgLTE5NSw3
ICsxOTUsNiBAQCB2b2lkIFdlYlBhZ2U6OnJlc2V0U2V0dGluZ3MoKQogICAgIG1fZHJ0LT5sYXlv
dXRUZXN0Q29udHJvbGxlcigpLT5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGZhbHNlKTsKICAg
ICBtX2RydC0+bGF5b3V0VGVzdENvbnRyb2xsZXIoKS0+c2V0U21hcnRJbnNlcnREZWxldGVFbmFi
bGVkKHRydWUpOwogICAgIG1fZHJ0LT5sYXlvdXRUZXN0Q29udHJvbGxlcigpLT5zZXRTZWxlY3RU
cmFpbGluZ1doaXRlc3BhY2VFbmFibGVkKGZhbHNlKTsKLSAgICBtX2RydC0+bGF5b3V0VGVzdENv
bnRyb2xsZXIoKS0+c2V0RGVmZXJzTG9hZGluZyhmYWxzZSk7CiAKICAgICAvLyBnbG9iYWxTZXR0
aW5ncyBtdXN0IGJlIHJlc2V0IGV4cGxpY2l0bHkuCiAgICAgbV9kcnQtPmxheW91dFRlc3RDb250
cm9sbGVyKCktPnNldFhTU0F1ZGl0b3JFbmFibGVkKGZhbHNlKTsKZGlmZiAtLWdpdCBhL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3BwIGIvVG9vbHMvRHVt
cFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHAKaW5kZXggOWJiZjQzOWJj
MjFlZjQyZTEzOTFiNWI1NjA3NDdhZGU0ZmI3ZGFmOC4uYTYxYmE2YTcxYmViNjdhY2ZhZDMwODdk
ZjM2ZmNiMDRmMGJhMTc0OCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5
b3V0VGVzdENvbnRyb2xsZXJRdC5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5
b3V0VGVzdENvbnRyb2xsZXJRdC5jcHAKQEAgLTQ1MiwxMSArNDUyLDYgQEAgdm9pZCBMYXlvdXRU
ZXN0Q29udHJvbGxlcjo6Z29CYWNrKCkKICAgICBEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6Z29C
YWNrKG1fZHJ0LT53ZWJQYWdlKCkpOwogfQogCi12b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpz
ZXREZWZlcnNMb2FkaW5nKGJvb2wgZmxhZykKLXsKLSAgICBEdW1wUmVuZGVyVHJlZVN1cHBvcnRR
dDo6c2V0RGVmZXJzTG9hZGluZyhtX2RydC0+d2ViUGFnZSgpLCBmbGFnKTsKLX0KLQogdm9pZCBM
YXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0QWxsb3dVbml2ZXJzYWxBY2Nlc3NGcm9tRmlsZVVSTHMo
Ym9vbCBlbmFibGVkKQogewogICAgIG1fZHJ0LT53ZWJQYWdlKCktPnNldHRpbmdzKCktPnNldEF0
dHJpYnV0ZShRV2ViU2V0dGluZ3M6OkxvY2FsQ29udGVudENhbkFjY2Vzc1JlbW90ZVVybHMsIGVu
YWJsZWQpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENv
bnRyb2xsZXJRdC5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xs
ZXJRdC5oCmluZGV4IGVmNjhiMzZlOWMzNDEyODU5ZDE5NGU3NTUyNzY0ZjllYzkwYWQ5YmUuLjA5
MzVjZDUzNzdlMTAyMTYwNjgwNGQwYjAzODI0MWQ3OWRjMjRlNjYgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuaAorKysgYi9Ub29scy9E
dW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmgKQEAgLTI3NSw3ICsyNzUs
NiBAQCBwdWJsaWMgc2xvdHM6CiAgICAgUVN0cmluZyBsYXllclRyZWVBc1RleHQoKTsKICAgICB2
b2lkIHNldFRleHREaXJlY3Rpb24oY29uc3QgUVN0cmluZyYgZGlyZWN0aW9uTmFtZSk7CiAgICAg
dm9pZCBnb0JhY2soKTsKLSAgICB2b2lkIHNldERlZmVyc0xvYWRpbmcoYm9vbCk7CiAjaWYgUVRf
VkVSU0lPTiA+PSAweDA0MDgwMAogICAgIHZvaWQgc2V0QWx3YXlzQWNjZXB0Q29va2llcyhib29s
KTsKICAgICB2b2lkIHNldEFsd2F5c0Jsb2NrQ29va2llcyhib29sKTsKZGlmZiAtLWdpdCBhL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9MYXlvdXRUZXN0Q29udHJvbGxlcldpbi5jcHAgYi9Ub29s
cy9EdW1wUmVuZGVyVHJlZS93aW4vTGF5b3V0VGVzdENvbnRyb2xsZXJXaW4uY3BwCmluZGV4IDEy
Mzk0NDkyOWUyYWU5NjEzMjUxNjQ1NWEwN2JiN2ZjNDExZjdhZTYuLjNmMTJlMDdlMGRhYzUwZGI4
NzY0MzE1ZmU1Y2IyZGE1ODA0NTUyZjEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L3dpbi9MYXlvdXRUZXN0Q29udHJvbGxlcldpbi5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvd2luL0xheW91dFRlc3RDb250cm9sbGVyV2luLmNwcApAQCAtMTAyMCwxMSArMTAyMCw2IEBA
IHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmdvQmFjaygpCiAgICAgLy8gRklYTUU6IGltcGxl
bWVudCB0byBlbmFibGUgbG9hZGVyL25hdmlnYXRpb24td2hpbGUtZGVmZXJyaW5nLWxvYWRzLmh0
bWwKIH0KIAotdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0RGVmZXJzTG9hZGluZyhib29s
KQotewotICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQgdG8gZW5hYmxlIGxvYWRlci9uYXZpZ2F0aW9u
LXdoaWxlLWRlZmVycmluZy1sb2Fkcy5odG1sCi19Ci0KIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xs
ZXI6OnNldERvbWFpblJlbGF4YXRpb25Gb3JiaWRkZW5Gb3JVUkxTY2hlbWUoYm9vbCBmb3JiaWRk
ZW4sIEpTU3RyaW5nUmVmIHNjaGVtZSkKIHsKICAgICBDT01QdHI8SVdlYlZpZXdQcml2YXRlPiB3
ZWJWaWV3OwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvd3gvTGF5b3V0VGVzdENv
bnRyb2xsZXJXeC5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS93eC9MYXlvdXRUZXN0Q29udHJv
bGxlcld4LmNwcAppbmRleCAwOGQyODMyYWNmMzQxNzhiYzU4Zjk2MjA1ZWJiMmFkYTczZjEyN2Zh
Li45NTdiYThhM2JjOTc4NmJmZTA2OTQ3MWE5ZGQ1ZWVmYjEwNzE3Nzc0IDEwMDY0NAotLS0gYS9U
b29scy9EdW1wUmVuZGVyVHJlZS93eC9MYXlvdXRUZXN0Q29udHJvbGxlcld4LmNwcAorKysgYi9U
b29scy9EdW1wUmVuZGVyVHJlZS93eC9MYXlvdXRUZXN0Q29udHJvbGxlcld4LmNwcApAQCAtMjg4
LDExICsyODgsNiBAQCB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpnb0JhY2soKQogICAgIC8v
IEZJWE1FOiBpbXBsZW1lbnQgdG8gZW5hYmxlIGxvYWRlci9uYXZpZ2F0aW9uLXdoaWxlLWRlZmVy
cmluZy1sb2Fkcy5odG1sCiB9CiAKLXZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldERlZmVy
c0xvYWRpbmcoYm9vbCkKLXsKLSAgICAvLyBGSVhNRTogaW1wbGVtZW50IHRvIGVuYWJsZSBsb2Fk
ZXIvbmF2aWdhdGlvbi13aGlsZS1kZWZlcnJpbmctbG9hZHMuaHRtbAotfQotCiB2b2lkIExheW91
dFRlc3RDb250cm9sbGVyOjpzZXREb21haW5SZWxheGF0aW9uRm9yYmlkZGVuRm9yVVJMU2NoZW1l
KGJvb2wsIEpTU3RyaW5nUmVmKQogewogICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAw
OTU5Njg0ZmI0YmEwODIyOTE5NTEwMDBmNTJlMWVhNGQzNmEyYjIzLi4wNGUzZDZjZTI0NzQ4ODU5
NTM4OGY0YzRhNDYzNTExYWM5ZGEzZmY0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMDYt
MTIgIEd5dXlvdW5nIEtpbSAgPGd5dXlvdW5nLmtpbUBzYW1zdW5nLmNvbT4KKworICAgICAgICBN
b3ZlIHNldERlZmVyc0xvYWRpbmcgdG8gSW50ZXJuYWxzIGludGVyZmFjZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODg5NTIKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbnZva2Ugc2V0RGVmZXJzTG9hZGlu
ZyBmdW5jdGlvbiBmcm9tIGludGVybmFscywgYmVjYXVzZSBpdCBpcyBhYmxlIHRvIHdvcmsgaW4g
dGhlCisgICAgICAgIGNyb3NzLXBvcnQgd2F5IHZpYSB0aGUgSW50ZXJuYWxzIGludGVyZmFjZS4K
KworICAgICAgICAqIGxvYWRlci9sb2FkLWRlZmVyLXJlc3VtZS1jcmFzaC5odG1sOgorICAgICAg
ICAqIGxvYWRlci9uYXZpZ2F0aW9uLXdoaWxlLWRlZmVycmluZy1sb2Fkcy5odG1sOgorCiAyMDEy
LTA2LTExICBEb21pbmljIENvb25leSAgPGRvbWluaWNjQGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBbQ2hyb21pdW1dIFVucmV2aWV3ZWQ6IFVwZGF0ZSB0ZXN0IGV4cGVjdGF0aW9ucyB3aXRoIGJ1
Z3MgZm9yIG1lZGlhIHRlc3QgdGltZW91dHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2xvYWRl
ci9sb2FkLWRlZmVyLXJlc3VtZS1jcmFzaC5odG1sIGIvTGF5b3V0VGVzdHMvbG9hZGVyL2xvYWQt
ZGVmZXItcmVzdW1lLWNyYXNoLmh0bWwKaW5kZXggNTYwY2ZjOTQ3YjVjNTZkMGUwZjU3NzY2YjUx
OTZmNzQzMjNjMGZhYi4uZTA1MmZkOGQyZjc0YTBmYjgyOWU5MDBmNGExOWQ4ZGE3Nzc0NWEzMCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbG9hZGVyL2xvYWQtZGVmZXItcmVzdW1lLWNyYXNoLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvbG9hZGVyL2xvYWQtZGVmZXItcmVzdW1lLWNyYXNoLmh0bWwK
QEAgLTksOSArOSw5IEBAIGZ1bmN0aW9uIHJ1bigpIHsKICAgICB2YXIgZnJhbWVFbGVtZW50ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJykKICAgICBmcmFtZUVsZW1lbnQuc2V0QXR0
cmlidXRlKCJzcmMiLCAicmVzb3VyY2VzL2ltYWdlcy5odG1sIik7CiAgICAgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImZyYW1lRGl2IikuYXBwZW5kQ2hpbGQoZnJhbWVFbGVtZW50KTsKLSAgICBp
ZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgICAgIGxheW91dFRlc3RDb250
cm9sbGVyLnNldERlZmVyc0xvYWRpbmcodHJ1ZSk7Ci0gICAgICAgIHNldFRpbWVvdXQoImxheW91
dFRlc3RDb250cm9sbGVyLnNldERlZmVyc0xvYWRpbmcoZmFsc2UpO2xheW91dFRlc3RDb250cm9s
bGVyLm5vdGlmeURvbmUoKTsiLDEwMDApOworICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Cisg
ICAgICAgIGludGVybmFscy5zZXREZWZlcnNMb2FkaW5nKHRydWUpOworICAgICAgICBzZXRUaW1l
b3V0KCJpbnRlcm5hbHMuc2V0RGVmZXJzTG9hZGluZyhmYWxzZSk7bGF5b3V0VGVzdENvbnRyb2xs
ZXIubm90aWZ5RG9uZSgpOyIsMTAwMCk7CiAgICAgfSBlbHNlCiAgICAgICAgIGFsZXJ0KCJEZWZl
cnJpbmcgbG9hZHMiKTsKIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2xvYWRlci9uYXZpZ2F0
aW9uLXdoaWxlLWRlZmVycmluZy1sb2Fkcy5odG1sIGIvTGF5b3V0VGVzdHMvbG9hZGVyL25hdmln
YXRpb24td2hpbGUtZGVmZXJyaW5nLWxvYWRzLmh0bWwKaW5kZXggNDIxNzJmYjJkOTgyMWNlMmVk
MzBkOTJkZTQ1YWYzNjFkMTFjMWQwYy4uYjEyMjFjMGExY2M0YzNlZjYzMTRiMzQwN2QyZDBkZmRk
N2U0MThiOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbG9hZGVyL25hdmlnYXRpb24td2hpbGUt
ZGVmZXJyaW5nLWxvYWRzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvbG9hZGVyL25hdmlnYXRpb24t
d2hpbGUtZGVmZXJyaW5nLWxvYWRzLmh0bWwKQEAgLTE4LDYgKzE4LDYgQEAgZnVuY3Rpb24gcnVu
KCkgewogfQogPC9zY3JpcHQ+CiA8Ym9keSBvbmxvYWQ9J3J1bigpJz4KLSAgICA8YSBpZD0nYW5j
aG9yJyBocmVmPSdkYXRhOnRleHQvaHRtbCw8c2NyaXB0PmZ1bmN0aW9uIGRlZmVyQ2FsbGJhY2tz
KGRlZmVyKXtsYXlvdXRUZXN0Q29udHJvbGxlci5zZXREZWZlcnNMb2FkaW5nKGRlZmVyKX08L3Nj
cmlwdD48Ym9keSBvbmxvYWQ9ImlmKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcil7ZGVmZXJD
YWxsYmFja3ModHJ1ZSk7bGF5b3V0VGVzdENvbnRyb2xsZXIuZ29CYWNrKCk7ZGVmZXJDYWxsYmFj
a3MoZmFsc2UpfSI+RkFJTDwvYm9keT4nPmdvIHRvIHNlY29uZCBwYWdlPC9hPgorICAgIDxhIGlk
PSdhbmNob3InIGhyZWY9J2RhdGE6dGV4dC9odG1sLDxzY3JpcHQ+ZnVuY3Rpb24gZGVmZXJDYWxs
YmFja3MoZGVmZXIpe2ludGVybmFscy5zZXREZWZlcnNMb2FkaW5nKGRlZmVyKX08L3NjcmlwdD48
Ym9keSBvbmxvYWQ9ImlmKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcil7ZGVmZXJDYWxsYmFj
a3ModHJ1ZSk7bGF5b3V0VGVzdENvbnRyb2xsZXIuZ29CYWNrKCk7ZGVmZXJDYWxsYmFja3MoZmFs
c2UpfSI+RkFJTDwvYm9keT4nPmdvIHRvIHNlY29uZCBwYWdlPC9hPgogPC9ib2R5PgogPC9odG1s
PgpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IDlmMDdiNDBkMGFmZmY3
OGRjMTA5ZmY3Yjg1NzhiYWQyYjE1NmZmMjkuLmZhODY0OWU0Yjc4YTAyM2UxMGM2ZmFjYWEzZDM3
NGYzNDM2MTJjZmEgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAxMi0wNi0xMiAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHNhbXN1
bmcuY29tPgorCisgICAgICAgIE1vdmUgc2V0RGVmZXJzTG9hZGluZyB0byBJbnRlcm5hbHMgaW50
ZXJmYWNlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04
ODk1MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
U291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlcjogQWRkIHNldERlZmVyc0xvYWRpbmcgc3lt
Ym9sIGZpbHRlci4KKwogMjAxMi0wNi0xMSAgQWxleGlzIE1lbmFyZCAgPGFsZXhpcy5tZW5hcmRA
b3BlbmJvc3NhLm9yZz4KIAogICAgICAgICBbQ1NTMyBCYWNrZ3JvdW5kcyBhbmQgQm9yZGVyc10g
UHJvdGVjdCBib3gtZGVjb3JhdGlvbi1icmVhayBiZWhpbmQgYSBmZWF0dXJlIGZsYWcuCg==
</data>
<flag name="review"
          id="154695"
          type_id="1"
          status="-"
          setter="rniwa"
    />
          </attachment>
      

    </bug>

</bugzilla>