<?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>149426</bug_id>
          
          <creation_ts>2015-09-21 15:43:51 -0700</creation_ts>
          <short_desc>[Win] Show tiled drawing debug overlay on Windows</short_desc>
          <delta_ts>2015-09-21 17:07:57 -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>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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brent Fulgham">bfulgham</reporter>
          <assigned_to name="Brent Fulgham">bfulgham</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1127792</commentid>
    <comment_count>0</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-09-21 15:43:51 -0700</bug_when>
    <thetext>Add a debug menu option to MiniBrowser to activate the tiled drawing debug overlay. This will only be visible when the page is in accelerated compositing mode.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1127802</commentid>
    <comment_count>1</comment_count>
      <attachid>261697</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-09-21 16:03:58 -0700</bug_when>
    <thetext>Created attachment 261697
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1127805</commentid>
    <comment_count>2</comment_count>
      <attachid>261697</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2015-09-21 16:10:57 -0700</bug_when>
    <thetext>Comment on attachment 261697
Patch

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

&gt; Source/WebCore/platform/graphics/ca/PlatformCALayer.cpp:99
&gt; +void PlatformCALayer::drawTextAtPoint(CGContextRef context, CGFloat x, CGFloat y, CGPoint scale, CGFloat fontSize, const char* text, size_t length) const

Shouldn&apos;t a scale be a CGSize?

&gt; Source/WebCore/platform/graphics/ca/win/CACFLayerTreeHost.cpp:125
&gt;  CACFLayerTreeHost::CACFLayerTreeHost()
&gt; -    : m_client(0)
&gt; -    , m_rootLayer(PlatformCALayerWin::create(PlatformCALayer::LayerTypeRootLayer, 0))
&gt; -    , m_window(0)
&gt; -    , m_shouldFlushPendingGraphicsLayerChanges(false)
&gt; -    , m_isFlushingLayerChanges(false)
&gt; -#if !ASSERT_DISABLED
&gt; -    , m_state(WindowNotSet)
&gt; -#endif
&gt; +    : m_rootLayer(PlatformCALayerWin::create(PlatformCALayer::LayerTypeRootLayer, nullptr))

Nice!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1127839</commentid>
    <comment_count>3</comment_count>
      <attachid>261697</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-09-21 16:50:27 -0700</bug_when>
    <thetext>Comment on attachment 261697
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/ca/PlatformCALayer.cpp:99
&gt;&gt; +void PlatformCALayer::drawTextAtPoint(CGContextRef context, CGFloat x, CGFloat y, CGPoint scale, CGFloat fontSize, const char* text, size_t length) const
&gt; 
&gt; Shouldn&apos;t a scale be a CGSize?

Sure! I&apos;ll change to that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1127845</commentid>
    <comment_count>4</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-09-21 17:07:57 -0700</bug_when>
    <thetext>Committed r190091: &lt;http://trac.webkit.org/changeset/190091&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261697</attachid>
            <date>2015-09-21 16:03:58 -0700</date>
            <delta_ts>2015-09-21 16:10:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149426-20150921162010.patch</filename>
            <type>text/plain</type>
            <size>23749</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5MDA4NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM0IEBACisyMDE1LTA5LTIxICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIFtXaW5dIFNob3cgdGlsZWQg
ZHJhd2luZyBkZWJ1ZyBvdmVybGF5IG9uIFdpbmRvd3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0OTQyNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0czogTm8gY2hhbmdlIGluIGJlaGF2
aW9yLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvUGxhdGZvcm1DQUxheWVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtQ0FMYXllcjo6ZHJhd1JlcGFpbnRJbmRpY2F0
b3IpOiBSZXZpc2Ugc2lnbmF0dXJlIHRvIGFjY2VwdAorICAgICAgICBhIHNjYWxlIHZhbHVlIGFu
ZCBhIGZvbnQgc2l6ZS4KKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtQ0FMYXllcjo6ZHJhd1Rl
eHRBdFBvaW50KTogUmV2aXNlIHNpZ25hdHVyZSBmb3IgbmV3IGFyZ3VtZW50cy4KKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9QbGF0Zm9ybUNBTGF5ZXIuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9jYS9UaWxlR3JpZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUaWxlR3Jp
ZDo6ZHJhd1RpbGVNYXBDb250ZW50cyk6IFJlbW92aW5nIHNjYWxpbmcgYW5kIHRleHQgZHJhd2lu
ZyBjb2RlLAorICAgICAgICBhbmQgY2FsbCBjb21tb24gQ0FMYXllciBkcmF3aW5nIHJvdXRpbmUu
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2Evd2luL0NBQ0ZMYXllclRyZWVIb3N0LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkNBQ0ZMYXllclRyZWVIb3N0OjpjcmVhdGUpOiBTd2l0Y2gg
dG8gbnVsbHB0ci4KKyAgICAgICAgKFdlYkNvcmU6OkNBQ0ZMYXllclRyZWVIb3N0OjpDQUNGTGF5
ZXJUcmVlSG9zdCk6IFN3aXRjaCB0byBDKysxNCBpbml0aWFsaXplcnMuCisgICAgICAgIChXZWJD
b3JlOjpDQUNGTGF5ZXJUcmVlSG9zdDo6c2V0UGFnZSk6IEFkZGVkLgorICAgICAgICAoV2ViQ29y
ZTo6Q0FDRkxheWVyVHJlZUhvc3Q6OnJvb3RMYXllcik6IFVwZGF0ZSBkZWJ1ZyBpbmZvIGxheWVy
IGlmIHJlcXVlc3RlZCBieSBzZXR0aW5ncy4KKyAgICAgICAgKFdlYkNvcmU6OkNBQ0ZMYXllclRy
ZWVIb3N0OjpsYXllclRyZWVEaWRDaGFuZ2UpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkNB
Q0ZMYXllclRyZWVIb3N0OjptYWluRnJhbWVUaWxlZEJhY2tpbmcpOiBBZGRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OkNBQ0ZMYXllclRyZWVIb3N0Ojp1cGRhdGVEYnVnSW5mb0xheWVyKTogQWRkZWQu
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2Evd2luL0NBQ0ZMYXllclRyZWVIb3N0Lmg6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2Evd2luL1BsYXRmb3JtQ0FMYXllcldpbi5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNBTGF5ZXJXaW46OmRyYXdUZXh0QXRQb2lu
dCk6IFJldmlzZWQgc2lnbmF0dXJlIGZvciBuZXcgYXJndW1lbnRzLiBVc2UKKyAgICAgICAgYXJn
dW1lbnQgZm9yIGZvbnQgc2l6ZSAocmF0aGVyIHRoYW4gaGFyZC1jb2RlZCAnMTgnKS4gQWRqdXN0
IGZvbnQgc2l6ZSBieSBwYXNzZWQgc2NhbGUgdmFsdWUuCisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvY2Evd2luL1BsYXRmb3JtQ0FMYXllcldpbi5oOgorCiAyMDE1LTA5LTIxICBDaHJpcyBE
dW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgW0pTIEJpbmRpbmdzXSBwcm90b3R5
cGUuY29uc3RydWN0b3Igc2hvdWxkIGJlIHdyaXRhYmxlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jYS9QbGF0Zm9ybUNBTGF5ZXIuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1BsYXRmb3JtQ0FMYXllci5jcHAJKHJl
dmlzaW9uIDE4OTk4NSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1Bs
YXRmb3JtQ0FMYXllci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTgzLDcgKzgzLDcgQEAgdm9pZCBQ
bGF0Zm9ybUNBTGF5ZXI6OmRyYXdSZXBhaW50SW5kaWNhdAogICAgIGVsc2UKICAgICAgICAgQ0dD
b250ZXh0U2V0UkdCRmlsbENvbG9yKGNvbnRleHQsIDEsIDEsIDEsIDEpOwogICAgIAotICAgIHBs
YXRmb3JtQ0FMYXllci0+ZHJhd1RleHRBdFBvaW50KGNvbnRleHQsIGluZGljYXRvckJveC5vcmln
aW4ueCArIDUsIGluZGljYXRvckJveC5vcmlnaW4ueSArIDIyLCB0ZXh0LCBzdHJsZW4odGV4dCkp
OworICAgIHBsYXRmb3JtQ0FMYXllci0+ZHJhd1RleHRBdFBvaW50KGNvbnRleHQsIGluZGljYXRv
ckJveC5vcmlnaW4ueCArIDUsIGluZGljYXRvckJveC5vcmlnaW4ueSArIDIyLCBDR1BvaW50TWFr
ZSgxLCAtMSksIDIyLCB0ZXh0LCBzdHJsZW4odGV4dCkpOwogICAgIAogICAgIENHQ29udGV4dEVu
ZFRyYW5zcGFyZW5jeUxheWVyKGNvbnRleHQpOwogICAgIENHQ29udGV4dFJlc3RvcmVHU3RhdGUo
Y29udGV4dCk7CkBAIC05NiwxMiArOTYsMTIgQEAgdm9pZCBQbGF0Zm9ybUNBTGF5ZXI6OmZsaXBD
b250ZXh0KENHQ29udAogfQogCiAvLyBUaGlzIGZ1bmN0aW9uIGlzIG5lZWRlZCB0byB3b3JrIGFy
b3VuZCBhIGJ1ZyBpbiBXaW5kb3dzIENHIDxyZGFyOi8vcHJvYmxlbS8yMjcwMzQ3MD4KLXZvaWQg
UGxhdGZvcm1DQUxheWVyOjpkcmF3VGV4dEF0UG9pbnQoQ0dDb250ZXh0UmVmIGNvbnRleHQsIENH
RmxvYXQgeCwgQ0dGbG9hdCB5LCBjb25zdCBjaGFyKiB0ZXh0LCBzaXplX3QgbGVuZ3RoKSBjb25z
dAordm9pZCBQbGF0Zm9ybUNBTGF5ZXI6OmRyYXdUZXh0QXRQb2ludChDR0NvbnRleHRSZWYgY29u
dGV4dCwgQ0dGbG9hdCB4LCBDR0Zsb2F0IHksIENHUG9pbnQgc2NhbGUsIENHRmxvYXQgZm9udFNp
emUsIGNvbnN0IGNoYXIqIHRleHQsIHNpemVfdCBsZW5ndGgpIGNvbnN0CiB7CiAjcHJhZ21hIGNs
YW5nIGRpYWdub3N0aWMgcHVzaAogI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgIi1X
ZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnMiCi0gICAgQ0dDb250ZXh0U2V0VGV4dE1hdHJpeChjb250
ZXh0LCBDR0FmZmluZVRyYW5zZm9ybU1ha2VTY2FsZSgxLCAtMSkpOwotICAgIENHQ29udGV4dFNl
bGVjdEZvbnQoY29udGV4dCwgIkhlbHZldGljYSIsIDIyLCBrQ0dFbmNvZGluZ01hY1JvbWFuKTsK
KyAgICBDR0NvbnRleHRTZXRUZXh0TWF0cml4KGNvbnRleHQsIENHQWZmaW5lVHJhbnNmb3JtTWFr
ZVNjYWxlKHNjYWxlLngsIHNjYWxlLnkpKTsKKyAgICBDR0NvbnRleHRTZWxlY3RGb250KGNvbnRl
eHQsICJIZWx2ZXRpY2EiLCBmb250U2l6ZSwga0NHRW5jb2RpbmdNYWNSb21hbik7CiAgICAgQ0dD
b250ZXh0U2hvd1RleHRBdFBvaW50KGNvbnRleHQsIHgsIHksIHRleHQsIGxlbmd0aCk7CiAjcHJh
Z21hIGNsYW5nIGRpYWdub3N0aWMgcG9wCiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jYS9QbGF0Zm9ybUNBTGF5ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9QbGF0Zm9ybUNBTGF5ZXIuaAkocmV2aXNpb24gMTg5
OTg1KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvUGxhdGZvcm1DQUxh
eWVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTIyNiw3ICsyMjYsNyBAQCBwdWJsaWM6CiAKICAgICB2
aXJ0dWFsIFRpbGVkQmFja2luZyogdGlsZWRCYWNraW5nKCkgPSAwOwogCi0gICAgdmlydHVhbCB2
b2lkIGRyYXdUZXh0QXRQb2ludChDR0NvbnRleHRSZWYsIENHRmxvYXQgeCwgQ0dGbG9hdCB5LCBj
b25zdCBjaGFyKiB0ZXh0LCBzaXplX3QgbGVuZ3RoKSBjb25zdDsKKyAgICB2aXJ0dWFsIHZvaWQg
ZHJhd1RleHRBdFBvaW50KENHQ29udGV4dFJlZiwgQ0dGbG9hdCB4LCBDR0Zsb2F0IHksIENHUG9p
bnQgc2NhbGUsIENHRmxvYXQgZm9udFNpemUsIGNvbnN0IGNoYXIqIHRleHQsIHNpemVfdCBsZW5n
dGgpIGNvbnN0OwogCiAgICAgc3RhdGljIHZvaWQgZmxpcENvbnRleHQoQ0dDb250ZXh0UmVmLCBD
R0Zsb2F0IGhlaWdodCk7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NhL1RpbGVHcmlkLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jYS9UaWxlR3JpZC5jcHAJKHJldmlzaW9uIDE4OTk4NSkKKysrIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVHcmlkLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NjQyLDEzICs2NDIsOSBAQCB2b2lkIFRpbGVHcmlkOjpkcmF3VGlsZU1hcENvbnRlbnRzKENHQ29u
CiAgICAgICAgIFN0cmluZyByZXBhaW50Q291bnQgPSBTdHJpbmc6Om51bWJlcihtX3RpbGVSZXBh
aW50Q291bnRzLmdldCh0aWxlTGF5ZXIpKTsKIAogICAgICAgICBDR0NvbnRleHRTYXZlR1N0YXRl
KGNvbnRleHQpOwotICAgICAgICBDR0NvbnRleHRTZXRUZXh0TWF0cml4KGNvbnRleHQsIENHQWZm
aW5lVHJhbnNmb3JtTWFrZVNjYWxlKDMsIC0zKSk7CiAKLSNwcmFnbWEgY2xhbmcgZGlhZ25vc3Rp
YyBwdXNoCi0jcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgaWdub3JlZCAiLVdkZXByZWNhdGVkLWRl
Y2xhcmF0aW9ucyIKLSAgICAgICAgQ0dDb250ZXh0U2VsZWN0Rm9udChjb250ZXh0LCAiSGVsdmV0
aWNhIiwgNTgsIGtDR0VuY29kaW5nTWFjUm9tYW4pOwotICAgICAgICBDR0NvbnRleHRTaG93VGV4
dEF0UG9pbnQoY29udGV4dCwgZnJhbWUub3JpZ2luLnggKyA2NCwgZnJhbWUub3JpZ2luLnkgKyAx
OTIsIHJlcGFpbnRDb3VudC5hc2NpaSgpLmRhdGEoKSwgcmVwYWludENvdW50Lmxlbmd0aCgpKTsK
LSNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBwb3AKKyAgICAgICAgdGlsZUxheWVyLT5kcmF3VGV4
dEF0UG9pbnQoY29udGV4dCwgZnJhbWUub3JpZ2luLnggKyA2NCwgZnJhbWUub3JpZ2luLnkgKyAx
OTIsIENHUG9pbnRNYWtlKDMsIC0zKSwgNTgsCisgICAgICAgICAgICByZXBhaW50Q291bnQuYXNj
aWkoKS5kYXRhKCksIHJlcGFpbnRDb3VudC5sZW5ndGgoKSk7CiAKICAgICAgICAgQ0dDb250ZXh0
UmVzdG9yZUdTdGF0ZShjb250ZXh0KTsKICAgICB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jYS93aW4vQ0FDRkxheWVyVHJlZUhvc3QuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL3dpbi9DQUNGTGF5ZXJUcmVlSG9z
dC5jcHAJKHJldmlzaW9uIDE4OTk4NSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NhL3dpbi9DQUNGTGF5ZXJUcmVlSG9zdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3LDkg
KzI3LDE0IEBACiAjaW5jbHVkZSAiQ0FDRkxheWVyVHJlZUhvc3QuaCIKIAogI2luY2x1ZGUgIkNB
Q0ZMYXllclRyZWVIb3N0Q2xpZW50LmgiCisjaW5jbHVkZSAiRGVidWdQYWdlT3ZlcmxheXMuaCIK
ICNpbmNsdWRlICJEZWZXbmRQcm9jV2luZG93Q2xhc3MuaCIKKyNpbmNsdWRlICJGcmFtZVZpZXcu
aCIKICNpbmNsdWRlICJMYXllckNoYW5nZXNGbHVzaGVyLmgiCisjaW5jbHVkZSAiTWFpbkZyYW1l
LmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1DQUxheWVyV2luLmgiCisjaW5jbHVkZSAiUGxhdGZvcm1M
YXllci5oIgorI2luY2x1ZGUgIlRpbGVkQmFja2luZy5oIgogI2luY2x1ZGUgIldLQ0FDRlZpZXdM
YXllclRyZWVIb3N0LmgiCiAjaW5jbHVkZSAiV2ViQ29yZUluc3RhbmNlSGFuZGxlLmgiCiAjaW5j
bHVkZSA8bGltaXRzLmg+CkBAIC0xMTAsMjEgKzExNSwxNCBAQCBib29sIENBQ0ZMYXllclRyZWVI
b3N0OjphY2NlbGVyYXRlZENvbXBvCiBQYXNzUmVmUHRyPENBQ0ZMYXllclRyZWVIb3N0PiBDQUNG
TGF5ZXJUcmVlSG9zdDo6Y3JlYXRlKCkKIHsKICAgICBpZiAoIWFjY2VsZXJhdGVkQ29tcG9zaXRp
bmdBdmFpbGFibGUoKSkKLSAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVybiBudWxscHRy
OwogICAgIFJlZlB0cjxDQUNGTGF5ZXJUcmVlSG9zdD4gaG9zdCA9IFdLQ0FDRlZpZXdMYXllclRy
ZWVIb3N0OjpjcmVhdGUoKTsKICAgICBob3N0LT5pbml0aWFsaXplKCk7CiAgICAgcmV0dXJuIGhv
c3QucmVsZWFzZSgpOwogfQogCiBDQUNGTGF5ZXJUcmVlSG9zdDo6Q0FDRkxheWVyVHJlZUhvc3Qo
KQotICAgIDogbV9jbGllbnQoMCkKLSAgICAsIG1fcm9vdExheWVyKFBsYXRmb3JtQ0FMYXllcldp
bjo6Y3JlYXRlKFBsYXRmb3JtQ0FMYXllcjo6TGF5ZXJUeXBlUm9vdExheWVyLCAwKSkKLSAgICAs
IG1fd2luZG93KDApCi0gICAgLCBtX3Nob3VsZEZsdXNoUGVuZGluZ0dyYXBoaWNzTGF5ZXJDaGFu
Z2VzKGZhbHNlKQotICAgICwgbV9pc0ZsdXNoaW5nTGF5ZXJDaGFuZ2VzKGZhbHNlKQotI2lmICFB
U1NFUlRfRElTQUJMRUQKLSAgICAsIG1fc3RhdGUoV2luZG93Tm90U2V0KQotI2VuZGlmCisgICAg
OiBtX3Jvb3RMYXllcihQbGF0Zm9ybUNBTGF5ZXJXaW46OmNyZWF0ZShQbGF0Zm9ybUNBTGF5ZXI6
OkxheWVyVHlwZVJvb3RMYXllciwgbnVsbHB0cikpCiB7CiB9CiAKQEAgLTE4Nyw2ICsxODUsMTEg
QEAgdm9pZCBDQUNGTGF5ZXJUcmVlSG9zdDo6c2V0V2luZG93KEhXTkQgdwogICAgIG1fd2luZG93
ID0gd2luZG93OwogfQogCit2b2lkIENBQ0ZMYXllclRyZWVIb3N0OjpzZXRQYWdlKFBhZ2UqIHBh
Z2UpCit7CisgICAgbV9wYWdlID0gcGFnZTsKK30KKwogUGxhdGZvcm1DQUxheWVyKiBDQUNGTGF5
ZXJUcmVlSG9zdDo6cm9vdExheWVyKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9yb290TGF5ZXIu
Z2V0KCk7CkBAIC0yMDMsNiArMjA2LDcgQEAgdm9pZCBDQUNGTGF5ZXJUcmVlSG9zdDo6c2V0Um9v
dENoaWxkTGF5ZQogICAgIG1fcm9vdENoaWxkTGF5ZXIgPSBsYXllcjsKICAgICBpZiAobV9yb290
Q2hpbGRMYXllcikKICAgICAgICAgbV9yb290TGF5ZXItPmFwcGVuZFN1YmxheWVyKCptX3Jvb3RD
aGlsZExheWVyKTsKKyAgICB1cGRhdGVEZWJ1Z0luZm9MYXllcihtX3BhZ2UtPnNldHRpbmdzKCku
c2hvd1RpbGVkU2Nyb2xsaW5nSW5kaWNhdG9yKCkpOwogfQogICAgCiB2b2lkIENBQ0ZMYXllclRy
ZWVIb3N0OjpsYXllclRyZWVEaWRDaGFuZ2UoKQpAQCAtMjc5LDYgKzI4Myw4IEBAIHZvaWQgQ0FD
RkxheWVyVHJlZUhvc3Q6OmZsdXNoUGVuZGluZ0xheWUKICAgICAvLyBDYWxsaW5nIG91dCB0byB0
aGUgY2xpZW50IGNvdWxkIGNhdXNlIG91ciBsYXN0IHJlZmVyZW5jZSB0byBnbyBhd2F5LgogICAg
IFJlZlB0cjxDQUNGTGF5ZXJUcmVlSG9zdD4gcHJvdGVjdG9yKHRoaXMpOwogCisgICAgdXBkYXRl
RGVidWdJbmZvTGF5ZXIobV9wYWdlLT5zZXR0aW5ncygpLnNob3dUaWxlZFNjcm9sbGluZ0luZGlj
YXRvcigpKTsKKwogICAgIG1faXNGbHVzaGluZ0xheWVyQ2hhbmdlcyA9IHRydWU7CiAKICAgICAv
LyBGbHVzaCBjaGFuZ2VzIHN0b3JlZCB1cCBpbiBHcmFwaGljc0xheWVycyB0byB0aGVpciB1bmRl
cmx5aW5nIFBsYXRmb3JtQ0FMYXllcnMsIGlmCkBAIC0zMzAsNCArMzM2LDM2IEBAIFN0cmluZyBD
QUNGTGF5ZXJUcmVlSG9zdDo6bGF5ZXJUcmVlQXNTdHIKICAgICByZXR1cm4gbV9yb290TGF5ZXIt
PmxheWVyVHJlZUFzU3RyaW5nKCk7CiB9CiAKK1RpbGVkQmFja2luZyogQ0FDRkxheWVyVHJlZUhv
c3Q6Om1haW5GcmFtZVRpbGVkQmFja2luZygpIGNvbnN0Cit7CisgICAgaWYgKCFtX3BhZ2UpCisg
ICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgRnJhbWVWaWV3KiBmcmFtZVZpZXcgPSBtX3Bh
Z2UtPm1haW5GcmFtZSgpLnZpZXcoKTsKKyAgICBpZiAoIWZyYW1lVmlldykKKyAgICAgICAgcmV0
dXJuIG51bGxwdHI7CisgICAgCisgICAgcmV0dXJuIGZyYW1lVmlldy0+dGlsZWRCYWNraW5nKCk7
Cit9CisKK3ZvaWQgQ0FDRkxheWVyVHJlZUhvc3Q6OnVwZGF0ZURlYnVnSW5mb0xheWVyKGJvb2wg
c2hvd0xheWVyKQoreworICAgIGlmIChzaG93TGF5ZXIpIHsKKyAgICAgICAgaWYgKCFtX2RlYnVn
SW5mb0xheWVyKSB7CisgICAgICAgICAgICBpZiAoVGlsZWRCYWNraW5nKiB0aWxlZEJhY2tpbmcg
PSBtYWluRnJhbWVUaWxlZEJhY2tpbmcoKSkKKyAgICAgICAgICAgICAgICBtX2RlYnVnSW5mb0xh
eWVyID0gdGlsZWRCYWNraW5nLT50aWxlZFNjcm9sbGluZ0luZGljYXRvckxheWVyKCk7CisgICAg
ICAgIH0KKworICAgICAgICBpZiAobV9kZWJ1Z0luZm9MYXllcikgeworI2lmbmRlZiBOREVCVUcK
KyAgICAgICAgICAgIG1fZGVidWdJbmZvTGF5ZXItPnNldE5hbWUoIkRlYnVnIEluZm8iKTsKKyNl
bmRpZgorICAgICAgICAgICAgbV9yb290TGF5ZXItPmFwcGVuZFN1YmxheWVyKCptX2RlYnVnSW5m
b0xheWVyKTsKKyAgICAgICAgfQorICAgIH0gZWxzZSBpZiAobV9kZWJ1Z0luZm9MYXllcikgewor
ICAgICAgICBtX2RlYnVnSW5mb0xheWVyLT5yZW1vdmVGcm9tU3VwZXJsYXllcigpOworICAgICAg
ICBtX2RlYnVnSW5mb0xheWVyID0gbnVsbHB0cjsKKyAgICB9Cit9CisKIH0KSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL3dpbi9DQUNGTGF5ZXJUcmVlSG9zdC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL3dpbi9DQUNG
TGF5ZXJUcmVlSG9zdC5oCShyZXZpc2lvbiAxODk5ODUpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jYS93aW4vQ0FDRkxheWVyVHJlZUhvc3QuaAkod29ya2luZyBjb3B5KQpA
QCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSAiQWJzdHJhY3RDQUNGTGF5ZXJUcmVlSG9zdC5o
IgogI2luY2x1ZGUgIkNPTVB0ci5oIgorI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJUaW1l
ci5oIgogCiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KQEAgLTUyLDYgKzUzLDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBjbGFzcyBDQUNGTGF5ZXJUcmVlSG9zdENsaWVudDsKIGNsYXNzIFBs
YXRmb3JtQ0FMYXllcjsKK2NsYXNzIFRpbGVkQmFja2luZzsKIAogY2xhc3MgQ0FDRkxheWVyVHJl
ZUhvc3QgOiBwdWJsaWMgUmVmQ291bnRlZDxDQUNGTGF5ZXJUcmVlSG9zdD4sIHByaXZhdGUgQWJz
dHJhY3RDQUNGTGF5ZXJUcmVlSG9zdCB7CiBwdWJsaWM6CkBAIC02NCw2ICs2Niw3IEBAIHB1Ymxp
YzoKIAogICAgIHZvaWQgc2V0Um9vdENoaWxkTGF5ZXIoUGxhdGZvcm1DQUxheWVyKik7CiAgICAg
dm9pZCBzZXRXaW5kb3coSFdORCk7CisgICAgdm9pZCBzZXRQYWdlKFBhZ2UqKTsKICAgICB2aXJ0
dWFsIHZvaWQgcGFpbnQoKTsKICAgICB2aXJ0dWFsIHZvaWQgcmVzaXplKCkgPSAwOwogICAgIHZv
aWQgZmx1c2hQZW5kaW5nR3JhcGhpY3NMYXllckNoYW5nZXNTb29uKCk7CkBAIC03OCw2ICs4MSw3
IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZmx1c2hQZW5kaW5nTGF5ZXJDaGFuZ2VzTm93
KCk7CiAKICAgICBTdHJpbmcgbGF5ZXJUcmVlQXNTdHJpbmcoKSBjb25zdDsKKyAgICB2b2lkIHVw
ZGF0ZURlYnVnSW5mb0xheWVyKGJvb2wpOwogCiBwcm90ZWN0ZWQ6CiAgICAgQ0FDRkxheWVyVHJl
ZUhvc3QoKTsKQEAgLTg2LDYgKzkwLDggQEAgcHJvdGVjdGVkOgogICAgIEhXTkQgd2luZG93KCkg
Y29uc3QgeyByZXR1cm4gbV93aW5kb3c7IH0KICAgICB2b2lkIG5vdGlmeUFuaW1hdGlvbnNTdGFy
dGVkKCk7CiAKKyAgICBUaWxlZEJhY2tpbmcqIG1haW5GcmFtZVRpbGVkQmFja2luZygpIGNvbnN0
OworCiAgICAgLy8gQWJzdHJhY3RDQUNGTGF5ZXJUcmVlSG9zdAogICAgIHZpcnR1YWwgUGxhdGZv
cm1DQUxheWVyKiByb290TGF5ZXIoKSBjb25zdDsKIApAQCAtMTA1LDE2ICsxMTEsMTggQEAgcHJp
dmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgcmVuZGVyKGNvbnN0IFZlY3RvcjxDR1JlY3Q+JiBkaXJ0
eVJlY3RzID0gVmVjdG9yPENHUmVjdD4oKSkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBpbml0aWFs
aXplQ29udGV4dCh2b2lkKiB1c2VyRGF0YSwgUGxhdGZvcm1DQUxheWVyKikgPSAwOwogCi0gICAg
Q0FDRkxheWVyVHJlZUhvc3RDbGllbnQqIG1fY2xpZW50OworICAgIENBQ0ZMYXllclRyZWVIb3N0
Q2xpZW50KiBtX2NsaWVudCB7IG51bGxwdHIgfTsKKyAgICBQYWdlKiBtX3BhZ2UgeyBudWxscHRy
IH07CiAgICAgUmVmUHRyPFBsYXRmb3JtQ0FMYXllcj4gbV9yb290TGF5ZXI7CiAgICAgUmVmUHRy
PFBsYXRmb3JtQ0FMYXllcj4gbV9yb290Q2hpbGRMYXllcjsKKyAgICBSZWZQdHI8UGxhdGZvcm1D
QUxheWVyPiBtX2RlYnVnSW5mb0xheWVyOwogICAgIEhhc2hTZXQ8UmVmUHRyPFBsYXRmb3JtQ0FM
YXllcj4gPiBtX3BlbmRpbmdBbmltYXRlZExheWVyczsKLSAgICBIV05EIG1fd2luZG93OwotICAg
IGJvb2wgbV9zaG91bGRGbHVzaFBlbmRpbmdHcmFwaGljc0xheWVyQ2hhbmdlczsKLSAgICBib29s
IG1faXNGbHVzaGluZ0xheWVyQ2hhbmdlczsKKyAgICBIV05EIG1fd2luZG93IHsgbnVsbHB0ciB9
OworICAgIGJvb2wgbV9zaG91bGRGbHVzaFBlbmRpbmdHcmFwaGljc0xheWVyQ2hhbmdlcyB7IGZh
bHNlIH07CisgICAgYm9vbCBtX2lzRmx1c2hpbmdMYXllckNoYW5nZXMgeyBmYWxzZSB9OwogCiAj
aWYgIUFTU0VSVF9ESVNBQkxFRAotICAgIGVudW0geyBXaW5kb3dOb3RTZXQsIFdpbmRvd1NldCwg
V2luZG93Q2xlYXJlZCB9IG1fc3RhdGU7CisgICAgZW51bSB7IFdpbmRvd05vdFNldCwgV2luZG93
U2V0LCBXaW5kb3dDbGVhcmVkIH0gbV9zdGF0ZSB7IFdpbmRvd05vdFNldCB9OwogI2VuZGlmCiB9
OwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS93aW4vUGxhdGZv
cm1DQUxheWVyV2luLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jYS93aW4vUGxhdGZvcm1DQUxheWVyV2luLmNwcAkocmV2aXNpb24gMTg5OTg1KQor
KysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Evd2luL1BsYXRmb3JtQ0FMYXll
cldpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTg5OSw3ICs4OTksNyBAQCBUaWxlZEJhY2tpbmcq
IFBsYXRmb3JtQ0FMYXllcldpbjo6dGlsZWRCCiAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8
V2ViVGlsZWRCYWNraW5nTGF5ZXJXaW4qPihpbnRlcm4odGhpcykpLT50aWxlZEJhY2tpbmcoKTsK
IH0KIAotdm9pZCBQbGF0Zm9ybUNBTGF5ZXJXaW46OmRyYXdUZXh0QXRQb2ludChDR0NvbnRleHRS
ZWYgY29udGV4dCwgQ0dGbG9hdCB4LCBDR0Zsb2F0IHksIGNvbnN0IGNoYXIqIG1lc3NhZ2UsIHNp
emVfdCBsZW5ndGgpIGNvbnN0Cit2b2lkIFBsYXRmb3JtQ0FMYXllcldpbjo6ZHJhd1RleHRBdFBv
aW50KENHQ29udGV4dFJlZiBjb250ZXh0LCBDR0Zsb2F0IHgsIENHRmxvYXQgeSwgQ0dQb2ludCBz
Y2FsZSwgQ0dGbG9hdCBmb250U2l6ZSwgY29uc3QgY2hhciogbWVzc2FnZSwgc2l6ZV90IGxlbmd0
aCkgY29uc3QKIHsKICAgICBTdHJpbmcgdGV4dChtZXNzYWdlLCBsZW5ndGgpOwogCkBAIC05MTAs
NyArOTEwLDcgQEAgdm9pZCBQbGF0Zm9ybUNBTGF5ZXJXaW46OmRyYXdUZXh0QXRQb2ludAogICAg
IFN5c3RlbVBhcmFtZXRlcnNJbmZvKFNQSV9HRVROT05DTElFTlRNRVRSSUNTLCBtZXRyaWNzLmNi
U2l6ZSwgJm1ldHJpY3MsIDApOwogICAgIGRlc2Muc2V0T25lRmFtaWx5KG1ldHJpY3MubGZTbUNh
cHRpb25Gb250LmxmRmFjZU5hbWUpOwogCi0gICAgZGVzYy5zZXRDb21wdXRlZFNpemUoMTgpOwor
ICAgIGRlc2Muc2V0Q29tcHV0ZWRTaXplKHNjYWxlLnggKiBmb250U2l6ZSk7CiAKICAgICBGb250
Q2FzY2FkZSBmb250ID0gRm9udENhc2NhZGUoZGVzYywgMCwgMCk7CiAgICAgZm9udC51cGRhdGUo
bnVsbHB0cik7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS93aW4v
UGxhdGZvcm1DQUxheWVyV2luLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2Evd2luL1BsYXRmb3JtQ0FMYXllcldpbi5oCShyZXZpc2lvbiAxODk5ODUp
CisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS93aW4vUGxhdGZvcm1DQUxh
eWVyV2luLmgJKHdvcmtpbmcgY29weSkKQEAgLTE0OCw3ICsxNDgsNyBAQCBwdWJsaWM6CiAgICAg
dmlydHVhbCBQbGF0Zm9ybUNBTGF5ZXIqIHJvb3RMYXllcigpIGNvbnN0IG92ZXJyaWRlOwogICAg
IHZpcnR1YWwgdm9pZCBzZXROZWVkc0xheW91dCgpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9p
ZCBzZXROZWVkc0NvbW1pdCgpIG92ZXJyaWRlOwotICAgIHZpcnR1YWwgdm9pZCBkcmF3VGV4dEF0
UG9pbnQoQ0dDb250ZXh0UmVmLCBDR0Zsb2F0IHgsIENHRmxvYXQgeSwgY29uc3QgY2hhciogdGV4
dCwgc2l6ZV90IGxlbmd0aCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGRyYXdU
ZXh0QXRQb2ludChDR0NvbnRleHRSZWYsIENHRmxvYXQgeCwgQ0dGbG9hdCB5LCBDR1BvaW50IHNj
YWxlLCBDR0Zsb2F0IGZvbnRTaXplLCBjb25zdCBjaGFyKiB0ZXh0LCBzaXplX3QgbGVuZ3RoKSBj
b25zdCBvdmVycmlkZTsKIAogICAgIHZpcnR1YWwgU3RyaW5nIGxheWVyVHJlZUFzU3RyaW5nKCkg
Y29uc3Qgb3ZlcnJpZGU7CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5MDA4NikK
KysrIFNvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDIzIEBACisyMDE1LTA5LTIxICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgor
CisgICAgICAgIFtXaW5dIFNob3cgdGlsZWQgZHJhd2luZyBkZWJ1ZyBvdmVybGF5IG9uIFdpbmRv
d3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0OTQy
NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogSW50
ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbDogQWRkIG5ldyBJV2ViUHJlZmVyZW5j
ZXNQcml2YXRlMyBBUEkgdmVyc2lvbgorICAgICAgICBzbyB3ZSBjYW4gYWRkIG5ldyBtZXRob2Rz
IHRoaXMgY3ljbGUuCisgICAgICAgICogV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmg6IEFkZCBr
ZXkgZm9yICdXZWJLaXRTaG93VGlsZWRTY3JvbGxpbmdJbmRpY2F0b3InCisgICAgICAgICogV2Vi
UHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAoV2ViUHJlZmVyZW5jZXM6OlF1ZXJ5SW50ZXJmYWNl
KTogUmVjb2duaXplIHRoZSBuZXcgSVdlYlByZWZlcmVuY2VzUHJpdmF0ZTMgQVBJLgorICAgICAg
ICAoV2ViUHJlZmVyZW5jZXM6OnNob3dUaWxlZFNjcm9sbGluZ0luZGljYXRvcik6IEFkZGVkLgor
ICAgICAgICAoV2ViUHJlZmVyZW5jZXM6OnNldFNob3dUaWxlZFNjcm9sbGluZ0luZGljYXRvcik6
IERpdHRvLgorICAgICAgICAqIFdlYlByZWZlcmVuY2VzLmg6CisgICAgICAgICogV2ViVmlldy5j
cHA6CisgICAgICAgIChXZWJWaWV3Ojpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZWQpOiBVcGRhdGUg
dG8gcmVjb2duaXplICdzaG93VGlsZWRTY3JvbGxpbmdJbmRpY2F0b3InLgorICAgICAgICAoV2Vi
Vmlldzo6c2V0QWNjZWxlcmF0ZWRDb21wb3NpdGluZyk6IExpbmsgdGhlIENBQ0ZMYXllclRyZWVI
b3N0IHRvIHRoZSBXZWJDb3JlIFBhZ2Ugb2JqZWN0CisgICAgICAgIHNvIHRoYXQgaXQgY2FuIHNl
ZSBzZXR0aW5ncyBpbmZvcm1hdGlvbi4KKwogMjAxNS0wOS0xOCAgQnJlbnQgRnVsZ2hhbSAgPGJm
dWxnaGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2luXSBVc2UgdGlsZWQgZHJhd2luZyBmb3Ig
bWFpbiBiYWNrZ3JvdW5kIGxheWVyCkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbi9XZWJQcmVmZXJl
bmNlS2V5c1ByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9XZWJQcmVm
ZXJlbmNlS2V5c1ByaXZhdGUuaAkocmV2aXNpb24gMTg5OTg1KQorKysgU291cmNlL1dlYktpdC93
aW4vV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTE2NSwzICsx
NjUsNSBAQAogI2RlZmluZSBXZWJLaXRFbmFibGVJbmhlcml0VVJJUXVlcnlDb21wb25lbnRQcmVm
ZXJlbmNlS2V5ICJXZWJLaXRFbmFibGVJbmhlcml0VVJJUXVlcnlDb21wb25lbnQiCiAKICNkZWZp
bmUgV2ViS2l0QWxsb3dEaXNwbGF5QW5kUnVubmluZ09mSW5zZWN1cmVDb250ZW50UHJlZmVyZW5j
ZUtleSAiV2ViS2l0QWxsb3dEaXNwbGF5QW5kUnVubmluZ09mSW5zZWN1cmVDb250ZW50IgorCisj
ZGVmaW5lIFdlYktpdFNob3dUaWxlZFNjcm9sbGluZ0luZGljYXRvclByZWZlcmVuY2VLZXkgIldl
YktpdFNob3dUaWxlZFNjcm9sbGluZ0luZGljYXRvciIKSW5kZXg6IFNvdXJjZS9XZWJLaXQvd2lu
L1dlYlByZWZlcmVuY2VzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9XZWJQ
cmVmZXJlbmNlcy5jcHAJKHJldmlzaW9uIDE4OTk4NSkKKysrIFNvdXJjZS9XZWJLaXQvd2luL1dl
YlByZWZlcmVuY2VzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTMyLDYgKzUzMiw4IEBAIEhSRVNV
TFQgV2ViUHJlZmVyZW5jZXM6OlF1ZXJ5SW50ZXJmYWNlKF8KICAgICAgICAgKnBwdk9iamVjdCA9
IHN0YXRpY19jYXN0PElXZWJQcmVmZXJlbmNlc1ByaXZhdGUqPih0aGlzKTsKICAgICBlbHNlIGlm
IChJc0VxdWFsR1VJRChyaWlkLCBJSURfSVdlYlByZWZlcmVuY2VzUHJpdmF0ZTIpKQogICAgICAg
ICAqcHB2T2JqZWN0ID0gc3RhdGljX2Nhc3Q8SVdlYlByZWZlcmVuY2VzUHJpdmF0ZTIqPih0aGlz
KTsKKyAgICBlbHNlIGlmIChJc0VxdWFsR1VJRChyaWlkLCBJSURfSVdlYlByZWZlcmVuY2VzUHJp
dmF0ZTMpKQorICAgICAgICAqcHB2T2JqZWN0ID0gc3RhdGljX2Nhc3Q8SVdlYlByZWZlcmVuY2Vz
UHJpdmF0ZTMqPih0aGlzKTsKICAgICBlbHNlIGlmIChJc0VxdWFsR1VJRChyaWlkLCBDTFNJRF9X
ZWJQcmVmZXJlbmNlcykpCiAgICAgICAgICpwcHZPYmplY3QgPSB0aGlzOwogICAgIGVsc2UKQEAg
LTE5MDEsMyArMTkwMywxNyBAQCBIUkVTVUxUIFdlYlByZWZlcmVuY2VzOjpzZXRBbGxvd0Rpc3Bs
YXlBCiAgICAgc2V0Qm9vbFZhbHVlKFdlYktpdEFsbG93RGlzcGxheUFuZFJ1bm5pbmdPZkluc2Vj
dXJlQ29udGVudFByZWZlcmVuY2VLZXksIGVuYWJsZWQpOwogICAgIHJldHVybiBTX09LOwogfQor
CitIUkVTVUxUIFdlYlByZWZlcmVuY2VzOjpzaG93VGlsZWRTY3JvbGxpbmdJbmRpY2F0b3IoX091
dF8gQk9PTCogZW5hYmxlZCkKK3sKKyAgICBpZiAoIWVuYWJsZWQpCisgICAgICAgIHJldHVybiBF
X1BPSU5URVI7CisgICAgKmVuYWJsZWQgPSBib29sVmFsdWVGb3JLZXkoV2ViS2l0U2hvd1RpbGVk
U2Nyb2xsaW5nSW5kaWNhdG9yUHJlZmVyZW5jZUtleSk7CisgICAgcmV0dXJuIFNfT0s7Cit9CisK
K0hSRVNVTFQgV2ViUHJlZmVyZW5jZXM6OnNldFNob3dUaWxlZFNjcm9sbGluZ0luZGljYXRvcihC
T09MIGVuYWJsZWQpCit7CisgICAgc2V0Qm9vbFZhbHVlKFdlYktpdFNob3dUaWxlZFNjcm9sbGlu
Z0luZGljYXRvclByZWZlcmVuY2VLZXksIGVuYWJsZWQpOworICAgIHJldHVybiBTX09LOworfQpJ
bmRleDogU291cmNlL1dlYktpdC93aW4vV2ViUHJlZmVyZW5jZXMuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlcy5oCShyZXZpc2lvbiAxODk5ODUpCisrKyBT
b3VyY2UvV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3
ICszMSw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9CU3RyaW5nLmg+CiAjaW5jbHVkZSA8d3RmL1Jl
dGFpblB0ci5oPgogCi1jbGFzcyBXZWJQcmVmZXJlbmNlcyA6IHB1YmxpYyBJV2ViUHJlZmVyZW5j
ZXMsIHB1YmxpYyBJV2ViUHJlZmVyZW5jZXNQcml2YXRlMiB7CitjbGFzcyBXZWJQcmVmZXJlbmNl
cyA6IHB1YmxpYyBJV2ViUHJlZmVyZW5jZXMsIHB1YmxpYyBJV2ViUHJlZmVyZW5jZXNQcml2YXRl
MyB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFdlYlByZWZlcmVuY2VzKiBjcmVhdGVJbnN0YW5jZSgp
OwogcHJvdGVjdGVkOgpAQCAtMjMwLDYgKzIzMCwxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBI
UkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGFsbG93RGlzcGxheUFuZFJ1bm5pbmdPZkluc2VjdXJl
Q29udGVudChfT3V0XyBCT09MKik7CiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExU
WVBFIHNldEFsbG93RGlzcGxheUFuZFJ1bm5pbmdPZkluc2VjdXJlQ29udGVudChCT09MKTsKIAor
ICAgIC8vIElXZWJQcmVmZXJlbmNlc1ByaXZhdGUzCisgICAgdmlydHVhbCBIUkVTVUxUIFNURE1F
VEhPRENBTExUWVBFIHNob3dUaWxlZFNjcm9sbGluZ0luZGljYXRvcihfT3V0XyBCT09MKik7Cisg
ICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHNldFNob3dUaWxlZFNjcm9sbGlu
Z0luZGljYXRvcihCT09MKTsKKwogICAgIC8vIFdlYlByZWZlcmVuY2VzCiAKICAgICAvLyBUaGlz
IG1ldGhvZCBhY2Nlc3NlcyBhIGRpZmZlcmVudCBwcmVmZXJlbmNlIGtleSB0aGFuIGRldmVsb3Bl
ckV4dHJhc0VuYWJsZWQuCkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcAkocmV2aXNpb24gMTg5OTg1
KQorKysgU291cmNlL1dlYktpdC93aW4vV2ViVmlldy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ5
MzUsNyArNDkzNSw3IEBAIEhSRVNVTFQgV2ViVmlldzo6bm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2UK
ICAgICBzZXR0aW5ncy5zZXRTaG91bGREaXNwbGF5VGV4dERlc2NyaXB0aW9ucyhlbmFibGVkKTsK
ICNlbmRpZgogCi0gICAgQ09NUHRyPElXZWJQcmVmZXJlbmNlc1ByaXZhdGUyPiBwcmVmc1ByaXZh
dGUoUXVlcnksIHByZWZlcmVuY2VzKTsKKyAgICBDT01QdHI8SVdlYlByZWZlcmVuY2VzUHJpdmF0
ZTM+IHByZWZzUHJpdmF0ZShRdWVyeSwgcHJlZmVyZW5jZXMpOwogICAgIGlmIChwcmVmc1ByaXZh
dGUpIHsKICAgICAgICAgaHIgPSBwcmVmc1ByaXZhdGUtPmxvY2FsU3RvcmFnZURhdGFiYXNlUGF0
aCgmc3RyKTsKICAgICAgICAgaWYgKEZBSUxFRChocikpCkBAIC01MTgxLDYgKzUxODEsMTEgQEAg
SFJFU1VMVCBXZWJWaWV3Ojpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZQogICAgICAgICByZXR1cm4g
aHI7CiAgICAgc2V0dGluZ3Muc2V0U2hvd1JlcGFpbnRDb3VudGVyKGVuYWJsZWQpOwogCisgICAg
aHIgPSBwcmVmc1ByaXZhdGUtPnNob3dUaWxlZFNjcm9sbGluZ0luZGljYXRvcigmZW5hYmxlZCk7
CisgICAgaWYgKEZBSUxFRChocikpCisgICAgICAgIHJldHVybiBocjsKKyAgICBzZXR0aW5ncy5z
ZXRTaG93VGlsZWRTY3JvbGxpbmdJbmRpY2F0b3IoISFlbmFibGVkKTsKKwogI2lmIEVOQUJMRShX
RUJfQVVESU8pCiAgICAgc2V0dGluZ3Muc2V0V2ViQXVkaW9FbmFibGVkKHRydWUpOwogI2VuZGlm
IC8vIEVOQUJMRShXRUJfQVVESU8pCkBAIC02ODE3LDYgKzY4MjIsNyBAQCB2b2lkIFdlYlZpZXc6
OnNldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmcoCiAgICAgICAgICAgICBtX2xheWVyVHJlZUhvc3Qt
PnNldENsaWVudCh0aGlzKTsKICAgICAgICAgICAgIEFTU0VSVChtX3ZpZXdXaW5kb3cpOwogICAg
ICAgICAgICAgbV9sYXllclRyZWVIb3N0LT5zZXRXaW5kb3cobV92aWV3V2luZG93KTsKKyAgICAg
ICAgICAgIG1fbGF5ZXJUcmVlSG9zdC0+c2V0UGFnZShwYWdlKCkpOwogCiAgICAgICAgICAgICAv
LyBGSVhNRTogV2UgY291bGQgcGVyaGFwcyBnZXQgYmV0dGVyIHBlcmZvcm1hbmNlIGJ5IG5ldmVy
IGFsbG93aW5nIHRoaXMgbGF5ZXIgdG8KICAgICAgICAgICAgIC8vIGJlY29tZSB0aWxlZCAob3Ig
Y2hvb3NpbmcgYSBoaWdoZXItdGhhbi1ub3JtYWwgdGlsaW5nIHRocmVzaG9sZCkuCkluZGV4OiBT
b3VyY2UvV2ViS2l0L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRsCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2Vz
UHJpdmF0ZS5pZGwJKHJldmlzaW9uIDE4OTk4NSkKKysrIFNvdXJjZS9XZWJLaXQvd2luL0ludGVy
ZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTE2OCw0
ICsxNjgsMTIgQEAgaW50ZXJmYWNlIElXZWJQcmVmZXJlbmNlc1ByaXZhdGUyIDogSVdlYgogICAg
IEhSRVNVTFQgc2V0SmF2YVNjcmlwdFJ1bnRpbWVGbGFncyhbaW5dIHVuc2lnbmVkIGZsYWdzKTsK
ICAgICBIUkVTVUxUIGFsbG93RGlzcGxheUFuZFJ1bm5pbmdPZkluc2VjdXJlQ29udGVudChbb3V0
LCByZXR2YWxdIEJPT0wqIGVuYWJsZWQpOwogICAgIEhSRVNVTFQgc2V0QWxsb3dEaXNwbGF5QW5k
UnVubmluZ09mSW5zZWN1cmVDb250ZW50KFtpbl0gQk9PTCBlbmFibGVkKTsKLX0KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCit9CisKK1t1dWlkKDkyODA5QkZCLUMyNEYtNDNBRC04NjNGLTYw
MUIwOENDMjY4RCldCitpbnRlcmZhY2UgSVdlYlByZWZlcmVuY2VzUHJpdmF0ZTMgOiBJV2ViUHJl
ZmVyZW5jZXNQcml2YXRlMgoreworICAgIEhSRVNVTFQgc2hvd1RpbGVkU2Nyb2xsaW5nSW5kaWNh
dG9yKFtvdXQsIHJldHZhbF0gQk9PTCogZW5hYmxlZCk7CisgICAgSFJFU1VMVCBzZXRTaG93VGls
ZWRTY3JvbGxpbmdJbmRpY2F0b3IoW2luXSBCT09MIGVuYWJsZWQpOworfQorCkluZGV4OiBUb29s
cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxOTAw
ODYpCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNyBAQAor
MjAxNS0wOS0yMSAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KKworICAgICAg
ICBbV2luXSBTaG93IHRpbGVkIGRyYXdpbmcgZGVidWcgb3ZlcmxheSBvbiBXaW5kb3dzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDk0MjYKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIE1pbmlCcm93c2Vy
L01pbmlCcm93c2VyLnZjeHByb2ovTWluaUJyb3dzZXJMaWIucmM6IEFkZCBuZXcgbWVudSBvcHRp
b24uCisgICAgICAgICogTWluaUJyb3dzZXIvTWluaUJyb3dzZXIudmN4cHJvai9NaW5pQnJvd3Nl
ckxpYlJlc291cmNlLmg6IERpdHRvLgorICAgICAgICAqIE1pbmlCcm93c2VyL3dpbi9Db21tb24u
Y3BwOgorICAgICAgICAoOjpUb2dnbGVNZW51SXRlbSk6IFJlY29nbml6ZSBuZXcgbWVudSBpdGVt
IGFuZCB0b2dnbGUgdGhlICdzaG93VGlsZWRTY3JvbGxpbmdJbmRpY2F0b3InCisgICAgICAgIGZs
YWcgaWYgbmVlZGVkLgorICAgICAgICAqIE1pbmlCcm93c2VyL3dpbi9NaW5pQnJvd3Nlci5oOiBV
cGRhdGUgdG8gdXNlIG5ldyBJV2ViUHJlZmVyZW5jZXNQcml2YXRlMyBjbGFzcy4KKwogMjAxNS0w
OS0yMSAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2lu
XSBVc2UgY29tbWFuZC1saW5lIGFyZ3VtZW50IHRvIGxhdW5jaCBpbiByZWd1bGFyIG9yIEhpZ2gg
RFBJIG1vZGUuCkluZGV4OiBUb29scy9NaW5pQnJvd3Nlci9NaW5pQnJvd3Nlci52Y3hwcm9qL01p
bmlCcm93c2VyTGliLnJjCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL01pbmlCcm93c2VyL01pbmlCcm93
c2VyLnZjeHByb2ovTWluaUJyb3dzZXJMaWIucmMJKHJldmlzaW9uIDE4OTk4NSkKKysrIFRvb2xz
L01pbmlCcm93c2VyL01pbmlCcm93c2VyLnZjeHByb2ovTWluaUJyb3dzZXJMaWIucmMJKHdvcmtp
bmcgY29weSkKQEAgLTEwNSw2ICsxMDUsNyBAQCBCRUdJTgogICAgICAgICBNRU5VSVRFTSAiRW5h
YmxlIFdlYktpdCBGdWxsIFNjcmVlbiIsICAgSURNX1dLX0ZVTExTQ1JFRU4sIENIRUNLRUQNCiAg
ICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUg0KICAgICAgICAgTUVOVUlURU0gIlNob3cgQ29tcG9z
aXRpbmcgQm9yZGVycyIsICAgIElETV9DT01QT1NJVElOR19CT1JERVJTDQorICAgICAgICBNRU5V
SVRFTSAiU2hvdyBUaWxlZCBEcmF3aW5nIGluZGljYXRvciIsIElETV9ERUJVR19JTkZPX0xBWUVS
DQogICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1INCiAgICAgICAgIE1FTlVJVEVNICJTaG93IENh
Y2hlcyBXaW5kb3ciLCAgICAgICAgICBJRE1fQ0FDSEVTDQogICAgICAgICBNRU5VSVRFTSAiU2hv
dyBMYXllciBUcmVlIiwgICAgICAgICAgICAgSURNX1NIT1dfTEFZRVJfVFJFRQ0KSW5kZXg6IFRv
b2xzL01pbmlCcm93c2VyL01pbmlCcm93c2VyLnZjeHByb2ovTWluaUJyb3dzZXJMaWJSZXNvdXJj
ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFRvb2xzL01pbmlCcm93c2VyL01pbmlCcm93c2VyLnZjeHByb2ov
TWluaUJyb3dzZXJMaWJSZXNvdXJjZS5oCShyZXZpc2lvbiAxODk5ODUpCisrKyBUb29scy9NaW5p
QnJvd3Nlci9NaW5pQnJvd3Nlci52Y3hwcm9qL01pbmlCcm93c2VyTGliUmVzb3VyY2UuaAkod29y
a2luZyBjb3B5KQpAQCAtNTMsNiArNTMsNyBAQAogI2RlZmluZSBJRE1fWk9PTV9JTiAgICAgICAg
ICAgICAgICAgICAgIDE3MgogI2RlZmluZSBJRE1fWk9PTV9PVVQgICAgICAgICAgICAgICAgICAg
IDE3MwogI2RlZmluZSBJRE1fU0hPV19MQVlFUl9UUkVFICAgICAgICAgICAgIDE3NAorI2RlZmlu
ZSBJRE1fREVCVUdfSU5GT19MQVlFUiAgICAgICAgICAgIDE3NQogI2RlZmluZSBJRENfRU1QVFlf
VVJMX0NBQ0hFICAgICAgICAgICAgIDEwMDAKICNkZWZpbmUgSURDX1JFVFVSTl9GUkVFX01FTU9S
WSAgICAgICAgICAxMDAxCiAjZGVmaW5lIElEQ19FTVBUWV9XRUJDT1JFX0NBQ0hFICAgICAgICAg
MTAwMgpJbmRleDogVG9vbHMvTWluaUJyb3dzZXIvd2luL0NvbW1vbi5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gVG9vbHMvTWluaUJyb3dzZXIvd2luL0NvbW1vbi5jcHAJKHJldmlzaW9uIDE5MDA4MikKKysr
IFRvb2xzL01pbmlCcm93c2VyL3dpbi9Db21tb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOTMs
NiArMzkzLDkgQEAgc3RhdGljIGJvb2wgVG9nZ2xlTWVudUl0ZW0oSFdORCBoV25kLCBVSQogICAg
ICAgICBnTWluaUJyb3dzZXItPnByaXZhdGVQcmVmZXJlbmNlcygpLT5zZXRTaG93RGVidWdCb3Jk
ZXJzKG5ld1N0YXRlKTsKICAgICAgICAgZ01pbmlCcm93c2VyLT5wcml2YXRlUHJlZmVyZW5jZXMo
KS0+c2V0U2hvd1JlcGFpbnRDb3VudGVyKG5ld1N0YXRlKTsKICAgICAgICAgYnJlYWs7CisgICAg
Y2FzZSBJRE1fREVCVUdfSU5GT19MQVlFUjoKKyAgICAgICAgZ01pbmlCcm93c2VyLT5wcml2YXRl
UHJlZmVyZW5jZXMoKS0+c2V0U2hvd1RpbGVkU2Nyb2xsaW5nSW5kaWNhdG9yKG5ld1N0YXRlKTsK
KyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBJRE1fSU5WRVJUX0NPTE9SUzoKICAgICAgICAgZ01p
bmlCcm93c2VyLT5wcml2YXRlUHJlZmVyZW5jZXMoKS0+c2V0U2hvdWxkSW52ZXJ0Q29sb3JzKG5l
d1N0YXRlKTsKICAgICAgICAgYnJlYWs7CkluZGV4OiBUb29scy9NaW5pQnJvd3Nlci93aW4vTWlu
aUJyb3dzZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9NaW5pQnJvd3Nlci93aW4vTWluaUJyb3dz
ZXIuaAkocmV2aXNpb24gMTg5OTg1KQorKysgVG9vbHMvTWluaUJyb3dzZXIvd2luL01pbmlCcm93
c2VyLmgJKHdvcmtpbmcgY29weSkKQEAgLTM1LDcgKzM1LDcgQEAgdHlwZWRlZiBfY29tX3B0cl90
PF9jb21fSUlJRDxJV2ViRnJhbWVMbwogdHlwZWRlZiBfY29tX3B0cl90PF9jb21fSUlJRDxJV2Vi
SGlzdG9yeSwgJl9fdXVpZG9mKElXZWJIaXN0b3J5KT4+IElXZWJIaXN0b3J5UHRyOwogdHlwZWRl
ZiBfY29tX3B0cl90PF9jb21fSUlJRDxJV2ViSGlzdG9yeUl0ZW0sICZfX3V1aWRvZihJV2ViSGlz
dG9yeUl0ZW0pPj4gSVdlYkhpc3RvcnlJdGVtUHRyOwogdHlwZWRlZiBfY29tX3B0cl90PF9jb21f
SUlJRDxJV2ViUHJlZmVyZW5jZXMsICZfX3V1aWRvZihJV2ViUHJlZmVyZW5jZXMpPj4gSVdlYlBy
ZWZlcmVuY2VzUHRyOwotdHlwZWRlZiBfY29tX3B0cl90PF9jb21fSUlJRDxJV2ViUHJlZmVyZW5j
ZXNQcml2YXRlLCAmX191dWlkb2YoSVdlYlByZWZlcmVuY2VzUHJpdmF0ZSk+PiBJV2ViUHJlZmVy
ZW5jZXNQcml2YXRlUHRyOwordHlwZWRlZiBfY29tX3B0cl90PF9jb21fSUlJRDxJV2ViUHJlZmVy
ZW5jZXNQcml2YXRlMywgJl9fdXVpZG9mKElXZWJQcmVmZXJlbmNlc1ByaXZhdGUzKT4+IElXZWJQ
cmVmZXJlbmNlc1ByaXZhdGVQdHI7CiB0eXBlZGVmIF9jb21fcHRyX3Q8X2NvbV9JSUlEPElXZWJV
SURlbGVnYXRlLCAmX191dWlkb2YoSVdlYlVJRGVsZWdhdGUpPj4gSVdlYlVJRGVsZWdhdGVQdHI7
CiB0eXBlZGVmIF9jb21fcHRyX3Q8X2NvbV9JSUlEPElBY2Nlc3NpYmlsaXR5RGVsZWdhdGUsICZf
X3V1aWRvZihJQWNjZXNzaWJpbGl0eURlbGVnYXRlKT4+IElBY2Nlc3NpYmlsaXR5RGVsZWdhdGVQ
dHI7CiB0eXBlZGVmIF9jb21fcHRyX3Q8X2NvbV9JSUlEPElXZWJJbnNwZWN0b3IsICZfX3V1aWRv
ZihJV2ViSW5zcGVjdG9yKT4+IElXZWJJbnNwZWN0b3JQdHI7Cg==
</data>
<flag name="review"
          id="286887"
          type_id="1"
          status="+"
          setter="dino"
    />
          </attachment>
      

    </bug>

</bugzilla>