<?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>142940</bug_id>
          
          <creation_ts>2015-03-21 16:19:54 -0700</creation_ts>
          <short_desc>[Mac] Enable WIRELESS_PLAYBACK_TARGET for WK1</short_desc>
          <delta_ts>2015-03-22 23:59:22 -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>Media</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Carlson">eric.carlson</reporter>
          <assigned_to name="Eric Carlson">eric.carlson</assigned_to>
          <cc>dino</cc>
    
    <cc>jer.noble</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1079098</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2015-03-21 16:19:54 -0700</bug_when>
    <thetext>Make it work for WebKit 1 clients.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1079099</commentid>
    <comment_count>1</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2015-03-21 16:21:37 -0700</bug_when>
    <thetext>&lt;rdar://problem/20157973&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1079101</commentid>
    <comment_count>2</comment_count>
      <attachid>249178</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2015-03-21 16:50:56 -0700</bug_when>
    <thetext>Created attachment 249178
Proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1079119</commentid>
    <comment_count>3</comment_count>
      <attachid>249187</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2015-03-21 19:53:51 -0700</bug_when>
    <thetext>Created attachment 249187
Updated patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1079155</commentid>
    <comment_count>4</comment_count>
      <attachid>249187</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2015-03-22 10:44:05 -0700</bug_when>
    <thetext>Comment on attachment 249187
Updated patch.

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

&gt; Source/WebKit/mac/WebView/WebViewData.h:152
&gt; +#if ENABLE(WIRELESS_PLAYBACK_TARGET) &amp;&amp; !PLATFORM(IOS)
&gt; +class WebMediaPlaybackTargetPicker : public WebCore::MediaPlaybackTargetPicker::Client {
&gt; +public:
&gt; +    static std::unique_ptr&lt;WebMediaPlaybackTargetPicker&gt; create(WebCore::Page&amp;);
&gt; +
&gt; +    explicit WebMediaPlaybackTargetPicker(WebCore::Page&amp;);
&gt; +    virtual ~WebMediaPlaybackTargetPicker() { }
&gt; +
&gt; +    void showPlaybackTargetPicker(const WebCore::FloatRect&amp;, bool /* hasVideo */);
&gt; +    void startingMonitoringPlaybackTargets();
&gt; +    void stopMonitoringPlaybackTargets();
&gt; +
&gt; +    // WebCore::MediaPlaybackTargetPicker::Client
&gt; +    virtual void didChoosePlaybackTarget(const WebCore::MediaPlaybackTarget&amp;) override;
&gt; +    virtual void externalOutputDeviceAvailableDidChange(bool) override;
&gt; +
&gt; +    void invalidate();
&gt; +
&gt; +private:
&gt; +    WebCore::MediaPlaybackTargetPicker&amp; targetPicker();
&gt; +
&gt; +    WebCore::Page* m_page;
&gt; +    std::unique_ptr&lt;WebCore::MediaPlaybackTargetPicker&gt; m_targetPicker;
&gt; +};
&gt; +#endif

I would put this in its own file.

&gt; Source/WebKit/mac/WebView/WebViewData.mm:86
&gt; +std::unique_ptr&lt;WebMediaPlaybackTargetPicker&gt; WebMediaPlaybackTargetPicker::create(WebCore::Page&amp; page)
&gt; +{
&gt; +    return std::make_unique&lt;WebMediaPlaybackTargetPicker&gt;(page);
&gt; +}
&gt; +

This (and the rest of the class, should go in its own file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1079185</commentid>
    <comment_count>5</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2015-03-22 18:13:03 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Comment on attachment 249187 [details]
&gt; Updated patch.
&gt; 
&gt; This (and the rest of the class, should go in its own file.

Done, thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1079186</commentid>
    <comment_count>6</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2015-03-22 18:13:27 -0700</bug_when>
    <thetext>Committed r181838 - https://trac.webkit.org/r181838</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1079231</commentid>
    <comment_count>7</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-03-22 23:59:22 -0700</bug_when>
    <thetext>Build fix in http://trac.webkit.org/r181846</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>249178</attachid>
            <date>2015-03-21 16:50:56 -0700</date>
            <delta_ts>2015-03-21 19:53:51 -0700</delta_ts>
            <desc>Proposed patch.</desc>
            <filename>wk1_patch_3.txt</filename>
            <type>text/plain</type>
            <size>19421</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4MTgyNykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBACisyMDE1LTAzLTIxICBFcmljIENh
cmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFtNYWNdIEVuYWJsZSBX
SVJFTEVTU19QTEFZQkFDS19UQVJHRVQgZm9yIFdLMQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQyOTQwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RG9jdW1lbnQ6OmRpZENob29zZVBsYXliYWNrVGFyZ2V0KTogY29uc3QtaWZ5IHRoZSBk
aWRDaG9vc2VQbGF5YmFja1RhcmdldCBhcmd1bWVudC4KKyAgICAgICAgKiBkb20vRG9jdW1lbnQu
aDoKKworICAgICAgICAqIGh0bWwvSFRNTE1lZGlhU2Vzc2lvbi5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MTWVkaWFTZXNzaW9uOjpkaWRDaG9vc2VQbGF5YmFja1RhcmdldCk6IERpdHRvLgor
ICAgICAgICAqIGh0bWwvSFRNTE1lZGlhU2Vzc2lvbi5oOgorCisgICAgICAgICogcGFnZS9QYWdl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OmRpZENob29zZVBsYXliYWNrVGFyZ2V0KTog
IERpdHRvLgorICAgICAgICAqIHBhZ2UvUGFnZS5oOgorCisgICAgICAgICogcGxhdGZvcm0vYXVk
aW8vTWVkaWFTZXNzaW9uLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5
YmFja1RhcmdldFBpY2tlckNsaWVudC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2
Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXJNYWMubW06IAorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFQbGF5YmFja1RhcmdldFBpY2tlck1hYzo6ZGV2aWNlUGlja2VyKTog
IERpdHRvLgorCiAyMDE1LTAzLTIxICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0
Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTgxODI0LgpJbmRleDog
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuY3BwCShyZXZpc2lvbiAxODE4MDApCisrKyBTb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02NTE3LDcgKzY1MTcsNyBAQCB2
b2lkIERvY3VtZW50OjpwbGF5YmFja1RhcmdldEF2YWlsYWJpbGl0CiAgICAgICAgIGNsaWVudC0+
ZXh0ZXJuYWxPdXRwdXREZXZpY2VBdmFpbGFibGVEaWRDaGFuZ2UoYXZhaWxhYmxlKTsKIH0KIAot
dm9pZCBEb2N1bWVudDo6ZGlkQ2hvb3NlUGxheWJhY2tUYXJnZXQoTWVkaWFQbGF5YmFja1Rhcmdl
dCYgZGV2aWNlKQordm9pZCBEb2N1bWVudDo6ZGlkQ2hvb3NlUGxheWJhY2tUYXJnZXQoY29uc3Qg
TWVkaWFQbGF5YmFja1RhcmdldCYgZGV2aWNlKQogewogICAgIE1lZGlhUGxheWJhY2tUYXJnZXRQ
aWNrZXJDbGllbnQqIGNsaWVudFRoYXRSZXF1ZXN0ZWRQaWNrZXIgPSBudWxscHRyOwogCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuaAkocmV2aXNpb24gMTgxODAwKQorKysgU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTEyMjMsNyArMTIyMyw3IEBAIHB1Ymxp
YzoKIAogI2lmIEVOQUJMRShXSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpCiAgICAgdm9pZCBzaG93
UGxheWJhY2tUYXJnZXRQaWNrZXIoY29uc3QgSFRNTE1lZGlhRWxlbWVudCYpOwotICAgIHZvaWQg
ZGlkQ2hvb3NlUGxheWJhY2tUYXJnZXQoTWVkaWFQbGF5YmFja1RhcmdldCYpOworICAgIHZvaWQg
ZGlkQ2hvb3NlUGxheWJhY2tUYXJnZXQoY29uc3QgTWVkaWFQbGF5YmFja1RhcmdldCYpOwogICAg
IHZvaWQgYWRkUGxheWJhY2tUYXJnZXRQaWNrZXJDbGllbnQoTWVkaWFQbGF5YmFja1RhcmdldFBp
Y2tlckNsaWVudCYpOwogICAgIHZvaWQgcmVtb3ZlUGxheWJhY2tUYXJnZXRQaWNrZXJDbGllbnQo
TWVkaWFQbGF5YmFja1RhcmdldFBpY2tlckNsaWVudCYpOwogICAgIGJvb2wgcmVxdWlyZXNQbGF5
YmFja1RhcmdldFJvdXRlTW9uaXRvcmluZygpOwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWVkaWFTZXNzaW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxNZWRpYVNlc3Npb24uY3BwCShyZXZpc2lvbiAxODE4MDApCisrKyBTb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxNZWRpYVNlc3Npb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNzUsNyArMjc1LDcg
QEAgdm9pZCBIVE1MTWVkaWFTZXNzaW9uOjpzZXRIYXNQbGF5YmFja1RhcgogI2VuZGlmCiB9CiAK
LXZvaWQgSFRNTE1lZGlhU2Vzc2lvbjo6ZGlkQ2hvb3NlUGxheWJhY2tUYXJnZXQoTWVkaWFQbGF5
YmFja1RhcmdldCYgZGV2aWNlKQordm9pZCBIVE1MTWVkaWFTZXNzaW9uOjpkaWRDaG9vc2VQbGF5
YmFja1RhcmdldChjb25zdCBNZWRpYVBsYXliYWNrVGFyZ2V0JiBkZXZpY2UpCiB7CiAgICAgbV9o
YXZlUmVxdWVzdGVkUGxheWJhY2tUYXJnZXRQaWNrZXIgPSBmYWxzZTsKICAgICBjbGllbnQoKS5z
ZXRXaXJlbGVzc1BsYXliYWNrVGFyZ2V0KGRldmljZSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxNZWRpYVNlc3Npb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxNZWRpYVNlc3Npb24uaAkocmV2aXNpb24gMTgxODAwKQorKysgU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MTWVkaWFTZXNzaW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTk4LDcgKzk4LDcgQEAg
cHJpdmF0ZToKICAgICB2b2lkIHRhcmdldEF2YWlsYWJpbGl0eUNoYW5nZWRUaW1lckZpcmVkKCk7
CiAKICAgICAvLyBNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyQ2xpZW50Ci0gICAgdmlydHVhbCB2
b2lkIGRpZENob29zZVBsYXliYWNrVGFyZ2V0KE1lZGlhUGxheWJhY2tUYXJnZXQmKSBvdmVycmlk
ZTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hvb3NlUGxheWJhY2tUYXJnZXQoY29uc3QgTWVkaWFQ
bGF5YmFja1RhcmdldCYpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBleHRlcm5hbE91dHB1
dERldmljZUF2YWlsYWJsZURpZENoYW5nZShib29sKSBjb25zdCBvdmVycmlkZTsKICAgICB2aXJ0
dWFsIGJvb2wgcmVxdWlyZXNQbGF5YmFja1RhcmdldFJvdXRlTW9uaXRvcmluZygpIGNvbnN0IG92
ZXJyaWRlOwogICAgIHZpcnR1YWwgYm9vbCByZXF1ZXN0ZWRQbGF5YmFja1RhcmdldFBpY2tlcigp
IGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1faGF2ZVJlcXVlc3RlZFBsYXliYWNrVGFyZ2V0UGlj
a2VyOyB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAJKHJldmlzaW9uIDE4MTgwMCkKKysrIFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE2OTQsNyArMTY5NCw3
IEBAIHZvaWQgUGFnZTo6c2hvd1BsYXliYWNrVGFyZ2V0UGlja2VyKERvY3UKICNlbmRpZgogfQog
Ci12b2lkIFBhZ2U6OmRpZENob29zZVBsYXliYWNrVGFyZ2V0KE1lZGlhUGxheWJhY2tUYXJnZXQm
IHRhcmdldCkKK3ZvaWQgUGFnZTo6ZGlkQ2hvb3NlUGxheWJhY2tUYXJnZXQoY29uc3QgTWVkaWFQ
bGF5YmFja1RhcmdldCYgdGFyZ2V0KQogewogICAgIERvY3VtZW50KiBkb2N1bWVudFRoYXRSZXF1
ZXN0ZWRQaWNrZXIgPSBudWxscHRyOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2Uu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAkocmV2aXNpb24gMTgx
ODAwKQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQz
MCw3ICs0MzAsNyBAQCBwdWJsaWM6CiAgICAgTWVkaWFQbGF5YmFja1RhcmdldCYgcGxheWJhY2tU
YXJnZXQoKSBjb25zdCB7IHJldHVybiAqbV9wbGF5YmFja1RhcmdldC5nZXQoKTsgfQogICAgIHZv
aWQgY29uZmlndXJlUGxheWJhY2tUYXJnZXRNb25pdG9yaW5nKCk7CiAKLSAgICBXRUJDT1JFX0VY
UE9SVCB2b2lkIGRpZENob29zZVBsYXliYWNrVGFyZ2V0KE1lZGlhUGxheWJhY2tUYXJnZXQmKTsK
KyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGRpZENob29zZVBsYXliYWNrVGFyZ2V0KGNvbnN0IE1l
ZGlhUGxheWJhY2tUYXJnZXQmKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHBsYXliYWNrVGFy
Z2V0QXZhaWxhYmlsaXR5RGlkQ2hhbmdlKGJvb2wpOwogI2VuZGlmCiAKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL01lZGlhU2Vzc2lvbi5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL01lZGlhU2Vzc2lvbi5oCShyZXZpc2lvbiAxODE4MDAp
CisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9NZWRpYVNlc3Npb24uaAkod29ya2lu
ZyBjb3B5KQpAQCAtMTE5LDcgKzExOSw3IEBAIHB1YmxpYzoKIAogI2lmIEVOQUJMRShXSVJFTEVT
U19QTEFZQkFDS19UQVJHRVQpCiAgICAgLy8gTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlckNsaWVu
dAotICAgIHZpcnR1YWwgdm9pZCBkaWRDaG9vc2VQbGF5YmFja1RhcmdldChNZWRpYVBsYXliYWNr
VGFyZ2V0Jikgb3ZlcnJpZGUgeyB9CisgICAgdmlydHVhbCB2b2lkIGRpZENob29zZVBsYXliYWNr
VGFyZ2V0KGNvbnN0IE1lZGlhUGxheWJhY2tUYXJnZXQmKSBvdmVycmlkZSB7IH0KICAgICB2aXJ0
dWFsIHZvaWQgZXh0ZXJuYWxPdXRwdXREZXZpY2VBdmFpbGFibGVEaWRDaGFuZ2UoYm9vbCkgY29u
c3Qgb3ZlcnJpZGUgeyB9CiAgICAgdmlydHVhbCBib29sIHJlcXVpcmVzUGxheWJhY2tUYXJnZXRS
b3V0ZU1vbml0b3JpbmcoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQogICAgIHZp
cnR1YWwgYm9vbCByZXF1ZXN0ZWRQbGF5YmFja1RhcmdldFBpY2tlcigpIGNvbnN0IG92ZXJyaWRl
IHsgcmV0dXJuIGZhbHNlOyB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyQ2xpZW50LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlckNsaWVu
dC5oCShyZXZpc2lvbiAxODE4MDApCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyQ2xpZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTM4
LDcgKzM4LDcgQEAgY2xhc3MgTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlckNsaWVudCB7CiBwdWJs
aWM6CiAgICAgdmlydHVhbCB+TWVkaWFQbGF5YmFja1RhcmdldFBpY2tlckNsaWVudCgpIHsgfQog
Ci0gICAgdmlydHVhbCB2b2lkIGRpZENob29zZVBsYXliYWNrVGFyZ2V0KE1lZGlhUGxheWJhY2tU
YXJnZXQmKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGRpZENob29zZVBsYXliYWNrVGFyZ2V0KGNv
bnN0IE1lZGlhUGxheWJhY2tUYXJnZXQmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGV4dGVybmFs
T3V0cHV0RGV2aWNlQXZhaWxhYmxlRGlkQ2hhbmdlKGJvb2wpIGNvbnN0ID0gMDsKIAogICAgIHZp
cnR1YWwgYm9vbCByZXF1aXJlc1BsYXliYWNrVGFyZ2V0Um91dGVNb25pdG9yaW5nKCkgY29uc3Qg
PSAwOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9u
L29iamMvTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlck1hYy5tbQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXli
YWNrVGFyZ2V0UGlja2VyTWFjLm1tCShyZXZpc2lvbiAxODE4MDApCisrKyBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXliYWNrVGFyZ2V0
UGlja2VyTWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xMTgsNyArMTE4LDcgQEAgQVZPdXRwdXRE
ZXZpY2VQaWNrZXJNZW51Q29udHJvbGxlclR5cGUgKgogICAgICAgICBbbV9kZXZpY2VQaWNrZXJN
ZW51Q29udHJvbGxlciBhZGRPYnNlcnZlcjptX2RldmljZVBpY2tlck1lbnVDb250cm9sbGVyRGVs
ZWdhdGUuZ2V0KCkgZm9yS2V5UGF0aDpleHRlcm5hbE91dHB1dERldmljZUF2YWlsYWJsZUtleU5h
bWUgb3B0aW9uczpOU0tleVZhbHVlT2JzZXJ2aW5nT3B0aW9uTmV3IGNvbnRleHQ6bmlsXTsKICAg
ICAgICAgW21fZGV2aWNlUGlja2VyTWVudUNvbnRyb2xsZXIgYWRkT2JzZXJ2ZXI6bV9kZXZpY2VQ
aWNrZXJNZW51Q29udHJvbGxlckRlbGVnYXRlLmdldCgpIGZvcktleVBhdGg6ZXh0ZXJuYWxPdXRw
dXREZXZpY2VQaWNrZWRLZXlOYW1lIG9wdGlvbnM6TlNLZXlWYWx1ZU9ic2VydmluZ09wdGlvbk5l
dyBjb250ZXh0Om5pbF07CiAKLSAgICAgICAgaWYgKGRldmljZVBpY2tlcigpLmV4dGVybmFsT3V0
cHV0RGV2aWNlQXZhaWxhYmxlKQorICAgICAgICBpZiAobV9kZXZpY2VQaWNrZXJNZW51Q29udHJv
bGxlci5nZXQoKS5leHRlcm5hbE91dHB1dERldmljZUF2YWlsYWJsZSkKICAgICAgICAgICAgIGF2
YWlsYWJsZURldmljZXNEaWRDaGFuZ2UoKTsKICAgICB9CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHJldmlz
aW9uIDE4MTgyNykKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDEzIEBACisyMDE1LTAzLTIxICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25A
YXBwbGUuY29tPgorCisgICAgICAgIFtNYWNdIEVuYWJsZSBXSVJFTEVTU19QTEFZQkFDS19UQVJH
RVQgZm9yIFdLMQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTQyOTQwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dlYlBhZ2VNYWMubW06CisgICAgICAgIChXZWJL
aXQ6OldlYlBhZ2U6OnBsYXliYWNrVGFyZ2V0U2VsZWN0ZWQpOiBBcmd1bWVudCB0byBkaWRDaG9v
c2VQbGF5YmFja1RhcmdldCBpcyBub3cgY29uc3QuCisKIDIwMTUtMDMtMjEgIENzYWJhIE9zenRy
b2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KIAogICAgICAgICBbRUZMXVtHVEtdIE1ha2UgV2Vi
S2l0MidzIGdlbmVyYXRlLWZvcndhcmRpbmctaGVhZGVycy5wbCBsZXNzIHZlcmJvc2UKSW5kZXg6
IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dlYlBhZ2VN
YWMubW0JKHJldmlzaW9uIDE4MTgwMCkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9tYWMvV2ViUGFnZU1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAtMTIwNyw4ICsxMjA3LDcg
QEAgdm9pZCBXZWJQYWdlOjpzZXRGb250KGNvbnN0IFN0cmluZyYgZm9udAogI2lmIEVOQUJMRShX
SVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICYmICFQTEFURk9STShJT1MpCiB2b2lkIFdlYlBhZ2U6
OnBsYXliYWNrVGFyZ2V0U2VsZWN0ZWQoY29uc3QgV2ViQ29yZTo6TWVkaWFQbGF5YmFja1Rhcmdl
dCYgcGxheWJhY2tUYXJnZXQpIGNvbnN0CiB7Ci0gICAgTWVkaWFQbGF5YmFja1RhcmdldCBub25D
b25zdFRhcmdldChwbGF5YmFja1RhcmdldC5kZXZpY2VQaWNrZXJDb250ZXh0KCkpOwotICAgIG1f
cGFnZS0+ZGlkQ2hvb3NlUGxheWJhY2tUYXJnZXQobm9uQ29uc3RUYXJnZXQpOworICAgIG1fcGFn
ZS0+ZGlkQ2hvb3NlUGxheWJhY2tUYXJnZXQocGxheWJhY2tUYXJnZXQpOwogfQogCiB2b2lkIFdl
YlBhZ2U6OnBsYXliYWNrVGFyZ2V0QXZhaWxhYmlsaXR5RGlkQ2hhbmdlKGJvb2wgY2hhbmdlZCkK
SW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L21hYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4MTgyNykKKysrIFNvdXJjZS9XZWJLaXQv
bWFjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM3IEBACisyMDE1LTAzLTIx
ICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFtNYWNd
IEVuYWJsZSBXSVJFTEVTU19QTEFZQkFDS19UQVJHRVQgZm9yIFdLMQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQyOTQwCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJv
bWVDbGllbnQuaDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW06
CisgICAgICAgIChXZWJDaHJvbWVDbGllbnQ6OnNob3dQbGF5YmFja1RhcmdldFBpY2tlcik6IE5l
dy4KKyAgICAgICAgKFdlYkNocm9tZUNsaWVudDo6c3RhcnRpbmdNb25pdG9yaW5nUGxheWJhY2tU
YXJnZXRzKTogTmV3LgorICAgICAgICAoV2ViQ2hyb21lQ2xpZW50OjpzdG9wTW9uaXRvcmluZ1Bs
YXliYWNrVGFyZ2V0cyk6IE5ldy4KKworICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAg
ICAgICAgKC1bV2ViVmlldyBfY2xvc2VdKTogSW52YWxpZGF0ZSBhbmQgZnJlZSB0aGUgdGFyZ2V0
IHBpY2tlci4KKyAgICAgICAgKC1bV2ViVmlldyBfZGV2aWNlUGlja2VyXSk6IE5ldy4KKyAgICAg
ICAgKC1bV2ViVmlldyBfc2hvd1BsYXliYWNrVGFyZ2V0UGlja2VyOmhhc1ZpZGVvOl0pOiBOZXcu
CisgICAgICAgICgtW1dlYlZpZXcgX3N0YXJ0aW5nTW9uaXRvcmluZ1BsYXliYWNrVGFyZ2V0c10p
OiBOZXcuCisgICAgICAgICgtW1dlYlZpZXcgX3N0b3BNb25pdG9yaW5nUGxheWJhY2tUYXJnZXRz
XSk6IE5ldy4KKworICAgICAgICAqIFdlYlZpZXcvV2ViVmlld0RhdGEuaDoKKyAgICAgICAgKFdl
Yk1lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXI6On5XZWJNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2Vy
KToKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXdEYXRhLm1tOgorICAgICAgICAoV2ViTWVkaWFQ
bGF5YmFja1RhcmdldFBpY2tlcjo6Y3JlYXRlKTogTmV3LgorICAgICAgICAoV2ViTWVkaWFQbGF5
YmFja1RhcmdldFBpY2tlcjo6V2ViTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlcik6IE5ldy4KKyAg
ICAgICAgKFdlYk1lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXI6OnNob3dQbGF5YmFja1RhcmdldFBp
Y2tlcik6IE5ldy4KKyAgICAgICAgKFdlYk1lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXI6OnN0YXJ0
aW5nTW9uaXRvcmluZ1BsYXliYWNrVGFyZ2V0cyk6IE5ldy4KKyAgICAgICAgKFdlYk1lZGlhUGxh
eWJhY2tUYXJnZXRQaWNrZXI6OnN0b3BNb25pdG9yaW5nUGxheWJhY2tUYXJnZXRzKTogTmV3Lgor
ICAgICAgICAoV2ViTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlcjo6ZGlkQ2hvb3NlUGxheWJhY2tU
YXJnZXQpOiBOZXcuCisgICAgICAgIChXZWJNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyOjpleHRl
cm5hbE91dHB1dERldmljZUF2YWlsYWJsZURpZENoYW5nZSk6IE5ldy4KKyAgICAgICAgKFdlYk1l
ZGlhUGxheWJhY2tUYXJnZXRQaWNrZXI6OmludmFsaWRhdGUpOiBOZXcuCisgICAgICAgIChXZWJN
ZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyOjp0YXJnZXRQaWNrZXIpOiBOZXcuCisgICAgICAgICog
V2ViVmlldy9XZWJWaWV3SW50ZXJuYWwuaDoKKwogMjAxNS0wMy0xOSAgQW5keSBFc3RlcyAgPGFl
c3Rlc0BhcHBsZS5jb20+CiAKICAgICAgICAgW0NvbnRlbnQgRmlsdGVyaW5nXSBBZGQgdGVzdHMg
Zm9yIHVuYmxvY2sgcmVxdWVzdHMKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBw
b3J0L1dlYkNocm9tZUNsaWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL1dl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCShyZXZpc2lvbiAxODE4MDApCisrKyBTb3Vy
Y2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAkod29ya2luZyBj
b3B5KQpAQCAtMjEzLDYgKzIxMywxMiBAQCBwdWJsaWM6CiAgICAgV2ViVmlldyogd2ViVmlldygp
IHsgcmV0dXJuIG1fd2ViVmlldzsgfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoV0lSRUxFU1NfUExB
WUJBQ0tfVEFSR0VUKSAmJiAhUExBVEZPUk0oSU9TKQorICAgIHZpcnR1YWwgdm9pZCBzaG93UGxh
eWJhY2tUYXJnZXRQaWNrZXIoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmLCBib29sIC8qIGhhc1Zp
ZGVvICovKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgc3RhcnRpbmdNb25pdG9yaW5nUGxh
eWJhY2tUYXJnZXRzKCkgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIHN0b3BNb25pdG9yaW5n
UGxheWJhY2tUYXJnZXRzKCkgb3ZlcnJpZGU7CisjZW5kaWYKKwogcHJpdmF0ZToKICAgICBXZWJW
aWV3ICptX3dlYlZpZXc7CiB9OwpJbmRleDogU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBv
cnQvV2ViQ2hyb21lQ2xpZW50Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL1dl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbQkocmV2aXNpb24gMTgxODAwKQorKysgU291
cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tCSh3b3JraW5n
IGNvcHkpCkBAIC0xMDM0LDMgKzEwMzQsMjAgQEAgYm9vbCBXZWJDaHJvbWVDbGllbnQ6Omhhc1Jl
bGV2YW50U2VsZWN0aQogfQogCiAjZW5kaWYKKworI2lmIEVOQUJMRShXSVJFTEVTU19QTEFZQkFD
S19UQVJHRVQpICYmICFQTEFURk9STShJT1MpCit2b2lkIFdlYkNocm9tZUNsaWVudDo6c2hvd1Bs
YXliYWNrVGFyZ2V0UGlja2VyKGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBsb2NhdGlvbiwgYm9v
bCBoYXNWaWRlbykKK3sKKyAgICBbbV93ZWJWaWV3IF9zaG93UGxheWJhY2tUYXJnZXRQaWNrZXI6
bG9jYXRpb24gaGFzVmlkZW86aGFzVmlkZW9dOworfQorCit2b2lkIFdlYkNocm9tZUNsaWVudDo6
c3RhcnRpbmdNb25pdG9yaW5nUGxheWJhY2tUYXJnZXRzKCkKK3sKKyAgICBbbV93ZWJWaWV3IF9z
dGFydGluZ01vbml0b3JpbmdQbGF5YmFja1RhcmdldHNdOworfQorCit2b2lkIFdlYkNocm9tZUNs
aWVudDo6c3RvcE1vbml0b3JpbmdQbGF5YmFja1RhcmdldHMoKQoreworICAgIFttX3dlYlZpZXcg
X3N0b3BNb25pdG9yaW5nUGxheWJhY2tUYXJnZXRzXTsKK30KKyNlbmRpZgpJbmRleDogU291cmNl
L1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQkocmV2aXNpb24gMTgxODAwKQorKysgU291cmNlL1dl
YktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yOTEsNiArMjkx
LDEwIEBACiAjaW1wb3J0IDxXZWJDb3JlL0hJREdhbWVwYWRQcm92aWRlci5oPgogI2VuZGlmCiAK
KyNpZiBFTkFCTEUoV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAmJiAhUExBVEZPUk0oSU9TKQor
I2ltcG9ydCA8V2ViQ29yZS9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyTWFjLmg+CisjZW5kaWYK
KwogI2lmIFBMQVRGT1JNKE1BQykKIFNPRlRfTElOS19DT05TVEFOVF9NQVlfRkFJTChMb29rdXAs
IExVTm90aWZpY2F0aW9uUG9wb3ZlcldpbGxDbG9zZSwgTlNTdHJpbmcgKikKIFNPRlRfTElOS19D
T05TVEFOVF9NQVlfRkFJTChMb29rdXAsIExVVGVybU9wdGlvbkRpc2FibGVTZWFyY2hUZXJtSW5k
aWNhdG9yLCBOU1N0cmluZyAqKQpAQCAtMTc4MCw2ICsxNzg0LDEzIEBAIC0gKHZvaWQpX2Nsb3Nl
CiAKICAgICBbc2VsZiBfY2xvc2VQbHVnaW5EYXRhYmFzZXNdOwogCisjaWYgRU5BQkxFKFdJUkVM
RVNTX1BMQVlCQUNLX1RBUkdFVCkgJiYgIVBMQVRGT1JNKElPUykKKyAgICBpZiAoX3ByaXZhdGUt
Pm1fcGxheWJhY2tUYXJnZXRQaWNrZXIpIHsKKyAgICAgICAgX3ByaXZhdGUtPm1fcGxheWJhY2tU
YXJnZXRQaWNrZXItPmludmFsaWRhdGUoKTsKKyAgICAgICAgX3ByaXZhdGUtPm1fcGxheWJhY2tU
YXJnZXRQaWNrZXIgPSBudWxscHRyOworICAgIH0KKyNlbmRpZgorCiAjaWZuZGVmIE5ERUJVRwog
ICAgIC8vIE5lZWQgdGhpcyB0byBtYWtlIGxlYWsgbWVzc2FnZXMgYWNjdXJhdGUuCiAgICAgaWYg
KGFwcGxpY2F0aW9uSXNUZXJtaW5hdGluZykgewpAQCAtODY0MCw2ICs4NjUxLDQyIEBAIC0gKHZv
aWQpX2RpY3Rpb25hcnlMb29rdXBQb3BvdmVyV2lsbENsb3MKIH0KICNlbmRpZiAvLyBQTEFURk9S
TShNQUMpCiAKKyNpZiBFTkFCTEUoV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAmJiAhUExBVEZP
Uk0oSU9TKQorLSAoV2ViTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlciAqKSBfZGV2aWNlUGlja2Vy
Cit7CisgICAgaWYgKCFfcHJpdmF0ZS0+bV9wbGF5YmFja1RhcmdldFBpY2tlcikKKyAgICAgICAg
X3ByaXZhdGUtPm1fcGxheWJhY2tUYXJnZXRQaWNrZXIgPSBXZWJNZWRpYVBsYXliYWNrVGFyZ2V0
UGlja2VyOjpjcmVhdGUoKl9wcml2YXRlLT5wYWdlKTsKKworICAgIHJldHVybiBfcHJpdmF0ZS0+
bV9wbGF5YmFja1RhcmdldFBpY2tlci5nZXQoKTsKK30KKworLSAodm9pZClfc2hvd1BsYXliYWNr
VGFyZ2V0UGlja2VyOihjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYpbG9jYXRpb24gaGFzVmlkZW86
KEJPT0wpaGFzVmlkZW8KK3sKKyAgICBpZiAoIV9wcml2YXRlLT5wYWdlKQorICAgICAgICByZXR1
cm47CisKKyAgICBOU1JlY3QgcmVjdEluV2luZG93Q29vcmRpbmF0ZXMgPSBbc2VsZiBjb252ZXJ0
UmVjdDpbc2VsZiBfY29udmVydFJlY3RGcm9tUm9vdFZpZXc6Q0dSZWN0TWFrZShsb2NhdGlvbi54
KCksIGxvY2F0aW9uLnkoKSwgMCwgMCldIHRvVmlldzpuaWxdOworICAgIE5TUmVjdCByZWN0SW5T
Y3JlZW5Db29yZGluYXRlcyA9IFtzZWxmLndpbmRvdyBjb252ZXJ0UmVjdFRvU2NyZWVuOnJlY3RJ
bldpbmRvd0Nvb3JkaW5hdGVzXTsKKyAgICBbc2VsZiBfZGV2aWNlUGlja2VyXS0+c2hvd1BsYXli
YWNrVGFyZ2V0UGlja2VyKHJlY3RJblNjcmVlbkNvb3JkaW5hdGVzLCBoYXNWaWRlbyk7Cit9CisK
Ky0gKHZvaWQpX3N0YXJ0aW5nTW9uaXRvcmluZ1BsYXliYWNrVGFyZ2V0cworeworICAgIGlmICgh
X3ByaXZhdGUtPnBhZ2UpCisgICAgICAgIHJldHVybjsKKworICAgIFtzZWxmIF9kZXZpY2VQaWNr
ZXJdLT5zdGFydGluZ01vbml0b3JpbmdQbGF5YmFja1RhcmdldHMoKTsKK30KKworLSAodm9pZClf
c3RvcE1vbml0b3JpbmdQbGF5YmFja1RhcmdldHMKK3sKKyAgICBpZiAoIV9wcml2YXRlLT5wYWdl
KQorICAgICAgICByZXR1cm47CisKKyAgICBbc2VsZiBfZGV2aWNlUGlja2VyXS0+c3RvcE1vbml0
b3JpbmdQbGF5YmFja1RhcmdldHMoKTsKK30KKyNlbmRpZgorCiBAZW5kCiAKIEBpbXBsZW1lbnRh
dGlvbiBXZWJWaWV3IChXZWJWaWV3RGV2aWNlT3JpZW50YXRpb24pCkluZGV4OiBTb3VyY2UvV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYlZpZXdEYXRhLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dC9tYWMvV2ViVmlldy9XZWJWaWV3RGF0YS5oCShyZXZpc2lvbiAxODE4MDApCisrKyBTb3VyY2Uv
V2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXdEYXRhLmgJKHdvcmtpbmcgY29weSkKQEAgLTQzLDYg
KzQzLDEwIEBACiAjaW1wb3J0ICJXZWJDYXJldENoYW5nZUxpc3RlbmVyLmgiCiAjZW5kaWYKIAor
I2lmIEVOQUJMRShXSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICYmICFQTEFURk9STShJT1MpCisj
aW5jbHVkZSA8V2ViQ29yZS9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyLmg+CisjZW5kaWYKKwog
bmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgQWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyOwog
Y2xhc3MgSGlzdG9yeUl0ZW07CkBAIC0xMjEsNiArMTI1LDMyIEBAIHByaXZhdGU6CiAgICAgV2Vi
Vmlld0xheWVyRmx1c2hTY2hlZHVsZXIgbV9sYXllckZsdXNoU2NoZWR1bGVyOwogfTsKIAorI2lm
IEVOQUJMRShXSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpCitjbGFzcyBXZWJNZWRpYVBsYXliYWNr
VGFyZ2V0UGlja2VyIDogcHVibGljIFdlYkNvcmU6Ok1lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXI6
OkNsaWVudCB7CitwdWJsaWM6CisgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxXZWJNZWRpYVBs
YXliYWNrVGFyZ2V0UGlja2VyPiBjcmVhdGUoV2ViQ29yZTo6UGFnZSYpOworCisgICAgZXhwbGlj
aXQgV2ViTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlcihXZWJDb3JlOjpQYWdlJik7CisgICAgdmly
dHVhbCB+V2ViTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlcigpIHsgfQorCisgICAgdm9pZCBzaG93
UGxheWJhY2tUYXJnZXRQaWNrZXIoY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiwgYm9vbCAvKiBo
YXNWaWRlbyAqLyk7CisgICAgdm9pZCBzdGFydGluZ01vbml0b3JpbmdQbGF5YmFja1RhcmdldHMo
KTsKKyAgICB2b2lkIHN0b3BNb25pdG9yaW5nUGxheWJhY2tUYXJnZXRzKCk7CisKKyAgICAvLyBX
ZWJDb3JlOjpNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyOjpDbGllbnQKKyAgICB2aXJ0dWFsIHZv
aWQgZGlkQ2hvb3NlUGxheWJhY2tUYXJnZXQoY29uc3QgV2ViQ29yZTo6TWVkaWFQbGF5YmFja1Rh
cmdldCYpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBleHRlcm5hbE91dHB1dERldmljZUF2
YWlsYWJsZURpZENoYW5nZShib29sKSBvdmVycmlkZTsKKworICAgIHZvaWQgaW52YWxpZGF0ZSgp
OworCitwcml2YXRlOgorICAgIFdlYkNvcmU6Ok1lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXImIHRh
cmdldFBpY2tlcigpOworCisgICAgV2ViQ29yZTo6UGFnZSogbV9wYWdlOworICAgIHN0ZDo6dW5p
cXVlX3B0cjxXZWJDb3JlOjpNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyPiBtX3RhcmdldFBpY2tl
cjsKK307CisjZW5kaWYKKwogLy8gRklYTUU6IFRoaXMgc2hvdWxkIGJlIHJlbmFtZWQgdG8gV2Vi
Vmlld0RhdGEuCiBAaW50ZXJmYWNlIFdlYlZpZXdQcml2YXRlIDogTlNPYmplY3QgewogQHB1Ymxp
YwpAQCAtMzAzLDUgKzMzMyw5IEBAIEBpbnRlcmZhY2UgV2ViVmlld1ByaXZhdGUgOiBOU09iamVj
dCB7CiAgICAgUmV0YWluUHRyPE5TRGF0YT4gc291cmNlQXBwbGljYXRpb25BdWRpdERhdGE7CiAK
ICAgICBCT09MIF9kaWRQZXJmb3JtRmlyc3ROYXZpZ2F0aW9uOworCisjaWYgRU5BQkxFKFdJUkVM
RVNTX1BMQVlCQUNLX1RBUkdFVCkgJiYgIVBMQVRGT1JNKElPUykKKyAgICBzdGQ6OnVuaXF1ZV9w
dHI8V2ViTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlcj4gbV9wbGF5YmFja1RhcmdldFBpY2tlcjsK
KyNlbmRpZgogfQogQGVuZApJbmRleDogU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3
RGF0YS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXdE
YXRhLm1tCShyZXZpc2lvbiAxODE4MDApCisrKyBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dl
YlZpZXdEYXRhLm1tCSh3b3JraW5nIGNvcHkpCkBAIC00Niw2ICs0NiwxMSBAQAogI2ltcG9ydCAi
V2ViR2VvbG9jYXRpb25Qcm92aWRlcklPUy5oIgogI2VuZGlmCiAKKyNpZiBFTkFCTEUoV0lSRUxF
U1NfUExBWUJBQ0tfVEFSR0VUKSAmJiAhUExBVEZPUk0oSU9TKQorI2ltcG9ydCA8V2ViQ29yZS9N
ZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyTWFjLmg+CisjaW1wb3J0IDxXZWJDb3JlL1BhZ2UuaD4K
KyNlbmRpZgorCiBCT09MIGFwcGxpY2F0aW9uSXNUZXJtaW5hdGluZyA9IE5POwogaW50IHBsdWdp
bkRhdGFiYXNlQ2xpZW50Q291bnQgPSAwOwogCkBAIC03Myw2ICs3OCw2MiBAQCBXZWJWaWV3TGF5
ZXJGbHVzaFNjaGVkdWxlcjo6V2ViVmlld0xheWVyCiB7CiB9CiAKKyNpZiBFTkFCTEUoV0lSRUxF
U1NfUExBWUJBQ0tfVEFSR0VUKSAmJiAhUExBVEZPUk0oSU9TKQorc3RkOjp1bmlxdWVfcHRyPFdl
Yk1lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXI+IFdlYk1lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXI6
OmNyZWF0ZShXZWJDb3JlOjpQYWdlJiBwYWdlKQoreworICAgIHJldHVybiBzdGQ6Om1ha2VfdW5p
cXVlPFdlYk1lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXI+KHBhZ2UpOworfQorCitXZWJNZWRpYVBs
YXliYWNrVGFyZ2V0UGlja2VyOjpXZWJNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyKFdlYkNvcmU6
OlBhZ2UmIHBhZ2UpCisgICAgOiBtX3BhZ2UoJnBhZ2UpCit7Cit9CisKK3ZvaWQgV2ViTWVkaWFQ
bGF5YmFja1RhcmdldFBpY2tlcjo6c2hvd1BsYXliYWNrVGFyZ2V0UGlja2VyKGNvbnN0IFdlYkNv
cmU6OkZsb2F0UmVjdCYgcmVjdCwgYm9vbCBoYXNWaWRlbykKK3sKKyAgICB0YXJnZXRQaWNrZXIo
KS5zaG93UGxheWJhY2tUYXJnZXRQaWNrZXIoV2ViQ29yZTo6SW50UmVjdChyZWN0KSwgaGFzVmlk
ZW8pOworfQorCit2b2lkIFdlYk1lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXI6OnN0YXJ0aW5nTW9u
aXRvcmluZ1BsYXliYWNrVGFyZ2V0cygpCit7CisgICAgdGFyZ2V0UGlja2VyKCkuc3RhcnRpbmdN
b25pdG9yaW5nUGxheWJhY2tUYXJnZXRzKCk7Cit9CisKK3ZvaWQgV2ViTWVkaWFQbGF5YmFja1Rh
cmdldFBpY2tlcjo6c3RvcE1vbml0b3JpbmdQbGF5YmFja1RhcmdldHMoKQoreworICAgIHRhcmdl
dFBpY2tlcigpLnN0b3BNb25pdG9yaW5nUGxheWJhY2tUYXJnZXRzKCk7Cit9CisKK3ZvaWQgV2Vi
TWVkaWFQbGF5YmFja1RhcmdldFBpY2tlcjo6ZGlkQ2hvb3NlUGxheWJhY2tUYXJnZXQoY29uc3Qg
V2ViQ29yZTo6TWVkaWFQbGF5YmFja1RhcmdldCYgdGFyZ2V0KQoreworICAgIGlmICghbV9wYWdl
KQorICAgICAgICByZXR1cm47CisKKyAgICBtX3BhZ2UtPmRpZENob29zZVBsYXliYWNrVGFyZ2V0
KHRhcmdldCk7Cit9CisKK3ZvaWQgV2ViTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlcjo6ZXh0ZXJu
YWxPdXRwdXREZXZpY2VBdmFpbGFibGVEaWRDaGFuZ2UoYm9vbCBhdmFpbGFibGUpCit7CisgICAg
aWYgKCFtX3BhZ2UpCisgICAgICAgIHJldHVybjsKKworICAgIG1fcGFnZS0+cGxheWJhY2tUYXJn
ZXRBdmFpbGFiaWxpdHlEaWRDaGFuZ2UoYXZhaWxhYmxlKTsKK30KKwordm9pZCBXZWJNZWRpYVBs
YXliYWNrVGFyZ2V0UGlja2VyOjppbnZhbGlkYXRlKCkKK3sKKyAgICBtX3BhZ2UgPSBudWxscHRy
OworfQorCitXZWJDb3JlOjpNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyJiBXZWJNZWRpYVBsYXli
YWNrVGFyZ2V0UGlja2VyOjp0YXJnZXRQaWNrZXIoKQoreworICAgIGlmICghbV90YXJnZXRQaWNr
ZXIpCisgICAgICAgIG1fdGFyZ2V0UGlja2VyID0gV2ViQ29yZTo6TWVkaWFQbGF5YmFja1Rhcmdl
dFBpY2tlck1hYzo6Y3JlYXRlKCp0aGlzKTsKKworICAgIHJldHVybiAqbV90YXJnZXRQaWNrZXIu
Z2V0KCk7Cit9CisjZW5kaWYKKwogQGltcGxlbWVudGF0aW9uIFdlYlZpZXdQcml2YXRlCiAKICsg
KHZvaWQpaW5pdGlhbGl6ZQpJbmRleDogU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3
SW50ZXJuYWwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZp
ZXdJbnRlcm5hbC5oCShyZXZpc2lvbiAxODE4MDApCisrKyBTb3VyY2UvV2ViS2l0L21hYy9XZWJW
aWV3L1dlYlZpZXdJbnRlcm5hbC5oCSh3b3JraW5nIGNvcHkpCkBAIC02MCw2ICs2MCw3IEBAIHN0
cnVjdCBEaWN0YXRpb25BbHRlcm5hdGl2ZTsKIH0KIAogc3RydWN0IERpY3Rpb25hcnlQb3B1cElu
Zm87CitjbGFzcyBXZWJNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyOwogY2xhc3MgV2ViU2VsZWN0
aW9uU2VydmljZUNvbnRyb2xsZXI7CiAjZW5kaWYKIApAQCAtMjY4LDQgKzI2OSwxMSBAQCBAaW50
ZXJmYWNlIFdlYlZpZXcgKFdlYlZpZXdPdGhlckludGVybmFsCiAjZW5kaWYKICNlbmRpZgogCisj
aWYgRU5BQkxFKFdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJiYgIVBMQVRGT1JNKElPUykgJiYg
ZGVmaW5lZChfX2NwbHVzcGx1cykKKy0gKFdlYk1lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXIgKikg
X2RldmljZVBpY2tlcjsKKy0gKHZvaWQpX3Nob3dQbGF5YmFja1RhcmdldFBpY2tlcjooY29uc3Qg
V2ViQ29yZTo6SW50UG9pbnQmKWxvY2F0aW9uIGhhc1ZpZGVvOihCT09MKWhhc1ZpZGVvOworLSAo
dm9pZClfc3RhcnRpbmdNb25pdG9yaW5nUGxheWJhY2tUYXJnZXRzOworLSAodm9pZClfc3RvcE1v
bml0b3JpbmdQbGF5YmFja1RhcmdldHM7CisjZW5kaWYKKwogQGVuZAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>249187</attachid>
            <date>2015-03-21 19:53:51 -0700</date>
            <delta_ts>2015-03-22 10:44:05 -0700</delta_ts>
            <desc>Updated patch.</desc>
            <filename>wk1_patch_4.txt</filename>
            <type>text/plain</type>
            <size>19439</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4MTgyNykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBACisyMDE1LTAzLTIxICBFcmljIENh
cmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFtNYWNdIEVuYWJsZSBX
SVJFTEVTU19QTEFZQkFDS19UQVJHRVQgZm9yIFdLMQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQyOTQwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RG9jdW1lbnQ6OmRpZENob29zZVBsYXliYWNrVGFyZ2V0KTogY29uc3QtaWZ5IHRoZSBk
aWRDaG9vc2VQbGF5YmFja1RhcmdldCBhcmd1bWVudC4KKyAgICAgICAgKiBkb20vRG9jdW1lbnQu
aDoKKworICAgICAgICAqIGh0bWwvSFRNTE1lZGlhU2Vzc2lvbi5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MTWVkaWFTZXNzaW9uOjpkaWRDaG9vc2VQbGF5YmFja1RhcmdldCk6IERpdHRvLgor
ICAgICAgICAqIGh0bWwvSFRNTE1lZGlhU2Vzc2lvbi5oOgorCisgICAgICAgICogcGFnZS9QYWdl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OmRpZENob29zZVBsYXliYWNrVGFyZ2V0KTog
IERpdHRvLgorICAgICAgICAqIHBhZ2UvUGFnZS5oOgorCisgICAgICAgICogcGxhdGZvcm0vYXVk
aW8vTWVkaWFTZXNzaW9uLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5
YmFja1RhcmdldFBpY2tlckNsaWVudC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2
Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXJNYWMubW06IAorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFQbGF5YmFja1RhcmdldFBpY2tlck1hYzo6ZGV2aWNlUGlja2VyKTog
IERpdHRvLgorCiAyMDE1LTAzLTIxICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0
Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTgxODI0LgpJbmRleDog
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuY3BwCShyZXZpc2lvbiAxODE4MDApCisrKyBTb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02NTE3LDcgKzY1MTcsNyBAQCB2
b2lkIERvY3VtZW50OjpwbGF5YmFja1RhcmdldEF2YWlsYWJpbGl0CiAgICAgICAgIGNsaWVudC0+
ZXh0ZXJuYWxPdXRwdXREZXZpY2VBdmFpbGFibGVEaWRDaGFuZ2UoYXZhaWxhYmxlKTsKIH0KIAot
dm9pZCBEb2N1bWVudDo6ZGlkQ2hvb3NlUGxheWJhY2tUYXJnZXQoTWVkaWFQbGF5YmFja1Rhcmdl
dCYgZGV2aWNlKQordm9pZCBEb2N1bWVudDo6ZGlkQ2hvb3NlUGxheWJhY2tUYXJnZXQoY29uc3Qg
TWVkaWFQbGF5YmFja1RhcmdldCYgZGV2aWNlKQogewogICAgIE1lZGlhUGxheWJhY2tUYXJnZXRQ
aWNrZXJDbGllbnQqIGNsaWVudFRoYXRSZXF1ZXN0ZWRQaWNrZXIgPSBudWxscHRyOwogCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuaAkocmV2aXNpb24gMTgxODAwKQorKysgU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTEyMjMsNyArMTIyMyw3IEBAIHB1Ymxp
YzoKIAogI2lmIEVOQUJMRShXSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpCiAgICAgdm9pZCBzaG93
UGxheWJhY2tUYXJnZXRQaWNrZXIoY29uc3QgSFRNTE1lZGlhRWxlbWVudCYpOwotICAgIHZvaWQg
ZGlkQ2hvb3NlUGxheWJhY2tUYXJnZXQoTWVkaWFQbGF5YmFja1RhcmdldCYpOworICAgIHZvaWQg
ZGlkQ2hvb3NlUGxheWJhY2tUYXJnZXQoY29uc3QgTWVkaWFQbGF5YmFja1RhcmdldCYpOwogICAg
IHZvaWQgYWRkUGxheWJhY2tUYXJnZXRQaWNrZXJDbGllbnQoTWVkaWFQbGF5YmFja1RhcmdldFBp
Y2tlckNsaWVudCYpOwogICAgIHZvaWQgcmVtb3ZlUGxheWJhY2tUYXJnZXRQaWNrZXJDbGllbnQo
TWVkaWFQbGF5YmFja1RhcmdldFBpY2tlckNsaWVudCYpOwogICAgIGJvb2wgcmVxdWlyZXNQbGF5
YmFja1RhcmdldFJvdXRlTW9uaXRvcmluZygpOwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWVkaWFTZXNzaW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxNZWRpYVNlc3Npb24uY3BwCShyZXZpc2lvbiAxODE4MDApCisrKyBTb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxNZWRpYVNlc3Npb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNzUsNyArMjc1LDcg
QEAgdm9pZCBIVE1MTWVkaWFTZXNzaW9uOjpzZXRIYXNQbGF5YmFja1RhcgogI2VuZGlmCiB9CiAK
LXZvaWQgSFRNTE1lZGlhU2Vzc2lvbjo6ZGlkQ2hvb3NlUGxheWJhY2tUYXJnZXQoTWVkaWFQbGF5
YmFja1RhcmdldCYgZGV2aWNlKQordm9pZCBIVE1MTWVkaWFTZXNzaW9uOjpkaWRDaG9vc2VQbGF5
YmFja1RhcmdldChjb25zdCBNZWRpYVBsYXliYWNrVGFyZ2V0JiBkZXZpY2UpCiB7CiAgICAgbV9o
YXZlUmVxdWVzdGVkUGxheWJhY2tUYXJnZXRQaWNrZXIgPSBmYWxzZTsKICAgICBjbGllbnQoKS5z
ZXRXaXJlbGVzc1BsYXliYWNrVGFyZ2V0KGRldmljZSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxNZWRpYVNlc3Npb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxNZWRpYVNlc3Npb24uaAkocmV2aXNpb24gMTgxODAwKQorKysgU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MTWVkaWFTZXNzaW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTk4LDcgKzk4LDcgQEAg
cHJpdmF0ZToKICAgICB2b2lkIHRhcmdldEF2YWlsYWJpbGl0eUNoYW5nZWRUaW1lckZpcmVkKCk7
CiAKICAgICAvLyBNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyQ2xpZW50Ci0gICAgdmlydHVhbCB2
b2lkIGRpZENob29zZVBsYXliYWNrVGFyZ2V0KE1lZGlhUGxheWJhY2tUYXJnZXQmKSBvdmVycmlk
ZTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hvb3NlUGxheWJhY2tUYXJnZXQoY29uc3QgTWVkaWFQ
bGF5YmFja1RhcmdldCYpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBleHRlcm5hbE91dHB1
dERldmljZUF2YWlsYWJsZURpZENoYW5nZShib29sKSBjb25zdCBvdmVycmlkZTsKICAgICB2aXJ0
dWFsIGJvb2wgcmVxdWlyZXNQbGF5YmFja1RhcmdldFJvdXRlTW9uaXRvcmluZygpIGNvbnN0IG92
ZXJyaWRlOwogICAgIHZpcnR1YWwgYm9vbCByZXF1ZXN0ZWRQbGF5YmFja1RhcmdldFBpY2tlcigp
IGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1faGF2ZVJlcXVlc3RlZFBsYXliYWNrVGFyZ2V0UGlj
a2VyOyB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAJKHJldmlzaW9uIDE4MTgwMCkKKysrIFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE2OTQsNyArMTY5NCw3
IEBAIHZvaWQgUGFnZTo6c2hvd1BsYXliYWNrVGFyZ2V0UGlja2VyKERvY3UKICNlbmRpZgogfQog
Ci12b2lkIFBhZ2U6OmRpZENob29zZVBsYXliYWNrVGFyZ2V0KE1lZGlhUGxheWJhY2tUYXJnZXQm
IHRhcmdldCkKK3ZvaWQgUGFnZTo6ZGlkQ2hvb3NlUGxheWJhY2tUYXJnZXQoY29uc3QgTWVkaWFQ
bGF5YmFja1RhcmdldCYgdGFyZ2V0KQogewogICAgIERvY3VtZW50KiBkb2N1bWVudFRoYXRSZXF1
ZXN0ZWRQaWNrZXIgPSBudWxscHRyOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2Uu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAkocmV2aXNpb24gMTgx
ODAwKQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQz
MCw3ICs0MzAsNyBAQCBwdWJsaWM6CiAgICAgTWVkaWFQbGF5YmFja1RhcmdldCYgcGxheWJhY2tU
YXJnZXQoKSBjb25zdCB7IHJldHVybiAqbV9wbGF5YmFja1RhcmdldC5nZXQoKTsgfQogICAgIHZv
aWQgY29uZmlndXJlUGxheWJhY2tUYXJnZXRNb25pdG9yaW5nKCk7CiAKLSAgICBXRUJDT1JFX0VY
UE9SVCB2b2lkIGRpZENob29zZVBsYXliYWNrVGFyZ2V0KE1lZGlhUGxheWJhY2tUYXJnZXQmKTsK
KyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGRpZENob29zZVBsYXliYWNrVGFyZ2V0KGNvbnN0IE1l
ZGlhUGxheWJhY2tUYXJnZXQmKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHBsYXliYWNrVGFy
Z2V0QXZhaWxhYmlsaXR5RGlkQ2hhbmdlKGJvb2wpOwogI2VuZGlmCiAKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL01lZGlhU2Vzc2lvbi5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL01lZGlhU2Vzc2lvbi5oCShyZXZpc2lvbiAxODE4MDAp
CisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9NZWRpYVNlc3Npb24uaAkod29ya2lu
ZyBjb3B5KQpAQCAtMTE5LDcgKzExOSw3IEBAIHB1YmxpYzoKIAogI2lmIEVOQUJMRShXSVJFTEVT
U19QTEFZQkFDS19UQVJHRVQpCiAgICAgLy8gTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlckNsaWVu
dAotICAgIHZpcnR1YWwgdm9pZCBkaWRDaG9vc2VQbGF5YmFja1RhcmdldChNZWRpYVBsYXliYWNr
VGFyZ2V0Jikgb3ZlcnJpZGUgeyB9CisgICAgdmlydHVhbCB2b2lkIGRpZENob29zZVBsYXliYWNr
VGFyZ2V0KGNvbnN0IE1lZGlhUGxheWJhY2tUYXJnZXQmKSBvdmVycmlkZSB7IH0KICAgICB2aXJ0
dWFsIHZvaWQgZXh0ZXJuYWxPdXRwdXREZXZpY2VBdmFpbGFibGVEaWRDaGFuZ2UoYm9vbCkgY29u
c3Qgb3ZlcnJpZGUgeyB9CiAgICAgdmlydHVhbCBib29sIHJlcXVpcmVzUGxheWJhY2tUYXJnZXRS
b3V0ZU1vbml0b3JpbmcoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQogICAgIHZp
cnR1YWwgYm9vbCByZXF1ZXN0ZWRQbGF5YmFja1RhcmdldFBpY2tlcigpIGNvbnN0IG92ZXJyaWRl
IHsgcmV0dXJuIGZhbHNlOyB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyQ2xpZW50LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlckNsaWVu
dC5oCShyZXZpc2lvbiAxODE4MDApCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyQ2xpZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTM4
LDcgKzM4LDcgQEAgY2xhc3MgTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlckNsaWVudCB7CiBwdWJs
aWM6CiAgICAgdmlydHVhbCB+TWVkaWFQbGF5YmFja1RhcmdldFBpY2tlckNsaWVudCgpIHsgfQog
Ci0gICAgdmlydHVhbCB2b2lkIGRpZENob29zZVBsYXliYWNrVGFyZ2V0KE1lZGlhUGxheWJhY2tU
YXJnZXQmKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGRpZENob29zZVBsYXliYWNrVGFyZ2V0KGNv
bnN0IE1lZGlhUGxheWJhY2tUYXJnZXQmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGV4dGVybmFs
T3V0cHV0RGV2aWNlQXZhaWxhYmxlRGlkQ2hhbmdlKGJvb2wpIGNvbnN0ID0gMDsKIAogICAgIHZp
cnR1YWwgYm9vbCByZXF1aXJlc1BsYXliYWNrVGFyZ2V0Um91dGVNb25pdG9yaW5nKCkgY29uc3Qg
PSAwOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9u
L29iamMvTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlck1hYy5tbQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXli
YWNrVGFyZ2V0UGlja2VyTWFjLm1tCShyZXZpc2lvbiAxODE4MDApCisrKyBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXliYWNrVGFyZ2V0
UGlja2VyTWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xMTgsNyArMTE4LDcgQEAgQVZPdXRwdXRE
ZXZpY2VQaWNrZXJNZW51Q29udHJvbGxlclR5cGUgKgogICAgICAgICBbbV9kZXZpY2VQaWNrZXJN
ZW51Q29udHJvbGxlciBhZGRPYnNlcnZlcjptX2RldmljZVBpY2tlck1lbnVDb250cm9sbGVyRGVs
ZWdhdGUuZ2V0KCkgZm9yS2V5UGF0aDpleHRlcm5hbE91dHB1dERldmljZUF2YWlsYWJsZUtleU5h
bWUgb3B0aW9uczpOU0tleVZhbHVlT2JzZXJ2aW5nT3B0aW9uTmV3IGNvbnRleHQ6bmlsXTsKICAg
ICAgICAgW21fZGV2aWNlUGlja2VyTWVudUNvbnRyb2xsZXIgYWRkT2JzZXJ2ZXI6bV9kZXZpY2VQ
aWNrZXJNZW51Q29udHJvbGxlckRlbGVnYXRlLmdldCgpIGZvcktleVBhdGg6ZXh0ZXJuYWxPdXRw
dXREZXZpY2VQaWNrZWRLZXlOYW1lIG9wdGlvbnM6TlNLZXlWYWx1ZU9ic2VydmluZ09wdGlvbk5l
dyBjb250ZXh0Om5pbF07CiAKLSAgICAgICAgaWYgKGRldmljZVBpY2tlcigpLmV4dGVybmFsT3V0
cHV0RGV2aWNlQXZhaWxhYmxlKQorICAgICAgICBpZiAobV9kZXZpY2VQaWNrZXJNZW51Q29udHJv
bGxlci5nZXQoKS5leHRlcm5hbE91dHB1dERldmljZUF2YWlsYWJsZSkKICAgICAgICAgICAgIGF2
YWlsYWJsZURldmljZXNEaWRDaGFuZ2UoKTsKICAgICB9CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHJldmlz
aW9uIDE4MTgyNykKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDEzIEBACisyMDE1LTAzLTIxICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25A
YXBwbGUuY29tPgorCisgICAgICAgIFtNYWNdIEVuYWJsZSBXSVJFTEVTU19QTEFZQkFDS19UQVJH
RVQgZm9yIFdLMQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTQyOTQwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dlYlBhZ2VNYWMubW06CisgICAgICAgIChXZWJL
aXQ6OldlYlBhZ2U6OnBsYXliYWNrVGFyZ2V0U2VsZWN0ZWQpOiBBcmd1bWVudCB0byBkaWRDaG9v
c2VQbGF5YmFja1RhcmdldCBpcyBub3cgY29uc3QuCisKIDIwMTUtMDMtMjEgIENzYWJhIE9zenRy
b2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KIAogICAgICAgICBbRUZMXVtHVEtdIE1ha2UgV2Vi
S2l0MidzIGdlbmVyYXRlLWZvcndhcmRpbmctaGVhZGVycy5wbCBsZXNzIHZlcmJvc2UKSW5kZXg6
IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dlYlBhZ2VN
YWMubW0JKHJldmlzaW9uIDE4MTgwMCkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9tYWMvV2ViUGFnZU1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAtMTIwNyw4ICsxMjA3LDcg
QEAgdm9pZCBXZWJQYWdlOjpzZXRGb250KGNvbnN0IFN0cmluZyYgZm9udAogI2lmIEVOQUJMRShX
SVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICYmICFQTEFURk9STShJT1MpCiB2b2lkIFdlYlBhZ2U6
OnBsYXliYWNrVGFyZ2V0U2VsZWN0ZWQoY29uc3QgV2ViQ29yZTo6TWVkaWFQbGF5YmFja1Rhcmdl
dCYgcGxheWJhY2tUYXJnZXQpIGNvbnN0CiB7Ci0gICAgTWVkaWFQbGF5YmFja1RhcmdldCBub25D
b25zdFRhcmdldChwbGF5YmFja1RhcmdldC5kZXZpY2VQaWNrZXJDb250ZXh0KCkpOwotICAgIG1f
cGFnZS0+ZGlkQ2hvb3NlUGxheWJhY2tUYXJnZXQobm9uQ29uc3RUYXJnZXQpOworICAgIG1fcGFn
ZS0+ZGlkQ2hvb3NlUGxheWJhY2tUYXJnZXQocGxheWJhY2tUYXJnZXQpOwogfQogCiB2b2lkIFdl
YlBhZ2U6OnBsYXliYWNrVGFyZ2V0QXZhaWxhYmlsaXR5RGlkQ2hhbmdlKGJvb2wgY2hhbmdlZCkK
SW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L21hYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4MTgyNykKKysrIFNvdXJjZS9XZWJLaXQv
bWFjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM3IEBACisyMDE1LTAzLTIx
ICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFtNYWNd
IEVuYWJsZSBXSVJFTEVTU19QTEFZQkFDS19UQVJHRVQgZm9yIFdLMQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQyOTQwCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJv
bWVDbGllbnQuaDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW06
CisgICAgICAgIChXZWJDaHJvbWVDbGllbnQ6OnNob3dQbGF5YmFja1RhcmdldFBpY2tlcik6IE5l
dy4KKyAgICAgICAgKFdlYkNocm9tZUNsaWVudDo6c3RhcnRpbmdNb25pdG9yaW5nUGxheWJhY2tU
YXJnZXRzKTogTmV3LgorICAgICAgICAoV2ViQ2hyb21lQ2xpZW50OjpzdG9wTW9uaXRvcmluZ1Bs
YXliYWNrVGFyZ2V0cyk6IE5ldy4KKworICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAg
ICAgICAgKC1bV2ViVmlldyBfY2xvc2VdKTogSW52YWxpZGF0ZSBhbmQgZnJlZSB0aGUgdGFyZ2V0
IHBpY2tlci4KKyAgICAgICAgKC1bV2ViVmlldyBfZGV2aWNlUGlja2VyXSk6IE5ldy4KKyAgICAg
ICAgKC1bV2ViVmlldyBfc2hvd1BsYXliYWNrVGFyZ2V0UGlja2VyOmhhc1ZpZGVvOl0pOiBOZXcu
CisgICAgICAgICgtW1dlYlZpZXcgX3N0YXJ0aW5nTW9uaXRvcmluZ1BsYXliYWNrVGFyZ2V0c10p
OiBOZXcuCisgICAgICAgICgtW1dlYlZpZXcgX3N0b3BNb25pdG9yaW5nUGxheWJhY2tUYXJnZXRz
XSk6IE5ldy4KKworICAgICAgICAqIFdlYlZpZXcvV2ViVmlld0RhdGEuaDoKKyAgICAgICAgKFdl
Yk1lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXI6On5XZWJNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2Vy
KToKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXdEYXRhLm1tOgorICAgICAgICAoV2ViTWVkaWFQ
bGF5YmFja1RhcmdldFBpY2tlcjo6Y3JlYXRlKTogTmV3LgorICAgICAgICAoV2ViTWVkaWFQbGF5
YmFja1RhcmdldFBpY2tlcjo6V2ViTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlcik6IE5ldy4KKyAg
ICAgICAgKFdlYk1lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXI6OnNob3dQbGF5YmFja1RhcmdldFBp
Y2tlcik6IE5ldy4KKyAgICAgICAgKFdlYk1lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXI6OnN0YXJ0
aW5nTW9uaXRvcmluZ1BsYXliYWNrVGFyZ2V0cyk6IE5ldy4KKyAgICAgICAgKFdlYk1lZGlhUGxh
eWJhY2tUYXJnZXRQaWNrZXI6OnN0b3BNb25pdG9yaW5nUGxheWJhY2tUYXJnZXRzKTogTmV3Lgor
ICAgICAgICAoV2ViTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlcjo6ZGlkQ2hvb3NlUGxheWJhY2tU
YXJnZXQpOiBOZXcuCisgICAgICAgIChXZWJNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyOjpleHRl
cm5hbE91dHB1dERldmljZUF2YWlsYWJsZURpZENoYW5nZSk6IE5ldy4KKyAgICAgICAgKFdlYk1l
ZGlhUGxheWJhY2tUYXJnZXRQaWNrZXI6OmludmFsaWRhdGUpOiBOZXcuCisgICAgICAgIChXZWJN
ZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyOjp0YXJnZXRQaWNrZXIpOiBOZXcuCisgICAgICAgICog
V2ViVmlldy9XZWJWaWV3SW50ZXJuYWwuaDoKKwogMjAxNS0wMy0xOSAgQW5keSBFc3RlcyAgPGFl
c3Rlc0BhcHBsZS5jb20+CiAKICAgICAgICAgW0NvbnRlbnQgRmlsdGVyaW5nXSBBZGQgdGVzdHMg
Zm9yIHVuYmxvY2sgcmVxdWVzdHMKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBw
b3J0L1dlYkNocm9tZUNsaWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL1dl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCShyZXZpc2lvbiAxODE4MDApCisrKyBTb3Vy
Y2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAkod29ya2luZyBj
b3B5KQpAQCAtMjEzLDYgKzIxMywxMiBAQCBwdWJsaWM6CiAgICAgV2ViVmlldyogd2ViVmlldygp
IHsgcmV0dXJuIG1fd2ViVmlldzsgfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoV0lSRUxFU1NfUExB
WUJBQ0tfVEFSR0VUKSAmJiAhUExBVEZPUk0oSU9TKQorICAgIHZpcnR1YWwgdm9pZCBzaG93UGxh
eWJhY2tUYXJnZXRQaWNrZXIoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmLCBib29sIC8qIGhhc1Zp
ZGVvICovKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgc3RhcnRpbmdNb25pdG9yaW5nUGxh
eWJhY2tUYXJnZXRzKCkgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIHN0b3BNb25pdG9yaW5n
UGxheWJhY2tUYXJnZXRzKCkgb3ZlcnJpZGU7CisjZW5kaWYKKwogcHJpdmF0ZToKICAgICBXZWJW
aWV3ICptX3dlYlZpZXc7CiB9OwpJbmRleDogU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBv
cnQvV2ViQ2hyb21lQ2xpZW50Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL1dl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbQkocmV2aXNpb24gMTgxODAwKQorKysgU291
cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tCSh3b3JraW5n
IGNvcHkpCkBAIC0xMDM0LDMgKzEwMzQsMjAgQEAgYm9vbCBXZWJDaHJvbWVDbGllbnQ6Omhhc1Jl
bGV2YW50U2VsZWN0aQogfQogCiAjZW5kaWYKKworI2lmIEVOQUJMRShXSVJFTEVTU19QTEFZQkFD
S19UQVJHRVQpICYmICFQTEFURk9STShJT1MpCit2b2lkIFdlYkNocm9tZUNsaWVudDo6c2hvd1Bs
YXliYWNrVGFyZ2V0UGlja2VyKGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBsb2NhdGlvbiwgYm9v
bCBoYXNWaWRlbykKK3sKKyAgICBbbV93ZWJWaWV3IF9zaG93UGxheWJhY2tUYXJnZXRQaWNrZXI6
bG9jYXRpb24gaGFzVmlkZW86aGFzVmlkZW9dOworfQorCit2b2lkIFdlYkNocm9tZUNsaWVudDo6
c3RhcnRpbmdNb25pdG9yaW5nUGxheWJhY2tUYXJnZXRzKCkKK3sKKyAgICBbbV93ZWJWaWV3IF9z
dGFydGluZ01vbml0b3JpbmdQbGF5YmFja1RhcmdldHNdOworfQorCit2b2lkIFdlYkNocm9tZUNs
aWVudDo6c3RvcE1vbml0b3JpbmdQbGF5YmFja1RhcmdldHMoKQoreworICAgIFttX3dlYlZpZXcg
X3N0b3BNb25pdG9yaW5nUGxheWJhY2tUYXJnZXRzXTsKK30KKyNlbmRpZgpJbmRleDogU291cmNl
L1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQkocmV2aXNpb24gMTgxODAwKQorKysgU291cmNlL1dl
YktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yOTEsNiArMjkx
LDEwIEBACiAjaW1wb3J0IDxXZWJDb3JlL0hJREdhbWVwYWRQcm92aWRlci5oPgogI2VuZGlmCiAK
KyNpZiBFTkFCTEUoV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAmJiAhUExBVEZPUk0oSU9TKQor
I2ltcG9ydCA8V2ViQ29yZS9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyTWFjLmg+CisjZW5kaWYK
KwogI2lmIFBMQVRGT1JNKE1BQykKIFNPRlRfTElOS19DT05TVEFOVF9NQVlfRkFJTChMb29rdXAs
IExVTm90aWZpY2F0aW9uUG9wb3ZlcldpbGxDbG9zZSwgTlNTdHJpbmcgKikKIFNPRlRfTElOS19D
T05TVEFOVF9NQVlfRkFJTChMb29rdXAsIExVVGVybU9wdGlvbkRpc2FibGVTZWFyY2hUZXJtSW5k
aWNhdG9yLCBOU1N0cmluZyAqKQpAQCAtMTc4MCw2ICsxNzg0LDEzIEBAIC0gKHZvaWQpX2Nsb3Nl
CiAKICAgICBbc2VsZiBfY2xvc2VQbHVnaW5EYXRhYmFzZXNdOwogCisjaWYgRU5BQkxFKFdJUkVM
RVNTX1BMQVlCQUNLX1RBUkdFVCkgJiYgIVBMQVRGT1JNKElPUykKKyAgICBpZiAoX3ByaXZhdGUt
Pm1fcGxheWJhY2tUYXJnZXRQaWNrZXIpIHsKKyAgICAgICAgX3ByaXZhdGUtPm1fcGxheWJhY2tU
YXJnZXRQaWNrZXItPmludmFsaWRhdGUoKTsKKyAgICAgICAgX3ByaXZhdGUtPm1fcGxheWJhY2tU
YXJnZXRQaWNrZXIgPSBudWxscHRyOworICAgIH0KKyNlbmRpZgorCiAjaWZuZGVmIE5ERUJVRwog
ICAgIC8vIE5lZWQgdGhpcyB0byBtYWtlIGxlYWsgbWVzc2FnZXMgYWNjdXJhdGUuCiAgICAgaWYg
KGFwcGxpY2F0aW9uSXNUZXJtaW5hdGluZykgewpAQCAtODY0MCw2ICs4NjUxLDQyIEBAIC0gKHZv
aWQpX2RpY3Rpb25hcnlMb29rdXBQb3BvdmVyV2lsbENsb3MKIH0KICNlbmRpZiAvLyBQTEFURk9S
TShNQUMpCiAKKyNpZiBFTkFCTEUoV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAmJiAhUExBVEZP
Uk0oSU9TKQorLSAoV2ViTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlciAqKSBfZGV2aWNlUGlja2Vy
Cit7CisgICAgaWYgKCFfcHJpdmF0ZS0+bV9wbGF5YmFja1RhcmdldFBpY2tlcikKKyAgICAgICAg
X3ByaXZhdGUtPm1fcGxheWJhY2tUYXJnZXRQaWNrZXIgPSBXZWJNZWRpYVBsYXliYWNrVGFyZ2V0
UGlja2VyOjpjcmVhdGUoKl9wcml2YXRlLT5wYWdlKTsKKworICAgIHJldHVybiBfcHJpdmF0ZS0+
bV9wbGF5YmFja1RhcmdldFBpY2tlci5nZXQoKTsKK30KKworLSAodm9pZClfc2hvd1BsYXliYWNr
VGFyZ2V0UGlja2VyOihjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYpbG9jYXRpb24gaGFzVmlkZW86
KEJPT0wpaGFzVmlkZW8KK3sKKyAgICBpZiAoIV9wcml2YXRlLT5wYWdlKQorICAgICAgICByZXR1
cm47CisKKyAgICBOU1JlY3QgcmVjdEluV2luZG93Q29vcmRpbmF0ZXMgPSBbc2VsZiBjb252ZXJ0
UmVjdDpbc2VsZiBfY29udmVydFJlY3RGcm9tUm9vdFZpZXc6Q0dSZWN0TWFrZShsb2NhdGlvbi54
KCksIGxvY2F0aW9uLnkoKSwgMCwgMCldIHRvVmlldzpuaWxdOworICAgIE5TUmVjdCByZWN0SW5T
Y3JlZW5Db29yZGluYXRlcyA9IFtzZWxmLndpbmRvdyBjb252ZXJ0UmVjdFRvU2NyZWVuOnJlY3RJ
bldpbmRvd0Nvb3JkaW5hdGVzXTsKKyAgICBbc2VsZiBfZGV2aWNlUGlja2VyXS0+c2hvd1BsYXli
YWNrVGFyZ2V0UGlja2VyKHJlY3RJblNjcmVlbkNvb3JkaW5hdGVzLCBoYXNWaWRlbyk7Cit9CisK
Ky0gKHZvaWQpX3N0YXJ0aW5nTW9uaXRvcmluZ1BsYXliYWNrVGFyZ2V0cworeworICAgIGlmICgh
X3ByaXZhdGUtPnBhZ2UpCisgICAgICAgIHJldHVybjsKKworICAgIFtzZWxmIF9kZXZpY2VQaWNr
ZXJdLT5zdGFydGluZ01vbml0b3JpbmdQbGF5YmFja1RhcmdldHMoKTsKK30KKworLSAodm9pZClf
c3RvcE1vbml0b3JpbmdQbGF5YmFja1RhcmdldHMKK3sKKyAgICBpZiAoIV9wcml2YXRlLT5wYWdl
KQorICAgICAgICByZXR1cm47CisKKyAgICBbc2VsZiBfZGV2aWNlUGlja2VyXS0+c3RvcE1vbml0
b3JpbmdQbGF5YmFja1RhcmdldHMoKTsKK30KKyNlbmRpZgorCiBAZW5kCiAKIEBpbXBsZW1lbnRh
dGlvbiBXZWJWaWV3IChXZWJWaWV3RGV2aWNlT3JpZW50YXRpb24pCkluZGV4OiBTb3VyY2UvV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYlZpZXdEYXRhLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dC9tYWMvV2ViVmlldy9XZWJWaWV3RGF0YS5oCShyZXZpc2lvbiAxODE4MDApCisrKyBTb3VyY2Uv
V2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXdEYXRhLmgJKHdvcmtpbmcgY29weSkKQEAgLTQzLDYg
KzQzLDEwIEBACiAjaW1wb3J0ICJXZWJDYXJldENoYW5nZUxpc3RlbmVyLmgiCiAjZW5kaWYKIAor
I2lmIEVOQUJMRShXSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICYmICFQTEFURk9STShJT1MpCisj
aW5jbHVkZSA8V2ViQ29yZS9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyLmg+CisjZW5kaWYKKwog
bmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgQWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyOwog
Y2xhc3MgSGlzdG9yeUl0ZW07CkBAIC0xMjEsNiArMTI1LDMyIEBAIHByaXZhdGU6CiAgICAgV2Vi
Vmlld0xheWVyRmx1c2hTY2hlZHVsZXIgbV9sYXllckZsdXNoU2NoZWR1bGVyOwogfTsKIAorI2lm
IEVOQUJMRShXSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICYmICFQTEFURk9STShJT1MpCitjbGFz
cyBXZWJNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyIDogcHVibGljIFdlYkNvcmU6Ok1lZGlhUGxh
eWJhY2tUYXJnZXRQaWNrZXI6OkNsaWVudCB7CitwdWJsaWM6CisgICAgc3RhdGljIHN0ZDo6dW5p
cXVlX3B0cjxXZWJNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyPiBjcmVhdGUoV2ViQ29yZTo6UGFn
ZSYpOworCisgICAgZXhwbGljaXQgV2ViTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlcihXZWJDb3Jl
OjpQYWdlJik7CisgICAgdmlydHVhbCB+V2ViTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlcigpIHsg
fQorCisgICAgdm9pZCBzaG93UGxheWJhY2tUYXJnZXRQaWNrZXIoY29uc3QgV2ViQ29yZTo6Rmxv
YXRSZWN0JiwgYm9vbCAvKiBoYXNWaWRlbyAqLyk7CisgICAgdm9pZCBzdGFydGluZ01vbml0b3Jp
bmdQbGF5YmFja1RhcmdldHMoKTsKKyAgICB2b2lkIHN0b3BNb25pdG9yaW5nUGxheWJhY2tUYXJn
ZXRzKCk7CisKKyAgICAvLyBXZWJDb3JlOjpNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyOjpDbGll
bnQKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hvb3NlUGxheWJhY2tUYXJnZXQoY29uc3QgV2ViQ29y
ZTo6TWVkaWFQbGF5YmFja1RhcmdldCYpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBleHRl
cm5hbE91dHB1dERldmljZUF2YWlsYWJsZURpZENoYW5nZShib29sKSBvdmVycmlkZTsKKworICAg
IHZvaWQgaW52YWxpZGF0ZSgpOworCitwcml2YXRlOgorICAgIFdlYkNvcmU6Ok1lZGlhUGxheWJh
Y2tUYXJnZXRQaWNrZXImIHRhcmdldFBpY2tlcigpOworCisgICAgV2ViQ29yZTo6UGFnZSogbV9w
YWdlOworICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpNZWRpYVBsYXliYWNrVGFyZ2V0UGlj
a2VyPiBtX3RhcmdldFBpY2tlcjsKK307CisjZW5kaWYKKwogLy8gRklYTUU6IFRoaXMgc2hvdWxk
IGJlIHJlbmFtZWQgdG8gV2ViVmlld0RhdGEuCiBAaW50ZXJmYWNlIFdlYlZpZXdQcml2YXRlIDog
TlNPYmplY3QgewogQHB1YmxpYwpAQCAtMzAzLDUgKzMzMyw5IEBAIEBpbnRlcmZhY2UgV2ViVmll
d1ByaXZhdGUgOiBOU09iamVjdCB7CiAgICAgUmV0YWluUHRyPE5TRGF0YT4gc291cmNlQXBwbGlj
YXRpb25BdWRpdERhdGE7CiAKICAgICBCT09MIF9kaWRQZXJmb3JtRmlyc3ROYXZpZ2F0aW9uOwor
CisjaWYgRU5BQkxFKFdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJiYgIVBMQVRGT1JNKElPUykK
KyAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlcj4gbV9wbGF5
YmFja1RhcmdldFBpY2tlcjsKKyNlbmRpZgogfQogQGVuZApJbmRleDogU291cmNlL1dlYktpdC9t
YWMvV2ViVmlldy9XZWJWaWV3RGF0YS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21h
Yy9XZWJWaWV3L1dlYlZpZXdEYXRhLm1tCShyZXZpc2lvbiAxODE4MDApCisrKyBTb3VyY2UvV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYlZpZXdEYXRhLm1tCSh3b3JraW5nIGNvcHkpCkBAIC00Niw2ICs0
NiwxMSBAQAogI2ltcG9ydCAiV2ViR2VvbG9jYXRpb25Qcm92aWRlcklPUy5oIgogI2VuZGlmCiAK
KyNpZiBFTkFCTEUoV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAmJiAhUExBVEZPUk0oSU9TKQor
I2ltcG9ydCA8V2ViQ29yZS9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyTWFjLmg+CisjaW1wb3J0
IDxXZWJDb3JlL1BhZ2UuaD4KKyNlbmRpZgorCiBCT09MIGFwcGxpY2F0aW9uSXNUZXJtaW5hdGlu
ZyA9IE5POwogaW50IHBsdWdpbkRhdGFiYXNlQ2xpZW50Q291bnQgPSAwOwogCkBAIC03Myw2ICs3
OCw2MiBAQCBXZWJWaWV3TGF5ZXJGbHVzaFNjaGVkdWxlcjo6V2ViVmlld0xheWVyCiB7CiB9CiAK
KyNpZiBFTkFCTEUoV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAmJiAhUExBVEZPUk0oSU9TKQor
c3RkOjp1bmlxdWVfcHRyPFdlYk1lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXI+IFdlYk1lZGlhUGxh
eWJhY2tUYXJnZXRQaWNrZXI6OmNyZWF0ZShXZWJDb3JlOjpQYWdlJiBwYWdlKQoreworICAgIHJl
dHVybiBzdGQ6Om1ha2VfdW5pcXVlPFdlYk1lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXI+KHBhZ2Up
OworfQorCitXZWJNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyOjpXZWJNZWRpYVBsYXliYWNrVGFy
Z2V0UGlja2VyKFdlYkNvcmU6OlBhZ2UmIHBhZ2UpCisgICAgOiBtX3BhZ2UoJnBhZ2UpCit7Cit9
CisKK3ZvaWQgV2ViTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlcjo6c2hvd1BsYXliYWNrVGFyZ2V0
UGlja2VyKGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgcmVjdCwgYm9vbCBoYXNWaWRlbykKK3sK
KyAgICB0YXJnZXRQaWNrZXIoKS5zaG93UGxheWJhY2tUYXJnZXRQaWNrZXIoV2ViQ29yZTo6SW50
UmVjdChyZWN0KSwgaGFzVmlkZW8pOworfQorCit2b2lkIFdlYk1lZGlhUGxheWJhY2tUYXJnZXRQ
aWNrZXI6OnN0YXJ0aW5nTW9uaXRvcmluZ1BsYXliYWNrVGFyZ2V0cygpCit7CisgICAgdGFyZ2V0
UGlja2VyKCkuc3RhcnRpbmdNb25pdG9yaW5nUGxheWJhY2tUYXJnZXRzKCk7Cit9CisKK3ZvaWQg
V2ViTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlcjo6c3RvcE1vbml0b3JpbmdQbGF5YmFja1Rhcmdl
dHMoKQoreworICAgIHRhcmdldFBpY2tlcigpLnN0b3BNb25pdG9yaW5nUGxheWJhY2tUYXJnZXRz
KCk7Cit9CisKK3ZvaWQgV2ViTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlcjo6ZGlkQ2hvb3NlUGxh
eWJhY2tUYXJnZXQoY29uc3QgV2ViQ29yZTo6TWVkaWFQbGF5YmFja1RhcmdldCYgdGFyZ2V0KQor
eworICAgIGlmICghbV9wYWdlKQorICAgICAgICByZXR1cm47CisKKyAgICBtX3BhZ2UtPmRpZENo
b29zZVBsYXliYWNrVGFyZ2V0KHRhcmdldCk7Cit9CisKK3ZvaWQgV2ViTWVkaWFQbGF5YmFja1Rh
cmdldFBpY2tlcjo6ZXh0ZXJuYWxPdXRwdXREZXZpY2VBdmFpbGFibGVEaWRDaGFuZ2UoYm9vbCBh
dmFpbGFibGUpCit7CisgICAgaWYgKCFtX3BhZ2UpCisgICAgICAgIHJldHVybjsKKworICAgIG1f
cGFnZS0+cGxheWJhY2tUYXJnZXRBdmFpbGFiaWxpdHlEaWRDaGFuZ2UoYXZhaWxhYmxlKTsKK30K
Kwordm9pZCBXZWJNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyOjppbnZhbGlkYXRlKCkKK3sKKyAg
ICBtX3BhZ2UgPSBudWxscHRyOworfQorCitXZWJDb3JlOjpNZWRpYVBsYXliYWNrVGFyZ2V0UGlj
a2VyJiBXZWJNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyOjp0YXJnZXRQaWNrZXIoKQoreworICAg
IGlmICghbV90YXJnZXRQaWNrZXIpCisgICAgICAgIG1fdGFyZ2V0UGlja2VyID0gV2ViQ29yZTo6
TWVkaWFQbGF5YmFja1RhcmdldFBpY2tlck1hYzo6Y3JlYXRlKCp0aGlzKTsKKworICAgIHJldHVy
biAqbV90YXJnZXRQaWNrZXIuZ2V0KCk7Cit9CisjZW5kaWYKKwogQGltcGxlbWVudGF0aW9uIFdl
YlZpZXdQcml2YXRlCiAKICsgKHZvaWQpaW5pdGlhbGl6ZQpJbmRleDogU291cmNlL1dlYktpdC9t
YWMvV2ViVmlldy9XZWJWaWV3SW50ZXJuYWwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L21hYy9XZWJWaWV3L1dlYlZpZXdJbnRlcm5hbC5oCShyZXZpc2lvbiAxODE4MDApCisrKyBTb3Vy
Y2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXdJbnRlcm5hbC5oCSh3b3JraW5nIGNvcHkpCkBA
IC02MCw2ICs2MCw3IEBAIHN0cnVjdCBEaWN0YXRpb25BbHRlcm5hdGl2ZTsKIH0KIAogc3RydWN0
IERpY3Rpb25hcnlQb3B1cEluZm87CitjbGFzcyBXZWJNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2Vy
OwogY2xhc3MgV2ViU2VsZWN0aW9uU2VydmljZUNvbnRyb2xsZXI7CiAjZW5kaWYKIApAQCAtMjY4
LDQgKzI2OSwxMSBAQCBAaW50ZXJmYWNlIFdlYlZpZXcgKFdlYlZpZXdPdGhlckludGVybmFsCiAj
ZW5kaWYKICNlbmRpZgogCisjaWYgRU5BQkxFKFdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJiYg
IVBMQVRGT1JNKElPUykgJiYgZGVmaW5lZChfX2NwbHVzcGx1cykKKy0gKFdlYk1lZGlhUGxheWJh
Y2tUYXJnZXRQaWNrZXIgKikgX2RldmljZVBpY2tlcjsKKy0gKHZvaWQpX3Nob3dQbGF5YmFja1Rh
cmdldFBpY2tlcjooY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmKWxvY2F0aW9uIGhhc1ZpZGVvOihC
T09MKWhhc1ZpZGVvOworLSAodm9pZClfc3RhcnRpbmdNb25pdG9yaW5nUGxheWJhY2tUYXJnZXRz
OworLSAodm9pZClfc3RvcE1vbml0b3JpbmdQbGF5YmFja1RhcmdldHM7CisjZW5kaWYKKwogQGVu
ZAo=
</data>
<flag name="review"
          id="274012"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>