<?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>195780</bug_id>
          
          <creation_ts>2019-03-14 16:13:19 -0700</creation_ts>
          <short_desc>Make it possible to test scrolling tree layer manipulation more easily</short_desc>
          <delta_ts>2019-03-14 18:52:19 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>195733</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>fred.wang</cc>
    
    <cc>koivisto</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1516732</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-03-14 16:13:19 -0700</bug_when>
    <thetext>Make it possible to test scrolling tree layer manipulation more easily</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516733</commentid>
    <comment_count>1</comment_count>
      <attachid>364711</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-03-14 16:16:57 -0700</bug_when>
    <thetext>Created attachment 364711
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516737</commentid>
    <comment_count>2</comment_count>
      <attachid>364711</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2019-03-14 16:25:28 -0700</bug_when>
    <thetext>Comment on attachment 364711
Patch

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

&gt; Tools/WebKitTestRunner/cocoa/TestRunnerWKWebView.h:64
&gt; +@property (nonatomic, setter=_setScrollingUpdatesDisabledForTesting:) BOOL _scrollingUpdatesDisabledForTesting;

Shouldn&apos;t need this?

&gt; Tools/WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:51
&gt; +    BOOL m_scrollingUpdatesDisabled;

No m_ for ObjC ivars</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516738</commentid>
    <comment_count>3</comment_count>
      <attachid>364711</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2019-03-14 16:25:52 -0700</bug_when>
    <thetext>Comment on attachment 364711
Patch

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

&gt;&gt; Tools/WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:51
&gt;&gt; +    BOOL m_scrollingUpdatesDisabled;
&gt; 
&gt; No m_ for ObjC ivars

to be clear, you keep the _</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516743</commentid>
    <comment_count>4</comment_count>
      <attachid>364716</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-03-14 16:33:27 -0700</bug_when>
    <thetext>Created attachment 364716
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516807</commentid>
    <comment_count>5</comment_count>
      <attachid>364716</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-14 18:10:15 -0700</bug_when>
    <thetext>Comment on attachment 364716
Patch

Clearing flags on attachment: 364716

Committed r242979: &lt;https://trac.webkit.org/changeset/242979&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516826</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-03-14 18:52:19 -0700</bug_when>
    <thetext>&lt;rdar://problem/48912027&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>364711</attachid>
            <date>2019-03-14 16:16:57 -0700</date>
            <delta_ts>2019-03-14 16:25:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-195780-20190314161657.patch</filename>
            <type>text/plain</type>
            <size>19894</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQyOTEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDExOGMxZDQ4ZGFkZDU2M2Fi
NWJjY2U2NjM0ZGY1OGQ4ZmE4NDcyYzMuLjllOTAxMzZmMDFjZjZmZGQ4NDM4ZmRmNGQyNTIwNTJm
MTlmMGExM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMTktMDMtMTQgIFNpbW9uIEZy
YXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBpdCBwb3NzaWJs
ZSB0byB0ZXN0IHNjcm9sbGluZyB0cmVlIGxheWVyIG1hbmlwdWxhdGlvbiBtb3JlIGVhc2lseQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1NzgwCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgYm9v
bGVhbiBhdHRyaWJ1dGUgJ3Njcm9sbFVwZGF0ZXNEaXNhYmxlZCcgb24gVUlTY3JpcHRDb250cm9s
bGVyIHRoYXQKKyAgICAgICAgY3V0cyBvZmYgY29tbXVuaWNhdGlvbiBvZiBzY3JvbGxpbmcgdHJl
ZSBzY3JvbGxzIGJhY2sgdG8gdGhlIHdlYiBwcm9jZXNzCisgICAgICAgIChpbiBSZW1vdGVTY3Jv
bGxpbmdDb29yZGluYXRvclByb3h5OjpzY3JvbGxpbmdUcmVlTm9kZURpZFNjcm9sbCgpKS4gVGhp
cworICAgICAgICBhbGxvd3MgdGVzdHMgdG8gdHJpZ2dlciBzY3JvbGxzIHdoaWNoIHJ1biB0aGUg
c2Nyb2xsaW5nIHRyZWUgbGF5ZXIgcG9zaXRpb25pbmcKKyAgICAgICAgbG9naWMsIGJ1dCBuZXZl
ciBnZXQgYW5vdGhlciBjb21taXQgZnJvbSB0aGUgd2ViIHByb2Nlc3MgdGhhdCBtaWdodCBtYXNr
CisgICAgICAgIHNjcm9sbGluZyB0cmVlIGJ1Z3MuCisgICAgICAgIAorICAgICAgICBXS1dlYlZp
ZXcncyB0ZXN0aW5nIHByb3RvY29sIGdldCBAcHJvcGVydHkgX3Njcm9sbGluZ1VwZGF0ZXNEaXNh
YmxlZEZvclRlc3RpbmcsCisgICAgICAgIHdob3NlIGdldHRlcnMgYW5kIHNldHRlcnMgYXJlIG92
ZXJyaWRkZW4gYnkgVGVzdFJ1bm5lcldLV2ViVmlldy4gUGx1bWJpbmcKKyAgICAgICAgdmlhIFBh
Z2VDbGllbnQgYW5kIFdlYlBhZ2VQcm94eSBtYWtlcyB0aGlzIGZsYWcgcmVhY2hhYmxlIGJ5IFJl
bW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJveHkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlldy5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9zY3JvbGxpbmdVcGRh
dGVzRGlzYWJsZWRGb3JUZXN0aW5nXSk6CisgICAgICAgICgtW1dLV2ViVmlldyBfc2V0U2Nyb2xs
aW5nVXBkYXRlc0Rpc2FibGVkRm9yVGVzdGluZzpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvUGFn
ZUNsaWVudEltcGxDb2NvYS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9QYWdlQ2xpZW50
SW1wbENvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbENvY29hOjpzY3Jv
bGxpbmdVcGRhdGVzRGlzYWJsZWRGb3JUZXN0aW5nKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29j
b2EvV2ViUGFnZVByb3h5Q29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6
c2Nyb2xsaW5nVXBkYXRlc0Rpc2FibGVkRm9yVGVzdGluZyk6CisgICAgICAgICogVUlQcm9jZXNz
L1BhZ2VDbGllbnQuaDoKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudDo6c2Nyb2xsaW5nVXBk
YXRlc0Rpc2FibGVkRm9yVGVzdGluZyk6CisgICAgICAgICogVUlQcm9jZXNzL1JlbW90ZUxheWVy
VHJlZS9SZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclByb3h5LmNwcDoKKyAgICAgICAgKFdlYktp
dDo6UmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eTo6c2Nyb2xsaW5nVHJlZU5vZGVEaWRT
Y3JvbGwpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKwogMjAxOS0wMy0x
MyAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBTY3Jv
bGxpbmcgdHJlZSBzaG91bGQgcmVwb3NpdGlvbiBub24tc3RhY2tpbmcgb3JkZXIgZGVzY2VuZGVu
dHMgb2Ygb3ZlcmZsb3c6c2Nyb2xsLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1dlYlZpZXcubW0KaW5kZXggZjlkYWM0YTRhM2UyYTk1YmE0MmVmMmU0YjgwOWI4ZTRk
NTQyYzcwNC4uYzAxNzQ3M2YwN2EwMWFkMmU2Yzk1Zjc2ODk5MmQyYmQ0YmIxZDk4MiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC03MTEy
LDYgKzcxMTIsMTYgQEAgLSAodm9pZClfaW50ZXJuYWxEb0FmdGVyTmV4dFByZXNlbnRhdGlvblVw
ZGF0ZToodm9pZCAoXikodm9pZCkpdXBkYXRlQmxvY2sgd2l0aG8KICAgICB9KTsKIH0KIAorLSAo
Qk9PTClfc2Nyb2xsaW5nVXBkYXRlc0Rpc2FibGVkRm9yVGVzdGluZworeworICAgIC8vIEZvciBz
dWJjbGFzc2VzIHRvIG92ZXJyaWRlOworICAgIHJldHVybiBOTzsKK30KKworLSAodm9pZClfc2V0
U2Nyb2xsaW5nVXBkYXRlc0Rpc2FibGVkRm9yVGVzdGluZzooQk9PTClkaXNhYmxlZAoreworfQor
CiAvLyBFeGVjdXRlIHRoZSBzdXBwbGllZCBibG9jayBhZnRlciB0aGUgbmV4dCB0cmFuc2FjdGlv
biBmcm9tIHRoZSBXZWJQcm9jZXNzLgogLSAodm9pZClfZG9BZnRlck5leHRQcmVzZW50YXRpb25V
cGRhdGU6KHZvaWQgKF4pKHZvaWQpKXVwZGF0ZUJsb2NrCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaAppbmRleCBlYzY5MWM2
MThlNzFlZGM0MTcyNGI3MDZkYjFhMWY2MDc4NjY4Y2E5Li5jZWYzYjg3NWVmMTQ0MGFmOTM0MmM1
ZmJjZmQ2ZTRjZjhmYmNmNmE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmgKQEAgLTU1MSw2ICs1NTEsOCBAQCB0eXBlZGVm
IE5TX09QVElPTlMoTlNVSW50ZWdlciwgX1dLUmVjdEVkZ2UpIHsKIEBwcm9wZXJ0eSAobm9uYXRv
bWljLCByZWFkb25seSkgX1dLSW5zcGVjdG9yICpfaW5zcGVjdG9yIFdLX0FQSV9BVkFJTEFCTEUo
bWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwogQHByb3BlcnR5IChub25hdG9t
aWMsIHJlYWRvbmx5KSBfV0tGcmFtZUhhbmRsZSAqX21haW5GcmFtZSBXS19BUElfQVZBSUxBQkxF
KG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKIAorQHByb3BlcnR5IChub25h
dG9taWMsIHNldHRlcj1fc2V0U2Nyb2xsaW5nVXBkYXRlc0Rpc2FibGVkRm9yVGVzdGluZzopIEJP
T0wgX3Njcm9sbGluZ1VwZGF0ZXNEaXNhYmxlZEZvclRlc3RpbmcgV0tfQVBJX0FWQUlMQUJMRSht
YWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CisKIC0gKHZvaWQpX3Byb2Nlc3NX
aWxsU3VzcGVuZEltbWluZW50bHlGb3JUZXN0aW5nOwogLSAodm9pZClfcHJvY2Vzc0RpZFJlc3Vt
ZUZvclRlc3Rpbmc7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29h
L1BhZ2VDbGllbnRJbXBsQ29jb2EuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1Bh
Z2VDbGllbnRJbXBsQ29jb2EuaAppbmRleCA3YjRhMmRhYzI1MGM5MGFhYTFjYzI4OWFiNGM0N2Ex
MjNmZWZjNGI3Li5hNmY3NzY5MmMwMGY2ZTg3NTA0MjI1NDUyNGQwMGYxY2YwY2FlMTllIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9QYWdlQ2xpZW50SW1wbENvY29h
LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUGFnZUNsaWVudEltcGxDb2Nv
YS5oCkBAIC00Myw2ICs0Myw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGlzUGxheWluZ0F1ZGlvV2ls
bENoYW5nZSgpIGZpbmFsOwogICAgIHZvaWQgaXNQbGF5aW5nQXVkaW9EaWRDaGFuZ2UoKSBmaW5h
bDsKIAorICAgIGJvb2wgc2Nyb2xsaW5nVXBkYXRlc0Rpc2FibGVkRm9yVGVzdGluZygpIGZpbmFs
OworCiAjaWYgRU5BQkxFKEFUVEFDSE1FTlRfRUxFTUVOVCkKICAgICB2b2lkIGRpZEluc2VydEF0
dGFjaG1lbnQoQVBJOjpBdHRhY2htZW50JiwgY29uc3QgU3RyaW5nJiBzb3VyY2UpIGZpbmFsOwog
ICAgIHZvaWQgZGlkUmVtb3ZlQXR0YWNobWVudChBUEk6OkF0dGFjaG1lbnQmKSBmaW5hbDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1BhZ2VDbGllbnRJbXBsQ29j
b2EubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9QYWdlQ2xpZW50SW1wbENvY29h
Lm1tCmluZGV4IDNlMGI5YWIyMDhmOTBhZGZhMDFlYjdjYzQ0N2RhM2MyYWI1NmE4YWUuLmY1ODll
OWQzMzYxZmExZmI2MDM1ZGFhMTM5MjE1MjIwMTY2YmNlMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0NvY29hL1BhZ2VDbGllbnRJbXBsQ29jb2EubW0KKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUGFnZUNsaWVudEltcGxDb2NvYS5tbQpAQCAtNDEsNiAr
NDEsMTEgQEAgdm9pZCBQYWdlQ2xpZW50SW1wbENvY29hOjppc1BsYXlpbmdBdWRpb0RpZENoYW5n
ZSgpCiAgICAgW21fd2ViVmlldyBkaWRDaGFuZ2VWYWx1ZUZvcktleTpOU1N0cmluZ0Zyb21TZWxl
Y3RvcihAc2VsZWN0b3IoX2lzUGxheWluZ0F1ZGlvKSldOwogfQogCitib29sIFBhZ2VDbGllbnRJ
bXBsQ29jb2E6OnNjcm9sbGluZ1VwZGF0ZXNEaXNhYmxlZEZvclRlc3RpbmcoKQoreworICAgIHJl
dHVybiBbbV93ZWJWaWV3IF9zY3JvbGxpbmdVcGRhdGVzRGlzYWJsZWRGb3JUZXN0aW5nXTsKK30K
KwogI2lmIEVOQUJMRShBVFRBQ0hNRU5UX0VMRU1FTlQpCiAKIHZvaWQgUGFnZUNsaWVudEltcGxD
b2NvYTo6ZGlkSW5zZXJ0QXR0YWNobWVudChBUEk6OkF0dGFjaG1lbnQmIGF0dGFjaG1lbnQsIGNv
bnN0IFN0cmluZyYgc291cmNlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
Q29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9XZWJQYWdlUHJveHlDb2NvYS5tbQppbmRleCAxZWM5YTJlYmMwNDlmNzFkZGY1NWU3OTU3OWEx
ZGU2OTYyODQzNjdmLi5mYTcyMmI4Y2M4NDM3M2ExNTFkMjY0OTg1Y2U0OTk0MWIxNTM5MmQ4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2Nv
YS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2Nv
YS5tbQpAQCAtMTM1LDYgKzEzNSwxMSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6Y3JlYXRlU2FuZGJv
eEV4dGVuc2lvbnNJZk5lZWRlZChjb25zdCBWZWN0b3I8U3RyaW5nPiYgZmlsZXMsCiAgICAgfQog
fQogCitib29sIFdlYlBhZ2VQcm94eTo6c2Nyb2xsaW5nVXBkYXRlc0Rpc2FibGVkRm9yVGVzdGlu
ZygpCit7CisgICAgcmV0dXJuIHBhZ2VDbGllbnQoKS5zY3JvbGxpbmdVcGRhdGVzRGlzYWJsZWRG
b3JUZXN0aW5nKCk7Cit9CisKICNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQogCiB2b2lkIFdlYlBh
Z2VQcm94eTo6c3RhcnREcmFnKGNvbnN0IERyYWdJdGVtJiBkcmFnSXRlbSwgY29uc3QgU2hhcmVh
YmxlQml0bWFwOjpIYW5kbGUmIGRyYWdJbWFnZUhhbmRsZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Bh
Z2VDbGllbnQuaAppbmRleCA3NzVmNTA3Mzk2ZWIwNjhkOGUxOTI4OGFhYTE4MjE5YWZhMDMzYzFm
Li4wMWYwZDE2OWRmNjI5MmQ0OWY3MGM4YjNjODcxMjgwNTIxZTFhMzNjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvUGFnZUNsaWVudC5oCkBAIC00MjMsOCArNDIzLDEwIEBAIHB1YmxpYzoKICAgICB2
aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlQmFja2dyb3VuZENvbG9yKCkgPSAwOwogICAgIHZpcnR1YWwg
dm9pZCBpc1BsYXlpbmdBdWRpb1dpbGxDaGFuZ2UoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGlz
UGxheWluZ0F1ZGlvRGlkQ2hhbmdlKCkgPSAwOworCiAgICAgdmlydHVhbCB2b2lkIHBpbm5lZFN0
YXRlV2lsbENoYW5nZSgpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBwaW5uZWRTdGF0ZURpZENoYW5n
ZSgpIHsgfQorICAgIHZpcnR1YWwgYm9vbCBzY3JvbGxpbmdVcGRhdGVzRGlzYWJsZWRGb3JUZXN0
aW5nKCkgeyByZXR1cm4gZmFsc2U7IH0KIAogICAgIHZpcnR1YWwgYm9vbCBoYXNTYWZlQnJvd3Np
bmdXYXJuaW5nKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVTY3JvbGxpbmdDb29y
ZGluYXRvclByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJl
ZS9SZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclByb3h5LmNwcAppbmRleCBkYjY0OGYzZWUzNjNl
MzBlZDMyOTI1NjllODYzZDdlYTk5Zjk4Yzc4Li4zZjg2ZGUwNzIwYWMxMWY2NzM2M2FkZDgzMzI5
YTdmZjFkMGM1ZmZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVM
YXllclRyZWUvUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eS5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZVNjcm9sbGluZ0Nvb3JkaW5h
dG9yUHJveHkuY3BwCkBAIC0yMDQsNiArMjA0LDkgQEAgdm9pZCBSZW1vdGVTY3JvbGxpbmdDb29y
ZGluYXRvclByb3h5OjpzY3JvbGxpbmdUcmVlTm9kZURpZFNjcm9sbChTY3JvbGxpbmdOb2RlSUQK
ICAgICBpZiAoIW1fcHJvcGFnYXRlc01haW5GcmFtZVNjcm9sbHMgJiYgc2Nyb2xsZWROb2RlSUQg
PT0gcm9vdFNjcm9sbGluZ05vZGVJRCgpKQogICAgICAgICByZXR1cm47CiAKKyAgICBpZiAobV93
ZWJQYWdlUHJveHkuc2Nyb2xsaW5nVXBkYXRlc0Rpc2FibGVkRm9yVGVzdGluZygpKQorICAgICAg
ICByZXR1cm47CisKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIG1fd2ViUGFnZVByb3h5
LnNjcm9sbGluZ05vZGVTY3JvbGxWaWV3RGlkU2Nyb2xsKCk7CiAjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggZGE2OGJlNzAxMDZjODllODA4NmNhMGIyZTY5
Y2MxNzM5ZWQ4YWI3My4uNzI1NjY5NDdkYWFkMzk3ZGJkMDNkYmYxMjNkODRkZTdkZmQ4N2E3OCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTEzMDksNiArMTMwOSw4
IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEZvb3RlckJhbm5lckhlaWdodEZvclRlc3RpbmcoaW50
KTsKICNlbmRpZgogCisgICAgYm9vbCBzY3JvbGxpbmdVcGRhdGVzRGlzYWJsZWRGb3JUZXN0aW5n
KCk7CisKICAgICB2b2lkIGluc3RhbGxBY3Rpdml0eVN0YXRlQ2hhbmdlQ29tcGxldGlvbkhhbmRs
ZXIoRnVuY3Rpb248dm9pZCgpPiYmKTsKIAogI2lmIFVTRShVTklGSUVEX1RFWFRfQ0hFQ0tJTkcp
CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMmFj
ZmZkYmIxODlhZTVmMzE2NDg5MDcxODYyNGE2MTE2ZmI4NDQwNS4uNzkwMDI0MDNhMjlkZGRhMmRh
Yzc4NTQzNWM2ODFkNjk0ZmJmY2VhYyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBi
L1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDE5LTAzLTE0ICBTaW1vbiBGcmFz
ZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIE1ha2UgaXQgcG9zc2libGUg
dG8gdGVzdCBzY3JvbGxpbmcgdHJlZSBsYXllciBtYW5pcHVsYXRpb24gbW9yZSBlYXNpbHkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTc4MAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAgICAgICAgQWRk
IGEgYm9vbGVhbiBhdHRyaWJ1dGUgJ3Njcm9sbFVwZGF0ZXNEaXNhYmxlZCcgb24gVUlTY3JpcHRD
b250cm9sbGVyIHRoYXQKKyAgICAgICAgY3V0cyBvZmYgY29tbXVuaWNhdGlvbiBvZiBzY3JvbGxp
bmcgdHJlZSBzY3JvbGxzIGJhY2sgdG8gdGhlIHdlYiBwcm9jZXNzCisgICAgICAgIChpbiBSZW1v
dGVTY3JvbGxpbmdDb29yZGluYXRvclByb3h5OjpzY3JvbGxpbmdUcmVlTm9kZURpZFNjcm9sbCgp
KS4gVGhpcworICAgICAgICBhbGxvd3MgdGVzdHMgdG8gdHJpZ2dlciBzY3JvbGxzIHdoaWNoIHJ1
biB0aGUgc2Nyb2xsaW5nIHRyZWUgbGF5ZXIgcG9zaXRpb25pbmcKKyAgICAgICAgbG9naWMsIGJ1
dCBuZXZlciBnZXQgYW5vdGhlciBjb21taXQgZnJvbSB0aGUgd2ViIHByb2Nlc3MgdGhhdCBtaWdo
dCBtYXNrCisgICAgICAgIHNjcm9sbGluZyB0cmVlIGJ1Z3MuCisgICAgICAgIAorICAgICAgICBX
S1dlYlZpZXcncyB0ZXN0aW5nIHByb3RvY29sIGdldCBAcHJvcGVydHkgX3Njcm9sbGluZ1VwZGF0
ZXNEaXNhYmxlZEZvclRlc3RpbmcsCisgICAgICAgIHdob3NlIGdldHRlcnMgYW5kIHNldHRlcnMg
YXJlIG92ZXJyaWRkZW4gYnkgVGVzdFJ1bm5lcldLV2ViVmlldy4gUGx1bWJpbmcKKyAgICAgICAg
dmlhIFBhZ2VDbGllbnQgYW5kIFdlYlBhZ2VQcm94eSBtYWtlcyB0aGlzIGZsYWcgcmVhY2hhYmxl
IGJ5IFJlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJveHkuCisKKyAgICAgICAgKiBEdW1wUmVu
ZGVyVHJlZS9pb3MvVUlTY3JpcHRDb250cm9sbGVySU9TLm1tOgorICAgICAgICAoV1RSOjpVSVNj
cmlwdENvbnRyb2xsZXI6OnNjcm9sbFVwZGF0ZXNEaXNhYmxlZCBjb25zdCk6CisgICAgICAgIChX
VFI6OlVJU2NyaXB0Q29udHJvbGxlcjo6c2V0U2Nyb2xsVXBkYXRlc0Rpc2FibGVkKToKKyAgICAg
ICAgKiBUZXN0UnVubmVyU2hhcmVkL1VJU2NyaXB0Q29udGV4dC9CaW5kaW5ncy9VSVNjcmlwdENv
bnRyb2xsZXIuaWRsOgorICAgICAgICAqIFRlc3RSdW5uZXJTaGFyZWQvVUlTY3JpcHRDb250ZXh0
L1VJU2NyaXB0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXVFI6OlVJU2NyaXB0Q29udHJvbGxl
cjo6c2Nyb2xsVXBkYXRlc0Rpc2FibGVkIGNvbnN0KToKKyAgICAgICAgKFdUUjo6VUlTY3JpcHRD
b250cm9sbGVyOjpzZXRTY3JvbGxVcGRhdGVzRGlzYWJsZWQpOgorICAgICAgICAqIFRlc3RSdW5u
ZXJTaGFyZWQvVUlTY3JpcHRDb250ZXh0L1VJU2NyaXB0Q29udHJvbGxlci5oOgorICAgICAgICAq
IFdlYktpdFRlc3RSdW5uZXIvY29jb2EvVGVzdFJ1bm5lcldLV2ViVmlldy5oOgorICAgICAgICAq
IFdlYktpdFRlc3RSdW5uZXIvY29jb2EvVGVzdFJ1bm5lcldLV2ViVmlldy5tbToKKyAgICAgICAg
KC1bVGVzdFJ1bm5lcldLV2ViVmlldyBfc2Nyb2xsaW5nVXBkYXRlc0Rpc2FibGVkRm9yVGVzdGlu
Z10pOgorICAgICAgICAoLVtUZXN0UnVubmVyV0tXZWJWaWV3IF9zZXRTY3JvbGxpbmdVcGRhdGVz
RGlzYWJsZWRGb3JUZXN0aW5nOl0pOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvaW9zL1Rl
c3RDb250cm9sbGVySU9TLm1tOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6cGxhdGZv
cm1SZXNldFN0YXRlVG9Db25zaXN0ZW50VmFsdWVzKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVu
bmVyL2lvcy9VSVNjcmlwdENvbnRyb2xsZXJJT1MubW06CisgICAgICAgIChXVFI6OlVJU2NyaXB0
Q29udHJvbGxlcjo6c2Nyb2xsVXBkYXRlc0Rpc2FibGVkIGNvbnN0KToKKyAgICAgICAgKFdUUjo6
VUlTY3JpcHRDb250cm9sbGVyOjpzZXRTY3JvbGxVcGRhdGVzRGlzYWJsZWQpOgorCiAyMDE5LTAz
LTEzICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgVXNlIGEgU2Vy
dmljZVdvcmtlciBwcm9jZXNzIHBlciByZWdpc3RyYWJsZSBkb21haW4KZGlmZiAtLWdpdCBhL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL2lvcy9VSVNjcmlwdENvbnRyb2xsZXJJT1MubW0gYi9Ub29scy9E
dW1wUmVuZGVyVHJlZS9pb3MvVUlTY3JpcHRDb250cm9sbGVySU9TLm1tCmluZGV4IGJkODRiY2Zk
OTJhMDY2YmIxNDI0NTgyYzc3ZjhjOTU3NGY1ODJlZTMuLmMxMjA5NTJiNTdmOWI1YmJlM2U0ZTA1
YmY1MDdjY2M5Njc2YmQ0MjEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2lvcy9V
SVNjcmlwdENvbnRyb2xsZXJJT1MubW0KKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvaW9zL1VJ
U2NyaXB0Q29udHJvbGxlcklPUy5tbQpAQCAtMjM4LDYgKzIzOCwxNSBAQCBkb3VibGUgVUlTY3Jp
cHRDb250cm9sbGVyOjpjb250ZW50T2Zmc2V0WSgpIGNvbnN0CiAgICAgcmV0dXJuIFtnV2ViU2Ny
b2xsVmlldyBjb250ZW50T2Zmc2V0XS55OwogfQogCitib29sIFVJU2NyaXB0Q29udHJvbGxlcjo6
c2Nyb2xsVXBkYXRlc0Rpc2FibGVkKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisK
K3ZvaWQgVUlTY3JpcHRDb250cm9sbGVyOjpzZXRTY3JvbGxVcGRhdGVzRGlzYWJsZWQoYm9vbCkK
K3sKK30KKwogdm9pZCBVSVNjcmlwdENvbnRyb2xsZXI6OnNjcm9sbFRvT2Zmc2V0KGxvbmcgeCwg
bG9uZyB5KQogewogICAgIFtnV2ViU2Nyb2xsVmlldyBzZXRDb250ZW50T2Zmc2V0OmNvbnRlbnRP
ZmZzZXRCb3VuZGVkSW5WYWxpZFJhbmdlKGdXZWJTY3JvbGxWaWV3LCBDR1BvaW50TWFrZSh4LCB5
KSkgYW5pbWF0ZWQ6WUVTXTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RSdW5uZXJTaGFyZWQvVUlT
Y3JpcHRDb250ZXh0L0JpbmRpbmdzL1VJU2NyaXB0Q29udHJvbGxlci5pZGwgYi9Ub29scy9UZXN0
UnVubmVyU2hhcmVkL1VJU2NyaXB0Q29udGV4dC9CaW5kaW5ncy9VSVNjcmlwdENvbnRyb2xsZXIu
aWRsCmluZGV4IGY1OGQ2MjE0ZjQxZmMwNTc4MWM3ODdiYThmNmE0ZDNhODIwOGExY2QuLjlhZmM1
MWVmZmM5Yzk4NTMxMThhMTJkZmIyNzIwZDdkZDgyNDQ3YzMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rl
c3RSdW5uZXJTaGFyZWQvVUlTY3JpcHRDb250ZXh0L0JpbmRpbmdzL1VJU2NyaXB0Q29udHJvbGxl
ci5pZGwKKysrIGIvVG9vbHMvVGVzdFJ1bm5lclNoYXJlZC9VSVNjcmlwdENvbnRleHQvQmluZGlu
Z3MvVUlTY3JpcHRDb250cm9sbGVyLmlkbApAQCAtMjQ0LDYgKzI0NCw4IEBAIGludGVyZmFjZSBV
SVNjcmlwdENvbnRyb2xsZXIgewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgY29udGVu
dE9mZnNldFg7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGRvdWJsZSBjb250ZW50T2Zmc2V0WTsK
IAorICAgIGF0dHJpYnV0ZSBib29sZWFuIHNjcm9sbFVwZGF0ZXNEaXNhYmxlZDsgLy8gVHVybnMg
b2ZmIG5vdGlmaWNhdGlvbnMgYmFjayB0byB0aGUgd2ViIHByb2Nlc3MgYWZ0ZXIgc2Nyb2xscyAo
dXNlZCBmb3IgdGVzdGluZyBzY3JvbGxpbmcgdHJlZSkuCisKICAgICB2b2lkIHNjcm9sbFRvT2Zm
c2V0KGxvbmcgeCwgbG9uZyB5KTsgLy8gSW5pdGlhdGUgYW4gYW5pbWF0ZWQgc2Nyb2xsIGluIHRo
ZSBVSSBwcm9jZXNzLgogICAgIGF0dHJpYnV0ZSBvYmplY3QgZGlkRW5kU2Nyb2xsaW5nQ2FsbGJh
Y2s7CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RSdW5uZXJTaGFyZWQvVUlTY3JpcHRDb250ZXh0
L1VJU2NyaXB0Q29udHJvbGxlci5jcHAgYi9Ub29scy9UZXN0UnVubmVyU2hhcmVkL1VJU2NyaXB0
Q29udGV4dC9VSVNjcmlwdENvbnRyb2xsZXIuY3BwCmluZGV4IDk3NzkzNDRlMTI3NWEwZjM2MDVh
MWJlM2IwNGI4M2Q1ZTQ0MGY0OWYuLmVkM2UzNDJiNGQwZTJiNjIzOTBhMjk3NDZmZWYwOTk4MWYy
Y2I5YTIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RSdW5uZXJTaGFyZWQvVUlTY3JpcHRDb250ZXh0
L1VJU2NyaXB0Q29udHJvbGxlci5jcHAKKysrIGIvVG9vbHMvVGVzdFJ1bm5lclNoYXJlZC9VSVNj
cmlwdENvbnRleHQvVUlTY3JpcHRDb250cm9sbGVyLmNwcApAQCAtMzg1LDYgKzM4NSwxNSBAQCBk
b3VibGUgVUlTY3JpcHRDb250cm9sbGVyOjpjb250ZW50T2Zmc2V0WSgpIGNvbnN0CiAgICAgcmV0
dXJuIDA7CiB9CiAKK2Jvb2wgVUlTY3JpcHRDb250cm9sbGVyOjpzY3JvbGxVcGRhdGVzRGlzYWJs
ZWQoKSBjb25zdAoreworICAgIHJldHVybiBmYWxzZTsKK30KKwordm9pZCBVSVNjcmlwdENvbnRy
b2xsZXI6OnNldFNjcm9sbFVwZGF0ZXNEaXNhYmxlZChib29sKQoreworfQorCiB2b2lkIFVJU2Ny
aXB0Q29udHJvbGxlcjo6c2Nyb2xsVG9PZmZzZXQobG9uZyB4LCBsb25nIHkpCiB7CiB9CmRpZmYg
LS1naXQgYS9Ub29scy9UZXN0UnVubmVyU2hhcmVkL1VJU2NyaXB0Q29udGV4dC9VSVNjcmlwdENv
bnRyb2xsZXIuaCBiL1Rvb2xzL1Rlc3RSdW5uZXJTaGFyZWQvVUlTY3JpcHRDb250ZXh0L1VJU2Ny
aXB0Q29udHJvbGxlci5oCmluZGV4IDcxN2U5YTVhMThlNDgwODU1OWU3MThlMDI4M2JlYzk4ZjU4
YWIzYTYuLjVhOGRmNmVkZTNhODNkYjQyNTY2MjlmZDI5ZTIzYmYzNTNhZjhmNDYgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1Rlc3RSdW5uZXJTaGFyZWQvVUlTY3JpcHRDb250ZXh0L1VJU2NyaXB0Q29udHJv
bGxlci5oCisrKyBiL1Rvb2xzL1Rlc3RSdW5uZXJTaGFyZWQvVUlTY3JpcHRDb250ZXh0L1VJU2Ny
aXB0Q29udHJvbGxlci5oCkBAIC0xMjUsNiArMTI1LDkgQEAgcHVibGljOgogICAgIGRvdWJsZSBj
b250ZW50T2Zmc2V0WCgpIGNvbnN0OwogICAgIGRvdWJsZSBjb250ZW50T2Zmc2V0WSgpIGNvbnN0
OwogCisgICAgYm9vbCBzY3JvbGxVcGRhdGVzRGlzYWJsZWQoKSBjb25zdDsKKyAgICB2b2lkIHNl
dFNjcm9sbFVwZGF0ZXNEaXNhYmxlZChib29sKTsKKwogICAgIHZvaWQgc2Nyb2xsVG9PZmZzZXQo
bG9uZyB4LCBsb25nIHkpOwogCiAgICAgdm9pZCBpbW1lZGlhdGVTY3JvbGxUb09mZnNldChsb25n
IHgsIGxvbmcgeSk7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2NvY29hL1Rl
c3RSdW5uZXJXS1dlYlZpZXcuaCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvY29jb2EvVGVzdFJ1
bm5lcldLV2ViVmlldy5oCmluZGV4IGMyY2QzYTY3NGVjZWEwNGIxY2E3NzhkMjZiNTc2MGE2Y2Nh
NTNiY2IuLjliZjRkZmQzNzBhNTI2OTExMDdjNGRiODE3OWZlOTk5MmM3YzBmOGQgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvY29jb2EvVGVzdFJ1bm5lcldLV2ViVmlldy5oCisr
KyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvY29jb2EvVGVzdFJ1bm5lcldLV2ViVmlldy5oCkBA
IC02MSw1ICs2MSw2IEBACiAjZW5kaWYKIAogQHByb3BlcnR5IChub25hdG9taWMsIHJldGFpbiwg
c2V0dGVyPV9zZXRTdGFibGVTdGF0ZU92ZXJyaWRlOikgTlNOdW1iZXIgKl9zdGFibGVTdGF0ZU92
ZXJyaWRlOworQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0U2Nyb2xsaW5nVXBkYXRl
c0Rpc2FibGVkRm9yVGVzdGluZzopIEJPT0wgX3Njcm9sbGluZ1VwZGF0ZXNEaXNhYmxlZEZvclRl
c3Rpbmc7CiAKIEBlbmQKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvY29jb2Ev
VGVzdFJ1bm5lcldLV2ViVmlldy5tbSBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvY29jb2EvVGVz
dFJ1bm5lcldLV2ViVmlldy5tbQppbmRleCA0OGIwMjIxZDFhMjk4MTlmN2E0NTdlNTY3MTkzMWNk
NTM0NzFhNDBkLi5kYjFlZWYyZTY3ZWRjZTc5ZjIzMWRjYzQ0YWVlNzY4ZDhmMTYxYzc0IDEwMDY0
NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2NvY29hL1Rlc3RSdW5uZXJXS1dlYlZpZXcu
bW0KKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9jb2NvYS9UZXN0UnVubmVyV0tXZWJWaWV3
Lm1tCkBAIC00OCw2ICs0OCw3IEBAIEBlbmQKIEBpbnRlcmZhY2UgVGVzdFJ1bm5lcldLV2ViVmll
dyAoKSA8V0tVSURlbGVnYXRlUHJpdmF0ZT4gewogICAgIFJldGFpblB0cjxOU051bWJlcj4gbV9z
dGFibGVTdGF0ZU92ZXJyaWRlOwogICAgIEJPT0wgbV9pc0ludGVyYWN0aW5nV2l0aEZvcm1Db250
cm9sOworICAgIEJPT0wgbV9zY3JvbGxpbmdVcGRhdGVzRGlzYWJsZWQ7CiB9CiAKIEBwcm9wZXJ0
eSAobm9uYXRvbWljLCBjb3B5KSB2b2lkICheem9vbVRvU2NhbGVDb21wbGV0aW9uSGFuZGxlciko
dm9pZCk7CkBAIC0yMzQsNiArMjM1LDE2IEBAIC0gKHZvaWQpX3NldFN0YWJsZVN0YXRlT3ZlcnJp
ZGU6KE5TTnVtYmVyICopb3ZlcnJpZGVCb29sZWFuCiAgICAgW3NlbGYgX3NjaGVkdWxlVmlzaWJs
ZUNvbnRlbnRSZWN0VXBkYXRlXTsKIH0KIAorLSAoQk9PTClfc2Nyb2xsaW5nVXBkYXRlc0Rpc2Fi
bGVkRm9yVGVzdGluZworeworICAgIHJldHVybiBtX3Njcm9sbGluZ1VwZGF0ZXNEaXNhYmxlZDsK
K30KKworLSAodm9pZClfc2V0U2Nyb2xsaW5nVXBkYXRlc0Rpc2FibGVkRm9yVGVzdGluZzooQk9P
TClkaXNhYmxlZAoreworICAgIG1fc2Nyb2xsaW5nVXBkYXRlc0Rpc2FibGVkID0gZGlzYWJsZWQ7
Cit9CisKIC0gKHZvaWQpX2RpZEVuZFJvdGF0aW9uCiB7CiAgICAgaWYgKHNlbGYucm90YXRpb25E
aWRFbmRDYWxsYmFjaykKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL1Rl
c3RDb250cm9sbGVySU9TLm1tIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvVGVzdENvbnRy
b2xsZXJJT1MubW0KaW5kZXggZTU3MjRmMTZhNGNkYzk0NmVmMWQzZjZlMTRhYmE0ZDhjNzMwODU4
Ny4uZmYxZDZlNzBhMzc2ZDMxZWYyZDZhNmZhZTI0OTc0MGRjMmJlNGVhOSAxMDA2NDQKLS0tIGEv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvVGVzdENvbnRyb2xsZXJJT1MubW0KKysrIGIvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvVGVzdENvbnRyb2xsZXJJT1MubW0KQEAgLTE0Niw2ICsx
NDYsNyBAQCB2b2lkIFRlc3RDb250cm9sbGVyOjpwbGF0Zm9ybVJlc2V0U3RhdGVUb0NvbnNpc3Rl
bnRWYWx1ZXMoY29uc3QgVGVzdE9wdGlvbnMmIG9wdAogICAgIGlmIChQbGF0Zm9ybVdlYlZpZXcq
IHBsYXRmb3JtV2ViVmlldyA9IG1haW5XZWJWaWV3KCkpIHsKICAgICAgICAgVGVzdFJ1bm5lcldL
V2ViVmlldyAqd2ViVmlldyA9IHBsYXRmb3JtV2ViVmlldy0+cGxhdGZvcm1WaWV3KCk7CiAgICAg
ICAgIHdlYlZpZXcuX3N0YWJsZVN0YXRlT3ZlcnJpZGUgPSBuaWw7CisgICAgICAgIHdlYlZpZXcu
X3Njcm9sbGluZ1VwZGF0ZXNEaXNhYmxlZEZvclRlc3RpbmcgPSBOTzsKICAgICAgICAgd2ViVmll
dy51c2VzU2FmYXJpTGlrZVJvdGF0aW9uID0gTk87CiAgICAgICAgIHdlYlZpZXcub3ZlcnJpZGVT
YWZlQXJlYUluc2V0cyA9IFVJRWRnZUluc2V0c1plcm87CiAgICAgICAgIFt3ZWJWaWV3IF9jbGVh
ck92ZXJyaWRlTGF5b3V0UGFyYW1ldGVyc107CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL2lvcy9VSVNjcmlwdENvbnRyb2xsZXJJT1MubW0gYi9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL2lvcy9VSVNjcmlwdENvbnRyb2xsZXJJT1MubW0KaW5kZXggN2JjZDQ3ZmE2MTRjNzUxY2Nm
ZWRmYTdlMzc5NTcxNTZmNjQ4ZGMyYS4uOTUxN2I0ZTI2ZGNmZDMzOTJlNmJlMTYxYTc5MDllODhi
NWU5ODJjMCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvVUlTY3JpcHRD
b250cm9sbGVySU9TLm1tCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL1VJU2NyaXB0
Q29udHJvbGxlcklPUy5tbQpAQCAtNTQ2LDYgKzU0NiwxOCBAQCBkb3VibGUgVUlTY3JpcHRDb250
cm9sbGVyOjpjb250ZW50T2Zmc2V0WSgpIGNvbnN0CiAgICAgcmV0dXJuIHdlYlZpZXcuc2Nyb2xs
Vmlldy5jb250ZW50T2Zmc2V0Lnk7CiB9CiAKK2Jvb2wgVUlTY3JpcHRDb250cm9sbGVyOjpzY3Jv
bGxVcGRhdGVzRGlzYWJsZWQoKSBjb25zdAoreworICAgIFRlc3RSdW5uZXJXS1dlYlZpZXcgKndl
YlZpZXcgPSBUZXN0Q29udHJvbGxlcjo6c2luZ2xldG9uKCkubWFpbldlYlZpZXcoKS0+cGxhdGZv
cm1WaWV3KCk7CisgICAgcmV0dXJuIHdlYlZpZXcuX3Njcm9sbGluZ1VwZGF0ZXNEaXNhYmxlZEZv
clRlc3Rpbmc7Cit9CisKK3ZvaWQgVUlTY3JpcHRDb250cm9sbGVyOjpzZXRTY3JvbGxVcGRhdGVz
RGlzYWJsZWQoYm9vbCBkaXNhYmxlZCkKK3sKKyAgICBUZXN0UnVubmVyV0tXZWJWaWV3ICp3ZWJW
aWV3ID0gVGVzdENvbnRyb2xsZXI6OnNpbmdsZXRvbigpLm1haW5XZWJWaWV3KCktPnBsYXRmb3Jt
VmlldygpOworICAgIHdlYlZpZXcuX3Njcm9sbGluZ1VwZGF0ZXNEaXNhYmxlZEZvclRlc3Rpbmcg
PSBkaXNhYmxlZDsKK30KKwogdm9pZCBVSVNjcmlwdENvbnRyb2xsZXI6OnNjcm9sbFRvT2Zmc2V0
KGxvbmcgeCwgbG9uZyB5KQogewogICAgIFRlc3RSdW5uZXJXS1dlYlZpZXcgKndlYlZpZXcgPSBU
ZXN0Q29udHJvbGxlcjo6c2luZ2xldG9uKCkubWFpbldlYlZpZXcoKS0+cGxhdGZvcm1WaWV3KCk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKaW5kZXggNDI5MzFmYTc1YzA2NGQ3ODg4NGQxY2YyMjJhMjdmYzUzNDg4Y2U0ZC4uNTAyZjlm
OGVkZmMxZjI0ZDk4NGIwYWExNzgxMDFlOWZkNDQzNzViNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBA
CisyMDE5LTAzLTE0ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisg
ICAgICAgIE1ha2UgaXQgcG9zc2libGUgdG8gdGVzdCBzY3JvbGxpbmcgdHJlZSBsYXllciBtYW5p
cHVsYXRpb24gbW9yZSBlYXNpbHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE5NTc4MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFkZCBhIGJvb2xlYW4gYXR0cmlidXRlICdzY3JvbGxVcGRhdGVzRGlzYWJs
ZWQnIG9uIFVJU2NyaXB0Q29udHJvbGxlciB0aGF0CisgICAgICAgIGN1dHMgb2ZmIGNvbW11bmlj
YXRpb24gb2Ygc2Nyb2xsaW5nIHRyZWUgc2Nyb2xscyBiYWNrIHRvIHRoZSB3ZWIgcHJvY2Vzcwor
ICAgICAgICAoaW4gUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eTo6c2Nyb2xsaW5nVHJl
ZU5vZGVEaWRTY3JvbGwoKSkuIFRoaXMKKyAgICAgICAgYWxsb3dzIHRlc3RzIHRvIHRyaWdnZXIg
c2Nyb2xscyB3aGljaCBydW4gdGhlIHNjcm9sbGluZyB0cmVlIGxheWVyIHBvc2l0aW9uaW5nCisg
ICAgICAgIGxvZ2ljLCBidXQgbmV2ZXIgZ2V0IGFub3RoZXIgY29tbWl0IGZyb20gdGhlIHdlYiBw
cm9jZXNzIHRoYXQgbWlnaHQgbWFzaworICAgICAgICBzY3JvbGxpbmcgdHJlZSBidWdzLgorICAg
ICAgICAKKyAgICAgICAgV0tXZWJWaWV3J3MgdGVzdGluZyBwcm90b2NvbCBnZXQgQHByb3BlcnR5
IF9zY3JvbGxpbmdVcGRhdGVzRGlzYWJsZWRGb3JUZXN0aW5nLAorICAgICAgICB3aG9zZSBnZXR0
ZXJzIGFuZCBzZXR0ZXJzIGFyZSBvdmVycmlkZGVuIGJ5IFRlc3RSdW5uZXJXS1dlYlZpZXcuIFBs
dW1iaW5nCisgICAgICAgIHZpYSBQYWdlQ2xpZW50IGFuZCBXZWJQYWdlUHJveHkgbWFrZXMgdGhp
cyBmbGFnIHJlYWNoYWJsZSBieSBSZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclByb3h5LgorCisg
ICAgICAgICogcmVzb3VyY2VzL3VpLWhlbHBlci5qczogU29tZSAnYXN5bmMnIGZ1bmN0aW9ucyB0
aGF0IGF3YWl0ZWQgcHJvbWlzZXMgc2hvdWxkIGp1c3QgcmV0dXJuCisgICAgICAgIHRoZSBwcm9t
aXNlLgorICAgICAgICAod2luZG93LlVJSGVscGVyLmltbWVkaWF0ZVNjcm9sbFRvKToKKyAgICAg
ICAgKHdpbmRvdy5VSUhlbHBlci5pbW1lZGlhdGVVbnN0YWJsZVNjcm9sbFRvKToKKyAgICAgICAg
KHdpbmRvdy5VSUhlbHBlci5hc3luYy5kZWxheUZvcik6IERlbGV0ZWQuCisgICAgICAgICh3aW5k
b3cuVUlIZWxwZXIuYXN5bmMuaW1tZWRpYXRlU2Nyb2xsVG8pOiBEZWxldGVkLgorICAgICAgICAo
d2luZG93LlVJSGVscGVyLmFzeW5jLmltbWVkaWF0ZVVuc3RhYmxlU2Nyb2xsVG8pOiBEZWxldGVk
LgorCiAyMDE5LTAzLTEzICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgog
CiAgICAgICAgIFNjcm9sbGluZyB0cmVlIHNob3VsZCByZXBvc2l0aW9uIG5vbi1zdGFja2luZyBv
cmRlciBkZXNjZW5kZW50cyBvZiBvdmVyZmxvdzpzY3JvbGwKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3Jlc291cmNlcy91aS1oZWxwZXIuanMgYi9MYXlvdXRUZXN0cy9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzCmluZGV4IDlhZjUwNjcyYTNhODI2MThjNTQ3MDI3NmY0NGMwMDc4YWFhMWNmMWYuLmU0
MDkzMzAwZjg3MGYyZGY0OTUyOGMyYWJiNzQyNzBjZDYwMmE0MjcgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3Jlc291cmNlcy91aS1oZWxwZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcwpAQCAtMjIyLDMyICsyMjIsMzIgQEAgd2luZG93LlVJSGVscGVyID0gY2xh
c3MgVUlIZWxwZXIgewogICAgICAgICB9KTsKICAgICB9CiAKLSAgICBzdGF0aWMgYXN5bmMgZGVs
YXlGb3IobXMpCisgICAgc3RhdGljIGRlbGF5Rm9yKG1zKQogICAgIHsKICAgICAgICAgcmV0dXJu
IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gc2V0VGltZW91dChyZXNvbHZlLCBtcykpOwogICAgIH0K
ICAgICAKLSAgICBzdGF0aWMgYXN5bmMgaW1tZWRpYXRlU2Nyb2xsVG8oeCwgeSkKKyAgICBzdGF0
aWMgaW1tZWRpYXRlU2Nyb2xsVG8oeCwgeSkKICAgICB7CiAgICAgICAgIGlmICghdGhpcy5pc1dl
YktpdDIoKSkgewogICAgICAgICAgICAgd2luZG93LnNjcm9sbFRvKHgsIHkpOwogICAgICAgICAg
ICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpOwogICAgICAgICB9CiAKLSAgICAgICAgYXdhaXQg
bmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNv
bHZlID0+IHsKICAgICAgICAgICAgIHRlc3RSdW5uZXIucnVuVUlTY3JpcHQoYAogICAgICAgICAg
ICAgICAgIHVpQ29udHJvbGxlci5pbW1lZGlhdGVTY3JvbGxUb09mZnNldCgke3h9LCAke3l9KTtg
LCByZXNvbHZlKTsKICAgICAgICAgfSk7CiAgICAgfQogCi0gICAgc3RhdGljIGFzeW5jIGltbWVk
aWF0ZVVuc3RhYmxlU2Nyb2xsVG8oeCwgeSkKKyAgICBzdGF0aWMgaW1tZWRpYXRlVW5zdGFibGVT
Y3JvbGxUbyh4LCB5KQogICAgIHsKICAgICAgICAgaWYgKCF0aGlzLmlzV2ViS2l0MigpKSB7CiAg
ICAgICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oeCwgeSk7CiAgICAgICAgICAgICByZXR1cm4gUHJv
bWlzZS5yZXNvbHZlKCk7CiAgICAgICAgIH0KIAotICAgICAgICBhd2FpdCBuZXcgUHJvbWlzZShy
ZXNvbHZlID0+IHsKKyAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4gewogICAg
ICAgICAgICAgdGVzdFJ1bm5lci5ydW5VSVNjcmlwdChgCiAgICAgICAgICAgICAgICAgdWlDb250
cm9sbGVyLnN0YWJsZVN0YXRlT3ZlcnJpZGUgPSBmYWxzZTsKICAgICAgICAgICAgICAgICB1aUNv
bnRyb2xsZXIuaW1tZWRpYXRlU2Nyb2xsVG9PZmZzZXQoJHt4fSwgJHt5fSk7YCwgcmVzb2x2ZSk7
Cg==
</data>
<flag name="review"
          id="381229"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>364716</attachid>
            <date>2019-03-14 16:33:27 -0700</date>
            <delta_ts>2019-03-14 18:10:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-195780-20190314163326.patch</filename>
            <type>text/plain</type>
            <size>20720</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQyOTEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDExOGMxZDQ4ZGFkZDU2M2Fi
NWJjY2U2NjM0ZGY1OGQ4ZmE4NDcyYzMuLjVmNTM3ZWY0YjEyZjJmZTZkYmEyMGFjNzBhZjQ4ZjFj
NWQ4YjNkODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMTktMDMtMTQgIFNpbW9uIEZy
YXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBpdCBwb3NzaWJs
ZSB0byB0ZXN0IHNjcm9sbGluZyB0cmVlIGxheWVyIG1hbmlwdWxhdGlvbiBtb3JlIGVhc2lseQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1NzgwCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgVGltIEhvcnRvbi4KKworICAgICAgICBBZGQgYSBib29sZWFu
IGF0dHJpYnV0ZSAnc2Nyb2xsVXBkYXRlc0Rpc2FibGVkJyBvbiBVSVNjcmlwdENvbnRyb2xsZXIg
dGhhdAorICAgICAgICBjdXRzIG9mZiBjb21tdW5pY2F0aW9uIG9mIHNjcm9sbGluZyB0cmVlIHNj
cm9sbHMgYmFjayB0byB0aGUgd2ViIHByb2Nlc3MKKyAgICAgICAgKGluIFJlbW90ZVNjcm9sbGlu
Z0Nvb3JkaW5hdG9yUHJveHk6OnNjcm9sbGluZ1RyZWVOb2RlRGlkU2Nyb2xsKCkpLiBUaGlzCisg
ICAgICAgIGFsbG93cyB0ZXN0cyB0byB0cmlnZ2VyIHNjcm9sbHMgd2hpY2ggcnVuIHRoZSBzY3Jv
bGxpbmcgdHJlZSBsYXllciBwb3NpdGlvbmluZworICAgICAgICBsb2dpYywgYnV0IG5ldmVyIGdl
dCBhbm90aGVyIGNvbW1pdCBmcm9tIHRoZSB3ZWIgcHJvY2VzcyB0aGF0IG1pZ2h0IG1hc2sKKyAg
ICAgICAgc2Nyb2xsaW5nIHRyZWUgYnVncy4KKyAgICAgICAgCisgICAgICAgIFdLV2ViVmlldydz
IHRlc3RpbmcgcHJvdG9jb2wgZ2V0IEBwcm9wZXJ0eSBfc2Nyb2xsaW5nVXBkYXRlc0Rpc2FibGVk
Rm9yVGVzdGluZywKKyAgICAgICAgd2hvc2UgZ2V0dGVycyBhbmQgc2V0dGVycyBhcmUgb3ZlcnJp
ZGRlbiBieSBUZXN0UnVubmVyV0tXZWJWaWV3LiBQbHVtYmluZworICAgICAgICB2aWEgUGFnZUNs
aWVudCBhbmQgV2ViUGFnZVByb3h5IG1ha2VzIHRoaXMgZmxhZyByZWFjaGFibGUgYnkgUmVtb3Rl
U2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tXZWJWaWV3Lm1tOgorICAgICAgICAoLVtXS1dlYlZpZXcgX3Njcm9sbGluZ1VwZGF0ZXNE
aXNhYmxlZEZvclRlc3RpbmddKToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9zZXRTY3JvbGxpbmdV
cGRhdGVzRGlzYWJsZWRGb3JUZXN0aW5nOl0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tXZWJWaWV3UHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9QYWdlQ2xp
ZW50SW1wbENvY29hLmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1BhZ2VDbGllbnRJbXBs
Q29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBsQ29jb2E6OnNjcm9sbGlu
Z1VwZGF0ZXNEaXNhYmxlZEZvclRlc3RpbmcpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9X
ZWJQYWdlUHJveHlDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpzY3Jv
bGxpbmdVcGRhdGVzRGlzYWJsZWRGb3JUZXN0aW5nKToKKyAgICAgICAgKiBVSVByb2Nlc3MvUGFn
ZUNsaWVudC5oOgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50OjpzY3JvbGxpbmdVcGRhdGVz
RGlzYWJsZWRGb3JUZXN0aW5nKToKKyAgICAgICAgKiBVSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVl
L1JlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpS
ZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclByb3h5OjpzY3JvbGxpbmdUcmVlTm9kZURpZFNjcm9s
bCk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorCiAyMDE5LTAzLTEzICBT
aW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFNjcm9sbGlu
ZyB0cmVlIHNob3VsZCByZXBvc2l0aW9uIG5vbi1zdGFja2luZyBvcmRlciBkZXNjZW5kZW50cyBv
ZiBvdmVyZmxvdzpzY3JvbGwuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tXZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L1dLV2ViVmlldy5tbQppbmRleCBmOWRhYzRhNGEzZTJhOTViYTQyZWYyZTRiODA5YjhlNGQ1NDJj
NzA0Li5jMDE3NDczZjA3YTAxYWQyZTZjOTVmNzY4OTkyZDJiZDRiYjFkOTgyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KQEAgLTcxMTIsNiAr
NzExMiwxNiBAQCAtICh2b2lkKV9pbnRlcm5hbERvQWZ0ZXJOZXh0UHJlc2VudGF0aW9uVXBkYXRl
Oih2b2lkICheKSh2b2lkKSl1cGRhdGVCbG9jayB3aXRobwogICAgIH0pOwogfQogCistIChCT09M
KV9zY3JvbGxpbmdVcGRhdGVzRGlzYWJsZWRGb3JUZXN0aW5nCit7CisgICAgLy8gRm9yIHN1YmNs
YXNzZXMgdG8gb3ZlcnJpZGU7CisgICAgcmV0dXJuIE5POworfQorCistICh2b2lkKV9zZXRTY3Jv
bGxpbmdVcGRhdGVzRGlzYWJsZWRGb3JUZXN0aW5nOihCT09MKWRpc2FibGVkCit7Cit9CisKIC8v
IEV4ZWN1dGUgdGhlIHN1cHBsaWVkIGJsb2NrIGFmdGVyIHRoZSBuZXh0IHRyYW5zYWN0aW9uIGZy
b20gdGhlIFdlYlByb2Nlc3MuCiAtICh2b2lkKV9kb0FmdGVyTmV4dFByZXNlbnRhdGlvblVwZGF0
ZToodm9pZCAoXikodm9pZCkpdXBkYXRlQmxvY2sKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oCmluZGV4IGVjNjkxYzYxOGU3
MWVkYzQxNzI0YjcwNmRiMWExZjYwNzg2NjhjYTkuLmNlZjNiODc1ZWYxNDQwYWY5MzQyYzVmYmNm
ZDZlNGNmOGZiY2Y2YTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1dlYlZpZXdQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaApAQCAtNTUxLDYgKzU1MSw4IEBAIHR5cGVkZWYgTlNf
T1BUSU9OUyhOU1VJbnRlZ2VyLCBfV0tSZWN0RWRnZSkgewogQHByb3BlcnR5IChub25hdG9taWMs
IHJlYWRvbmx5KSBfV0tJbnNwZWN0b3IgKl9pbnNwZWN0b3IgV0tfQVBJX0FWQUlMQUJMRShtYWNv
c3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CiBAcHJvcGVydHkgKG5vbmF0b21pYywg
cmVhZG9ubHkpIF9XS0ZyYW1lSGFuZGxlICpfbWFpbkZyYW1lIFdLX0FQSV9BVkFJTEFCTEUobWFj
b3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwogCitAcHJvcGVydHkgKG5vbmF0b21p
Yywgc2V0dGVyPV9zZXRTY3JvbGxpbmdVcGRhdGVzRGlzYWJsZWRGb3JUZXN0aW5nOikgQk9PTCBf
c2Nyb2xsaW5nVXBkYXRlc0Rpc2FibGVkRm9yVGVzdGluZyBXS19BUElfQVZBSUxBQkxFKG1hY29z
eChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKKwogLSAodm9pZClfcHJvY2Vzc1dpbGxT
dXNwZW5kSW1taW5lbnRseUZvclRlc3Rpbmc7CiAtICh2b2lkKV9wcm9jZXNzRGlkUmVzdW1lRm9y
VGVzdGluZzsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUGFn
ZUNsaWVudEltcGxDb2NvYS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUGFnZUNs
aWVudEltcGxDb2NvYS5oCmluZGV4IDdiNGEyZGFjMjUwYzkwYWFhMWNjMjg5YWI0YzQ3YTEyM2Zl
ZmM0YjcuLmE2Zjc3NjkyYzAwZjZlODc1MDQyMjU0NTI0ZDAwZjFjZjBjYWUxOWUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1BhZ2VDbGllbnRJbXBsQ29jb2EuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9QYWdlQ2xpZW50SW1wbENvY29hLmgK
QEAgLTQzLDYgKzQzLDggQEAgcHVibGljOgogICAgIHZvaWQgaXNQbGF5aW5nQXVkaW9XaWxsQ2hh
bmdlKCkgZmluYWw7CiAgICAgdm9pZCBpc1BsYXlpbmdBdWRpb0RpZENoYW5nZSgpIGZpbmFsOwog
CisgICAgYm9vbCBzY3JvbGxpbmdVcGRhdGVzRGlzYWJsZWRGb3JUZXN0aW5nKCkgZmluYWw7CisK
ICNpZiBFTkFCTEUoQVRUQUNITUVOVF9FTEVNRU5UKQogICAgIHZvaWQgZGlkSW5zZXJ0QXR0YWNo
bWVudChBUEk6OkF0dGFjaG1lbnQmLCBjb25zdCBTdHJpbmcmIHNvdXJjZSkgZmluYWw7CiAgICAg
dm9pZCBkaWRSZW1vdmVBdHRhY2htZW50KEFQSTo6QXR0YWNobWVudCYpIGZpbmFsOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUGFnZUNsaWVudEltcGxDb2NvYS5t
bSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1BhZ2VDbGllbnRJbXBsQ29jb2EubW0K
aW5kZXggM2UwYjlhYjIwOGY5MGFkZmEwMWViN2NjNDQ3ZGEzYzJhYjU2YThhZS4uZjU4OWU5ZDMz
NjFmYTFmYjYwMzVkYWExMzkyMTUyMjAxNjZiY2UxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvUGFnZUNsaWVudEltcGxDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9Db2NvYS9QYWdlQ2xpZW50SW1wbENvY29hLm1tCkBAIC00MSw2ICs0MSwx
MSBAQCB2b2lkIFBhZ2VDbGllbnRJbXBsQ29jb2E6OmlzUGxheWluZ0F1ZGlvRGlkQ2hhbmdlKCkK
ICAgICBbbV93ZWJWaWV3IGRpZENoYW5nZVZhbHVlRm9yS2V5Ok5TU3RyaW5nRnJvbVNlbGVjdG9y
KEBzZWxlY3RvcihfaXNQbGF5aW5nQXVkaW8pKV07CiB9CiAKK2Jvb2wgUGFnZUNsaWVudEltcGxD
b2NvYTo6c2Nyb2xsaW5nVXBkYXRlc0Rpc2FibGVkRm9yVGVzdGluZygpCit7CisgICAgcmV0dXJu
IFttX3dlYlZpZXcgX3Njcm9sbGluZ1VwZGF0ZXNEaXNhYmxlZEZvclRlc3RpbmddOworfQorCiAj
aWYgRU5BQkxFKEFUVEFDSE1FTlRfRUxFTUVOVCkKIAogdm9pZCBQYWdlQ2xpZW50SW1wbENvY29h
OjpkaWRJbnNlcnRBdHRhY2htZW50KEFQSTo6QXR0YWNobWVudCYgYXR0YWNobWVudCwgY29uc3Qg
U3RyaW5nJiBzb3VyY2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9XZWJQYWdlUHJveHlDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dl
YlBhZ2VQcm94eUNvY29hLm1tCmluZGV4IDFlYzlhMmViYzA0OWY3MWRkZjU1ZTc5NTc5YTFkZTY5
NjI4NDM2N2YuLmZhNzIyYjhjYzg0MzczYTE1MWQyNjQ5ODVjZTQ5OTQxYjE1MzkyZDggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1t
CkBAIC0xMzUsNiArMTM1LDExIEBAIHZvaWQgV2ViUGFnZVByb3h5OjpjcmVhdGVTYW5kYm94RXh0
ZW5zaW9uc0lmTmVlZGVkKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBmaWxlcywKICAgICB9CiB9CiAK
K2Jvb2wgV2ViUGFnZVByb3h5OjpzY3JvbGxpbmdVcGRhdGVzRGlzYWJsZWRGb3JUZXN0aW5nKCkK
K3sKKyAgICByZXR1cm4gcGFnZUNsaWVudCgpLnNjcm9sbGluZ1VwZGF0ZXNEaXNhYmxlZEZvclRl
c3RpbmcoKTsKK30KKwogI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCiAKIHZvaWQgV2ViUGFnZVBy
b3h5OjpzdGFydERyYWcoY29uc3QgRHJhZ0l0ZW0mIGRyYWdJdGVtLCBjb25zdCBTaGFyZWFibGVC
aXRtYXA6OkhhbmRsZSYgZHJhZ0ltYWdlSGFuZGxlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNs
aWVudC5oCmluZGV4IDc3NWY1MDczOTZlYjA2OGQ4ZTE5Mjg4YWFhMTgyMTlhZmEwMzNjMWYuLjAx
ZjBkMTY5ZGY2MjkyZDQ5ZjcwYzhiM2M4NzEyODA1MjFlMWEzM2MgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9QYWdlQ2xpZW50LmgKQEAgLTQyMyw4ICs0MjMsMTAgQEAgcHVibGljOgogICAgIHZpcnR1
YWwgdm9pZCBkaWRDaGFuZ2VCYWNrZ3JvdW5kQ29sb3IoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lk
IGlzUGxheWluZ0F1ZGlvV2lsbENoYW5nZSgpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgaXNQbGF5
aW5nQXVkaW9EaWRDaGFuZ2UoKSA9IDA7CisKICAgICB2aXJ0dWFsIHZvaWQgcGlubmVkU3RhdGVX
aWxsQ2hhbmdlKCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIHBpbm5lZFN0YXRlRGlkQ2hhbmdlKCkg
eyB9CisgICAgdmlydHVhbCBib29sIHNjcm9sbGluZ1VwZGF0ZXNEaXNhYmxlZEZvclRlc3Rpbmco
KSB7IHJldHVybiBmYWxzZTsgfQogCiAgICAgdmlydHVhbCBib29sIGhhc1NhZmVCcm93c2luZ1dh
cm5pbmcoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZVNjcm9sbGluZ0Nvb3JkaW5h
dG9yUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL1Jl
bW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJveHkuY3BwCmluZGV4IGRiNjQ4ZjNlZTM2M2UzMGVk
MzI5MjU2OWU4NjNkN2VhOTlmOThjNzguLjNmODZkZTA3MjBhYzExZjY3MzYzYWRkODMzMjlhN2Zm
MWQwYzVmZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVy
VHJlZS9SZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQ
cm94eS5jcHAKQEAgLTIwNCw2ICsyMDQsOSBAQCB2b2lkIFJlbW90ZVNjcm9sbGluZ0Nvb3JkaW5h
dG9yUHJveHk6OnNjcm9sbGluZ1RyZWVOb2RlRGlkU2Nyb2xsKFNjcm9sbGluZ05vZGVJRAogICAg
IGlmICghbV9wcm9wYWdhdGVzTWFpbkZyYW1lU2Nyb2xscyAmJiBzY3JvbGxlZE5vZGVJRCA9PSBy
b290U2Nyb2xsaW5nTm9kZUlEKCkpCiAgICAgICAgIHJldHVybjsKIAorICAgIGlmIChtX3dlYlBh
Z2VQcm94eS5zY3JvbGxpbmdVcGRhdGVzRGlzYWJsZWRGb3JUZXN0aW5nKCkpCisgICAgICAgIHJl
dHVybjsKKwogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgbV93ZWJQYWdlUHJveHkuc2Ny
b2xsaW5nTm9kZVNjcm9sbFZpZXdEaWRTY3JvbGwoKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCBkYTY4YmU3MDEwNmM4OWU4MDg2Y2EwYjJlNjljYzE3
MzllZDhhYjczLi43MjU2Njk0N2RhYWQzOTdkYmQwM2RiZjEyM2Q4NGRlN2RmZDg3YTc4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMTMwOSw2ICsxMzA5LDggQEAg
cHVibGljOgogICAgIHZvaWQgc2V0Rm9vdGVyQmFubmVySGVpZ2h0Rm9yVGVzdGluZyhpbnQpOwog
I2VuZGlmCiAKKyAgICBib29sIHNjcm9sbGluZ1VwZGF0ZXNEaXNhYmxlZEZvclRlc3RpbmcoKTsK
KwogICAgIHZvaWQgaW5zdGFsbEFjdGl2aXR5U3RhdGVDaGFuZ2VDb21wbGV0aW9uSGFuZGxlcihG
dW5jdGlvbjx2b2lkKCk+JiYpOwogCiAjaWYgVVNFKFVOSUZJRURfVEVYVF9DSEVDS0lORykKZGlm
ZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAyYWNmZmRi
YjE4OWFlNWYzMTY0ODkwNzE4NjI0YTYxMTZmYjg0NDA1Li5lZGFiNTc4ODRiMzAzOWQwM2Q4ZDI3
MDdhYWQwNjkwMTBjMGU2YzExIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9v
bHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzkgQEAKKzIwMTktMDMtMTQgIFNpbW9uIEZyYXNlciAg
PHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBpdCBwb3NzaWJsZSB0byB0
ZXN0IHNjcm9sbGluZyB0cmVlIGxheWVyIG1hbmlwdWxhdGlvbiBtb3JlIGVhc2lseQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1NzgwCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgVGltIEhvcnRvbi4KKyAgICAgICAgCisgICAgICAgIEFkZCBhIGJvb2xl
YW4gYXR0cmlidXRlICdzY3JvbGxVcGRhdGVzRGlzYWJsZWQnIG9uIFVJU2NyaXB0Q29udHJvbGxl
ciB0aGF0CisgICAgICAgIGN1dHMgb2ZmIGNvbW11bmljYXRpb24gb2Ygc2Nyb2xsaW5nIHRyZWUg
c2Nyb2xscyBiYWNrIHRvIHRoZSB3ZWIgcHJvY2VzcworICAgICAgICAoaW4gUmVtb3RlU2Nyb2xs
aW5nQ29vcmRpbmF0b3JQcm94eTo6c2Nyb2xsaW5nVHJlZU5vZGVEaWRTY3JvbGwoKSkuIFRoaXMK
KyAgICAgICAgYWxsb3dzIHRlc3RzIHRvIHRyaWdnZXIgc2Nyb2xscyB3aGljaCBydW4gdGhlIHNj
cm9sbGluZyB0cmVlIGxheWVyIHBvc2l0aW9uaW5nCisgICAgICAgIGxvZ2ljLCBidXQgbmV2ZXIg
Z2V0IGFub3RoZXIgY29tbWl0IGZyb20gdGhlIHdlYiBwcm9jZXNzIHRoYXQgbWlnaHQgbWFzawor
ICAgICAgICBzY3JvbGxpbmcgdHJlZSBidWdzLgorICAgICAgICAKKyAgICAgICAgV0tXZWJWaWV3
J3MgdGVzdGluZyBwcm90b2NvbCBnZXQgQHByb3BlcnR5IF9zY3JvbGxpbmdVcGRhdGVzRGlzYWJs
ZWRGb3JUZXN0aW5nLAorICAgICAgICB3aG9zZSBnZXR0ZXJzIGFuZCBzZXR0ZXJzIGFyZSBvdmVy
cmlkZGVuIGJ5IFRlc3RSdW5uZXJXS1dlYlZpZXcuIFBsdW1iaW5nCisgICAgICAgIHZpYSBQYWdl
Q2xpZW50IGFuZCBXZWJQYWdlUHJveHkgbWFrZXMgdGhpcyBmbGFnIHJlYWNoYWJsZSBieSBSZW1v
dGVTY3JvbGxpbmdDb29yZGluYXRvclByb3h5LgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUv
aW9zL1VJU2NyaXB0Q29udHJvbGxlcklPUy5tbToKKyAgICAgICAgKFdUUjo6VUlTY3JpcHRDb250
cm9sbGVyOjpzY3JvbGxVcGRhdGVzRGlzYWJsZWQgY29uc3QpOgorICAgICAgICAoV1RSOjpVSVNj
cmlwdENvbnRyb2xsZXI6OnNldFNjcm9sbFVwZGF0ZXNEaXNhYmxlZCk6CisgICAgICAgICogVGVz
dFJ1bm5lclNoYXJlZC9VSVNjcmlwdENvbnRleHQvQmluZGluZ3MvVUlTY3JpcHRDb250cm9sbGVy
LmlkbDoKKyAgICAgICAgKiBUZXN0UnVubmVyU2hhcmVkL1VJU2NyaXB0Q29udGV4dC9VSVNjcmlw
dENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV1RSOjpVSVNjcmlwdENvbnRyb2xsZXI6OnNjcm9s
bFVwZGF0ZXNEaXNhYmxlZCBjb25zdCk6CisgICAgICAgIChXVFI6OlVJU2NyaXB0Q29udHJvbGxl
cjo6c2V0U2Nyb2xsVXBkYXRlc0Rpc2FibGVkKToKKyAgICAgICAgKiBUZXN0UnVubmVyU2hhcmVk
L1VJU2NyaXB0Q29udGV4dC9VSVNjcmlwdENvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBXZWJLaXRU
ZXN0UnVubmVyL2NvY29hL1Rlc3RSdW5uZXJXS1dlYlZpZXcuaDoKKyAgICAgICAgKiBXZWJLaXRU
ZXN0UnVubmVyL2NvY29hL1Rlc3RSdW5uZXJXS1dlYlZpZXcubW06CisgICAgICAgICgtW1Rlc3RS
dW5uZXJXS1dlYlZpZXcgX3Njcm9sbGluZ1VwZGF0ZXNEaXNhYmxlZEZvclRlc3RpbmddKToKKyAg
ICAgICAgKC1bVGVzdFJ1bm5lcldLV2ViVmlldyBfc2V0U2Nyb2xsaW5nVXBkYXRlc0Rpc2FibGVk
Rm9yVGVzdGluZzpdKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL2lvcy9UZXN0Q29udHJv
bGxlcklPUy5tbToKKyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OnBsYXRmb3JtUmVzZXRT
dGF0ZVRvQ29uc2lzdGVudFZhbHVlcyk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9pb3Mv
VUlTY3JpcHRDb250cm9sbGVySU9TLm1tOgorICAgICAgICAoV1RSOjpVSVNjcmlwdENvbnRyb2xs
ZXI6OnNjcm9sbFVwZGF0ZXNEaXNhYmxlZCBjb25zdCk6CisgICAgICAgIChXVFI6OlVJU2NyaXB0
Q29udHJvbGxlcjo6c2V0U2Nyb2xsVXBkYXRlc0Rpc2FibGVkKToKKwogMjAxOS0wMy0xMyAgQ2hy
aXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFVzZSBhIFNlcnZpY2VXb3Jr
ZXIgcHJvY2VzcyBwZXIgcmVnaXN0cmFibGUgZG9tYWluCmRpZmYgLS1naXQgYS9Ub29scy9EdW1w
UmVuZGVyVHJlZS9pb3MvVUlTY3JpcHRDb250cm9sbGVySU9TLm1tIGIvVG9vbHMvRHVtcFJlbmRl
clRyZWUvaW9zL1VJU2NyaXB0Q29udHJvbGxlcklPUy5tbQppbmRleCBiZDg0YmNmZDkyYTA2NmJi
MTQyNDU4MmM3N2Y4Yzk1NzRmNTgyZWUzLi5jMTIwOTUyYjU3ZjliNWJiZTNlNGUwNWJmNTA3Y2Nj
OTY3NmJkNDIxIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9pb3MvVUlTY3JpcHRD
b250cm9sbGVySU9TLm1tCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2lvcy9VSVNjcmlwdENv
bnRyb2xsZXJJT1MubW0KQEAgLTIzOCw2ICsyMzgsMTUgQEAgZG91YmxlIFVJU2NyaXB0Q29udHJv
bGxlcjo6Y29udGVudE9mZnNldFkoKSBjb25zdAogICAgIHJldHVybiBbZ1dlYlNjcm9sbFZpZXcg
Y29udGVudE9mZnNldF0ueTsKIH0KIAorYm9vbCBVSVNjcmlwdENvbnRyb2xsZXI6OnNjcm9sbFVw
ZGF0ZXNEaXNhYmxlZCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lkIFVJ
U2NyaXB0Q29udHJvbGxlcjo6c2V0U2Nyb2xsVXBkYXRlc0Rpc2FibGVkKGJvb2wpCit7Cit9CisK
IHZvaWQgVUlTY3JpcHRDb250cm9sbGVyOjpzY3JvbGxUb09mZnNldChsb25nIHgsIGxvbmcgeSkK
IHsKICAgICBbZ1dlYlNjcm9sbFZpZXcgc2V0Q29udGVudE9mZnNldDpjb250ZW50T2Zmc2V0Qm91
bmRlZEluVmFsaWRSYW5nZShnV2ViU2Nyb2xsVmlldywgQ0dQb2ludE1ha2UoeCwgeSkpIGFuaW1h
dGVkOllFU107CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0UnVubmVyU2hhcmVkL1VJU2NyaXB0Q29u
dGV4dC9CaW5kaW5ncy9VSVNjcmlwdENvbnRyb2xsZXIuaWRsIGIvVG9vbHMvVGVzdFJ1bm5lclNo
YXJlZC9VSVNjcmlwdENvbnRleHQvQmluZGluZ3MvVUlTY3JpcHRDb250cm9sbGVyLmlkbAppbmRl
eCBmNThkNjIxNGY0MWZjMDU3ODFjNzg3YmE4ZjZhNGQzYTgyMDhhMWNkLi45YWZjNTFlZmZjOWM5
ODUzMTE4YTEyZGZiMjcyMGQ3ZGQ4MjQ0N2MzIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0UnVubmVy
U2hhcmVkL1VJU2NyaXB0Q29udGV4dC9CaW5kaW5ncy9VSVNjcmlwdENvbnRyb2xsZXIuaWRsCisr
KyBiL1Rvb2xzL1Rlc3RSdW5uZXJTaGFyZWQvVUlTY3JpcHRDb250ZXh0L0JpbmRpbmdzL1VJU2Ny
aXB0Q29udHJvbGxlci5pZGwKQEAgLTI0NCw2ICsyNDQsOCBAQCBpbnRlcmZhY2UgVUlTY3JpcHRD
b250cm9sbGVyIHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlIGNvbnRlbnRPZmZzZXRY
OwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgY29udGVudE9mZnNldFk7CiAKKyAgICBh
dHRyaWJ1dGUgYm9vbGVhbiBzY3JvbGxVcGRhdGVzRGlzYWJsZWQ7IC8vIFR1cm5zIG9mZiBub3Rp
ZmljYXRpb25zIGJhY2sgdG8gdGhlIHdlYiBwcm9jZXNzIGFmdGVyIHNjcm9sbHMgKHVzZWQgZm9y
IHRlc3Rpbmcgc2Nyb2xsaW5nIHRyZWUpLgorCiAgICAgdm9pZCBzY3JvbGxUb09mZnNldChsb25n
IHgsIGxvbmcgeSk7IC8vIEluaXRpYXRlIGFuIGFuaW1hdGVkIHNjcm9sbCBpbiB0aGUgVUkgcHJv
Y2Vzcy4KICAgICBhdHRyaWJ1dGUgb2JqZWN0IGRpZEVuZFNjcm9sbGluZ0NhbGxiYWNrOwogCmRp
ZmYgLS1naXQgYS9Ub29scy9UZXN0UnVubmVyU2hhcmVkL1VJU2NyaXB0Q29udGV4dC9VSVNjcmlw
dENvbnRyb2xsZXIuY3BwIGIvVG9vbHMvVGVzdFJ1bm5lclNoYXJlZC9VSVNjcmlwdENvbnRleHQv
VUlTY3JpcHRDb250cm9sbGVyLmNwcAppbmRleCA5Nzc5MzQ0ZTEyNzVhMGYzNjA1YTFiZTNiMDRi
ODNkNWU0NDBmNDlmLi5lZDNlMzQyYjRkMGUyYjYyMzkwYTI5NzQ2ZmVmMDk5ODFmMmNiOWEyIDEw
MDY0NAotLS0gYS9Ub29scy9UZXN0UnVubmVyU2hhcmVkL1VJU2NyaXB0Q29udGV4dC9VSVNjcmlw
dENvbnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xzL1Rlc3RSdW5uZXJTaGFyZWQvVUlTY3JpcHRDb250
ZXh0L1VJU2NyaXB0Q29udHJvbGxlci5jcHAKQEAgLTM4NSw2ICszODUsMTUgQEAgZG91YmxlIFVJ
U2NyaXB0Q29udHJvbGxlcjo6Y29udGVudE9mZnNldFkoKSBjb25zdAogICAgIHJldHVybiAwOwog
fQogCitib29sIFVJU2NyaXB0Q29udHJvbGxlcjo6c2Nyb2xsVXBkYXRlc0Rpc2FibGVkKCkgY29u
c3QKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgVUlTY3JpcHRDb250cm9sbGVyOjpz
ZXRTY3JvbGxVcGRhdGVzRGlzYWJsZWQoYm9vbCkKK3sKK30KKwogdm9pZCBVSVNjcmlwdENvbnRy
b2xsZXI6OnNjcm9sbFRvT2Zmc2V0KGxvbmcgeCwgbG9uZyB5KQogewogfQpkaWZmIC0tZ2l0IGEv
VG9vbHMvVGVzdFJ1bm5lclNoYXJlZC9VSVNjcmlwdENvbnRleHQvVUlTY3JpcHRDb250cm9sbGVy
LmggYi9Ub29scy9UZXN0UnVubmVyU2hhcmVkL1VJU2NyaXB0Q29udGV4dC9VSVNjcmlwdENvbnRy
b2xsZXIuaAppbmRleCA3MTdlOWE1YTE4ZTQ4MDg1NTllNzE4ZTAyODNiZWM5OGY1OGFiM2E2Li41
YThkZjZlZGUzYTgzZGI0MjU2NjI5ZmQyOWUyM2JmMzUzYWY4ZjQ2IDEwMDY0NAotLS0gYS9Ub29s
cy9UZXN0UnVubmVyU2hhcmVkL1VJU2NyaXB0Q29udGV4dC9VSVNjcmlwdENvbnRyb2xsZXIuaAor
KysgYi9Ub29scy9UZXN0UnVubmVyU2hhcmVkL1VJU2NyaXB0Q29udGV4dC9VSVNjcmlwdENvbnRy
b2xsZXIuaApAQCAtMTI1LDYgKzEyNSw5IEBAIHB1YmxpYzoKICAgICBkb3VibGUgY29udGVudE9m
ZnNldFgoKSBjb25zdDsKICAgICBkb3VibGUgY29udGVudE9mZnNldFkoKSBjb25zdDsKIAorICAg
IGJvb2wgc2Nyb2xsVXBkYXRlc0Rpc2FibGVkKCkgY29uc3Q7CisgICAgdm9pZCBzZXRTY3JvbGxV
cGRhdGVzRGlzYWJsZWQoYm9vbCk7CisKICAgICB2b2lkIHNjcm9sbFRvT2Zmc2V0KGxvbmcgeCwg
bG9uZyB5KTsKIAogICAgIHZvaWQgaW1tZWRpYXRlU2Nyb2xsVG9PZmZzZXQobG9uZyB4LCBsb25n
IHkpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9jb2NvYS9UZXN0UnVubmVy
V0tXZWJWaWV3LmggYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2NvY29hL1Rlc3RSdW5uZXJXS1dl
YlZpZXcuaAppbmRleCBjMmNkM2E2NzRlY2VhMDRiMWNhNzc4ZDI2YjU3NjBhNmNjYTUzYmNiLi45
YmY0ZGZkMzcwYTUyNjkxMTA3YzRkYjgxNzlmZTk5OTJjN2MwZjhkIDEwMDY0NAotLS0gYS9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL2NvY29hL1Rlc3RSdW5uZXJXS1dlYlZpZXcuaAorKysgYi9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL2NvY29hL1Rlc3RSdW5uZXJXS1dlYlZpZXcuaApAQCAtNjEsNSAr
NjEsNiBAQAogI2VuZGlmCiAKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZXRhaW4sIHNldHRlcj1f
c2V0U3RhYmxlU3RhdGVPdmVycmlkZTopIE5TTnVtYmVyICpfc3RhYmxlU3RhdGVPdmVycmlkZTsK
K0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldFNjcm9sbGluZ1VwZGF0ZXNEaXNhYmxl
ZEZvclRlc3Rpbmc6KSBCT09MIF9zY3JvbGxpbmdVcGRhdGVzRGlzYWJsZWRGb3JUZXN0aW5nOwog
CiBAZW5kCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2NvY29hL1Rlc3RSdW5u
ZXJXS1dlYlZpZXcubW0gYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2NvY29hL1Rlc3RSdW5uZXJX
S1dlYlZpZXcubW0KaW5kZXggNDhiMDIyMWQxYTI5ODE5ZjdhNDU3ZTU2NzE5MzFjZDUzNDcxYTQw
ZC4uNjA4OTVlYzQ4Y2I5OWJmNDg4NjMyMGI4YmM4MzdkN2Q1ZWVhN2FlOSAxMDA2NDQKLS0tIGEv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9jb2NvYS9UZXN0UnVubmVyV0tXZWJWaWV3Lm1tCisrKyBi
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvY29jb2EvVGVzdFJ1bm5lcldLV2ViVmlldy5tbQpAQCAt
NDcsNyArNDcsOCBAQCBAZW5kCiAKIEBpbnRlcmZhY2UgVGVzdFJ1bm5lcldLV2ViVmlldyAoKSA8
V0tVSURlbGVnYXRlUHJpdmF0ZT4gewogICAgIFJldGFpblB0cjxOU051bWJlcj4gbV9zdGFibGVT
dGF0ZU92ZXJyaWRlOwotICAgIEJPT0wgbV9pc0ludGVyYWN0aW5nV2l0aEZvcm1Db250cm9sOwor
ICAgIEJPT0wgX2lzSW50ZXJhY3RpbmdXaXRoRm9ybUNvbnRyb2w7CisgICAgQk9PTCBfc2Nyb2xs
aW5nVXBkYXRlc0Rpc2FibGVkOwogfQogCiBAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgdm9p
ZCAoXnpvb21Ub1NjYWxlQ29tcGxldGlvbkhhbmRsZXIpKHZvaWQpOwpAQCAtMTA4LDcgKzEwOSw3
IEBAIC0gKHZvaWQpZGVhbGxvYwogCiAtICh2b2lkKWRpZFN0YXJ0Rm9ybUNvbnRyb2xJbnRlcmFj
dGlvbgogewotICAgIG1faXNJbnRlcmFjdGluZ1dpdGhGb3JtQ29udHJvbCA9IFlFUzsKKyAgICBf
aXNJbnRlcmFjdGluZ1dpdGhGb3JtQ29udHJvbCA9IFlFUzsKIAogICAgIGlmIChzZWxmLmRpZFN0
YXJ0Rm9ybUNvbnRyb2xJbnRlcmFjdGlvbkNhbGxiYWNrKQogICAgICAgICBzZWxmLmRpZFN0YXJ0
Rm9ybUNvbnRyb2xJbnRlcmFjdGlvbkNhbGxiYWNrKCk7CkBAIC0xMTYsNyArMTE3LDcgQEAgLSAo
dm9pZClkaWRTdGFydEZvcm1Db250cm9sSW50ZXJhY3Rpb24KIAogLSAodm9pZClkaWRFbmRGb3Jt
Q29udHJvbEludGVyYWN0aW9uCiB7Ci0gICAgbV9pc0ludGVyYWN0aW5nV2l0aEZvcm1Db250cm9s
ID0gTk87CisgICAgX2lzSW50ZXJhY3RpbmdXaXRoRm9ybUNvbnRyb2wgPSBOTzsKIAogICAgIGlm
IChzZWxmLmRpZEVuZEZvcm1Db250cm9sSW50ZXJhY3Rpb25DYWxsYmFjaykKICAgICAgICAgc2Vs
Zi5kaWRFbmRGb3JtQ29udHJvbEludGVyYWN0aW9uQ2FsbGJhY2soKTsKQEAgLTEyNCw3ICsxMjUs
NyBAQCAtICh2b2lkKWRpZEVuZEZvcm1Db250cm9sSW50ZXJhY3Rpb24KIAogLSAoQk9PTClpc0lu
dGVyYWN0aW5nV2l0aEZvcm1Db250cm9sCiB7Ci0gICAgcmV0dXJuIG1faXNJbnRlcmFjdGluZ1dp
dGhGb3JtQ29udHJvbDsKKyAgICByZXR1cm4gX2lzSW50ZXJhY3RpbmdXaXRoRm9ybUNvbnRyb2w7
CiB9CiAKIC0gKHZvaWQpX2RpZFNob3dGb3JjZVByZXNzUHJldmlldwpAQCAtMjM0LDYgKzIzNSwx
NiBAQCAtICh2b2lkKV9zZXRTdGFibGVTdGF0ZU92ZXJyaWRlOihOU051bWJlciAqKW92ZXJyaWRl
Qm9vbGVhbgogICAgIFtzZWxmIF9zY2hlZHVsZVZpc2libGVDb250ZW50UmVjdFVwZGF0ZV07CiB9
CiAKKy0gKEJPT0wpX3Njcm9sbGluZ1VwZGF0ZXNEaXNhYmxlZEZvclRlc3RpbmcKK3sKKyAgICBy
ZXR1cm4gX3Njcm9sbGluZ1VwZGF0ZXNEaXNhYmxlZDsKK30KKworLSAodm9pZClfc2V0U2Nyb2xs
aW5nVXBkYXRlc0Rpc2FibGVkRm9yVGVzdGluZzooQk9PTClkaXNhYmxlZAoreworICAgIF9zY3Jv
bGxpbmdVcGRhdGVzRGlzYWJsZWQgPSBkaXNhYmxlZDsKK30KKwogLSAodm9pZClfZGlkRW5kUm90
YXRpb24KIHsKICAgICBpZiAoc2VsZi5yb3RhdGlvbkRpZEVuZENhbGxiYWNrKQpkaWZmIC0tZ2l0
IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvVGVzdENvbnRyb2xsZXJJT1MubW0gYi9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL2lvcy9UZXN0Q29udHJvbGxlcklPUy5tbQppbmRleCBlNTcyNGYx
NmE0Y2RjOTQ2ZWYxZDNmNmUxNGFiYTRkOGM3MzA4NTg3Li5mZjFkNmU3MGEzNzZkMzFlZjJkNmE2
ZmFlMjQ5NzQwZGMyYmU0ZWE5IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lv
cy9UZXN0Q29udHJvbGxlcklPUy5tbQorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9U
ZXN0Q29udHJvbGxlcklPUy5tbQpAQCAtMTQ2LDYgKzE0Niw3IEBAIHZvaWQgVGVzdENvbnRyb2xs
ZXI6OnBsYXRmb3JtUmVzZXRTdGF0ZVRvQ29uc2lzdGVudFZhbHVlcyhjb25zdCBUZXN0T3B0aW9u
cyYgb3B0CiAgICAgaWYgKFBsYXRmb3JtV2ViVmlldyogcGxhdGZvcm1XZWJWaWV3ID0gbWFpbldl
YlZpZXcoKSkgewogICAgICAgICBUZXN0UnVubmVyV0tXZWJWaWV3ICp3ZWJWaWV3ID0gcGxhdGZv
cm1XZWJWaWV3LT5wbGF0Zm9ybVZpZXcoKTsKICAgICAgICAgd2ViVmlldy5fc3RhYmxlU3RhdGVP
dmVycmlkZSA9IG5pbDsKKyAgICAgICAgd2ViVmlldy5fc2Nyb2xsaW5nVXBkYXRlc0Rpc2FibGVk
Rm9yVGVzdGluZyA9IE5POwogICAgICAgICB3ZWJWaWV3LnVzZXNTYWZhcmlMaWtlUm90YXRpb24g
PSBOTzsKICAgICAgICAgd2ViVmlldy5vdmVycmlkZVNhZmVBcmVhSW5zZXRzID0gVUlFZGdlSW5z
ZXRzWmVybzsKICAgICAgICAgW3dlYlZpZXcgX2NsZWFyT3ZlcnJpZGVMYXlvdXRQYXJhbWV0ZXJz
XTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL1VJU2NyaXB0Q29udHJv
bGxlcklPUy5tbSBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL1VJU2NyaXB0Q29udHJvbGxl
cklPUy5tbQppbmRleCA3YmNkNDdmYTYxNGM3NTFjY2ZlZGZhN2UzNzk1NzE1NmY2NDhkYzJhLi45
NTE3YjRlMjZkY2ZkMzM5MmU2YmUxNjFhNzkwOWU4OGI1ZTk4MmMwIDEwMDY0NAotLS0gYS9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL2lvcy9VSVNjcmlwdENvbnRyb2xsZXJJT1MubW0KKysrIGIvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvVUlTY3JpcHRDb250cm9sbGVySU9TLm1tCkBAIC01NDYs
NiArNTQ2LDE4IEBAIGRvdWJsZSBVSVNjcmlwdENvbnRyb2xsZXI6OmNvbnRlbnRPZmZzZXRZKCkg
Y29uc3QKICAgICByZXR1cm4gd2ViVmlldy5zY3JvbGxWaWV3LmNvbnRlbnRPZmZzZXQueTsKIH0K
IAorYm9vbCBVSVNjcmlwdENvbnRyb2xsZXI6OnNjcm9sbFVwZGF0ZXNEaXNhYmxlZCgpIGNvbnN0
Cit7CisgICAgVGVzdFJ1bm5lcldLV2ViVmlldyAqd2ViVmlldyA9IFRlc3RDb250cm9sbGVyOjpz
aW5nbGV0b24oKS5tYWluV2ViVmlldygpLT5wbGF0Zm9ybVZpZXcoKTsKKyAgICByZXR1cm4gd2Vi
Vmlldy5fc2Nyb2xsaW5nVXBkYXRlc0Rpc2FibGVkRm9yVGVzdGluZzsKK30KKwordm9pZCBVSVNj
cmlwdENvbnRyb2xsZXI6OnNldFNjcm9sbFVwZGF0ZXNEaXNhYmxlZChib29sIGRpc2FibGVkKQor
eworICAgIFRlc3RSdW5uZXJXS1dlYlZpZXcgKndlYlZpZXcgPSBUZXN0Q29udHJvbGxlcjo6c2lu
Z2xldG9uKCkubWFpbldlYlZpZXcoKS0+cGxhdGZvcm1WaWV3KCk7CisgICAgd2ViVmlldy5fc2Ny
b2xsaW5nVXBkYXRlc0Rpc2FibGVkRm9yVGVzdGluZyA9IGRpc2FibGVkOworfQorCiB2b2lkIFVJ
U2NyaXB0Q29udHJvbGxlcjo6c2Nyb2xsVG9PZmZzZXQobG9uZyB4LCBsb25nIHkpCiB7CiAgICAg
VGVzdFJ1bm5lcldLV2ViVmlldyAqd2ViVmlldyA9IFRlc3RDb250cm9sbGVyOjpzaW5nbGV0b24o
KS5tYWluV2ViVmlldygpLT5wbGF0Zm9ybVZpZXcoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA0MjkzMWZhNzVjMDY0ZDc4
ODg0ZDFjZjIyMmEyN2ZjNTM0ODhjZTRkLi4wYTNiMjk2NDMxZDE5N2ZjMWI3MjQxZmM1OGI4NTQ4
NjZjMGRmNzlkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMTktMDMtMTQgIFNpbW9uIEZyYXNl
ciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBpdCBwb3NzaWJsZSB0
byB0ZXN0IHNjcm9sbGluZyB0cmVlIGxheWVyIG1hbmlwdWxhdGlvbiBtb3JlIGVhc2lseQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1NzgwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgVGltIEhvcnRvbi4KKworICAgICAgICBBZGQgYSBib29sZWFuIGF0
dHJpYnV0ZSAnc2Nyb2xsVXBkYXRlc0Rpc2FibGVkJyBvbiBVSVNjcmlwdENvbnRyb2xsZXIgdGhh
dAorICAgICAgICBjdXRzIG9mZiBjb21tdW5pY2F0aW9uIG9mIHNjcm9sbGluZyB0cmVlIHNjcm9s
bHMgYmFjayB0byB0aGUgd2ViIHByb2Nlc3MKKyAgICAgICAgKGluIFJlbW90ZVNjcm9sbGluZ0Nv
b3JkaW5hdG9yUHJveHk6OnNjcm9sbGluZ1RyZWVOb2RlRGlkU2Nyb2xsKCkpLiBUaGlzCisgICAg
ICAgIGFsbG93cyB0ZXN0cyB0byB0cmlnZ2VyIHNjcm9sbHMgd2hpY2ggcnVuIHRoZSBzY3JvbGxp
bmcgdHJlZSBsYXllciBwb3NpdGlvbmluZworICAgICAgICBsb2dpYywgYnV0IG5ldmVyIGdldCBh
bm90aGVyIGNvbW1pdCBmcm9tIHRoZSB3ZWIgcHJvY2VzcyB0aGF0IG1pZ2h0IG1hc2sKKyAgICAg
ICAgc2Nyb2xsaW5nIHRyZWUgYnVncy4KKyAgICAgICAgCisgICAgICAgIFdLV2ViVmlldydzIHRl
c3RpbmcgcHJvdG9jb2wgZ2V0IEBwcm9wZXJ0eSBfc2Nyb2xsaW5nVXBkYXRlc0Rpc2FibGVkRm9y
VGVzdGluZywKKyAgICAgICAgd2hvc2UgZ2V0dGVycyBhbmQgc2V0dGVycyBhcmUgb3ZlcnJpZGRl
biBieSBUZXN0UnVubmVyV0tXZWJWaWV3LiBQbHVtYmluZworICAgICAgICB2aWEgUGFnZUNsaWVu
dCBhbmQgV2ViUGFnZVByb3h5IG1ha2VzIHRoaXMgZmxhZyByZWFjaGFibGUgYnkgUmVtb3RlU2Ny
b2xsaW5nQ29vcmRpbmF0b3JQcm94eS4KKworICAgICAgICAqIHJlc291cmNlcy91aS1oZWxwZXIu
anM6IFNvbWUgJ2FzeW5jJyBmdW5jdGlvbnMgdGhhdCBhd2FpdGVkIHByb21pc2VzIHNob3VsZCBq
dXN0IHJldHVybgorICAgICAgICB0aGUgcHJvbWlzZS4KKyAgICAgICAgKHdpbmRvdy5VSUhlbHBl
ci5pbW1lZGlhdGVTY3JvbGxUbyk6CisgICAgICAgICh3aW5kb3cuVUlIZWxwZXIuaW1tZWRpYXRl
VW5zdGFibGVTY3JvbGxUbyk6CisgICAgICAgICh3aW5kb3cuVUlIZWxwZXIuYXN5bmMuZGVsYXlG
b3IpOiBEZWxldGVkLgorICAgICAgICAod2luZG93LlVJSGVscGVyLmFzeW5jLmltbWVkaWF0ZVNj
cm9sbFRvKTogRGVsZXRlZC4KKyAgICAgICAgKHdpbmRvdy5VSUhlbHBlci5hc3luYy5pbW1lZGlh
dGVVbnN0YWJsZVNjcm9sbFRvKTogRGVsZXRlZC4KKwogMjAxOS0wMy0xMyAgU2ltb24gRnJhc2Vy
ICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBTY3JvbGxpbmcgdHJlZSBzaG91
bGQgcmVwb3NpdGlvbiBub24tc3RhY2tpbmcgb3JkZXIgZGVzY2VuZGVudHMgb2Ygb3ZlcmZsb3c6
c2Nyb2xsCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9yZXNvdXJjZXMvdWktaGVscGVyLmpzIGIv
TGF5b3V0VGVzdHMvcmVzb3VyY2VzL3VpLWhlbHBlci5qcwppbmRleCA5YWY1MDY3MmEzYTgyNjE4
YzU0NzAyNzZmNDRjMDA3OGFhYTFjZjFmLi5lNDA5MzMwMGY4NzBmMmRmNDk1MjhjMmFiYjc0Mjcw
Y2Q2MDJhNDI3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9yZXNvdXJjZXMvdWktaGVscGVyLmpz
CisrKyBiL0xheW91dFRlc3RzL3Jlc291cmNlcy91aS1oZWxwZXIuanMKQEAgLTIyMiwzMiArMjIy
LDMyIEBAIHdpbmRvdy5VSUhlbHBlciA9IGNsYXNzIFVJSGVscGVyIHsKICAgICAgICAgfSk7CiAg
ICAgfQogCi0gICAgc3RhdGljIGFzeW5jIGRlbGF5Rm9yKG1zKQorICAgIHN0YXRpYyBkZWxheUZv
cihtcykKICAgICB7CiAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHNldFRp
bWVvdXQocmVzb2x2ZSwgbXMpKTsKICAgICB9CiAgICAgCi0gICAgc3RhdGljIGFzeW5jIGltbWVk
aWF0ZVNjcm9sbFRvKHgsIHkpCisgICAgc3RhdGljIGltbWVkaWF0ZVNjcm9sbFRvKHgsIHkpCiAg
ICAgewogICAgICAgICBpZiAoIXRoaXMuaXNXZWJLaXQyKCkpIHsKICAgICAgICAgICAgIHdpbmRv
dy5zY3JvbGxUbyh4LCB5KTsKICAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTsK
ICAgICAgICAgfQogCi0gICAgICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAg
ICAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CiAgICAgICAgICAgICB0ZXN0UnVu
bmVyLnJ1blVJU2NyaXB0KGAKICAgICAgICAgICAgICAgICB1aUNvbnRyb2xsZXIuaW1tZWRpYXRl
U2Nyb2xsVG9PZmZzZXQoJHt4fSwgJHt5fSk7YCwgcmVzb2x2ZSk7CiAgICAgICAgIH0pOwogICAg
IH0KIAotICAgIHN0YXRpYyBhc3luYyBpbW1lZGlhdGVVbnN0YWJsZVNjcm9sbFRvKHgsIHkpCisg
ICAgc3RhdGljIGltbWVkaWF0ZVVuc3RhYmxlU2Nyb2xsVG8oeCwgeSkKICAgICB7CiAgICAgICAg
IGlmICghdGhpcy5pc1dlYktpdDIoKSkgewogICAgICAgICAgICAgd2luZG93LnNjcm9sbFRvKHgs
IHkpOwogICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpOwogICAgICAgICB9CiAK
LSAgICAgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgICAgIHJldHVybiBu
ZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKICAgICAgICAgICAgIHRlc3RSdW5uZXIucnVuVUlTY3Jp
cHQoYAogICAgICAgICAgICAgICAgIHVpQ29udHJvbGxlci5zdGFibGVTdGF0ZU92ZXJyaWRlID0g
ZmFsc2U7CiAgICAgICAgICAgICAgICAgdWlDb250cm9sbGVyLmltbWVkaWF0ZVNjcm9sbFRvT2Zm
c2V0KCR7eH0sICR7eX0pO2AsIHJlc29sdmUpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>