<?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>171485</bug_id>
          
          <creation_ts>2017-04-30 13:14:15 -0700</creation_ts>
          <short_desc>[Cocoa] Replace uses of [get…() alloc] with alloc…Instance()</short_desc>
          <delta_ts>2017-04-30 15:40:51 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Local 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>mitz</reporter>
          <assigned_to>mitz</assigned_to>
          <cc>bdakin</cc>
    
    <cc>buildbot</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1303129</commentid>
    <comment_count>0</comment_count>
    <who name="">mitz</who>
    <bug_when>2017-04-30 13:14:15 -0700</bug_when>
    <thetext>[get…() alloc] returns an id, which can lead to ambiguity, whereas alloc…Instance() returns the instance type.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1303130</commentid>
    <comment_count>1</comment_count>
      <attachid>308699</attachid>
    <who name="">mitz</who>
    <bug_when>2017-04-30 13:15:51 -0700</bug_when>
    <thetext>Created attachment 308699
Use the safer idiom</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1303131</commentid>
    <comment_count>2</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-04-30 13:18:32 -0700</bug_when>
    <thetext>Attachment 308699 did not pass style-queue:


ERROR: Source/WebCore/platform/network/ios/PreviewConverter.mm:51:  Missing spaces around :  [whitespace/init] [4]
ERROR: Source/WebCore/platform/network/ios/PreviewConverter.mm:56:  Missing spaces around :  [whitespace/init] [4]
Total errors found: 2 in 13 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1303134</commentid>
    <comment_count>3</comment_count>
      <attachid>308699</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2017-04-30 13:26:02 -0700</bug_when>
    <thetext>Comment on attachment 308699
Use the safer idiom

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

r=me

&gt; Source/WebCore/ChangeLog:3
&gt; +        [Cocoa] Replaces uses of [getâ¦() alloc] with allocâ¦Instance()

I think you meant &quot;get...Class()&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1303136</commentid>
    <comment_count>4</comment_count>
    <who name="">mitz</who>
    <bug_when>2017-04-30 13:31:13 -0700</bug_when>
    <thetext>(In reply to Geoffrey Garen from comment #3)
&gt; Comment on attachment 308699 [details]
&gt; Use the safer idiom
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=308699&amp;action=review
&gt; 
&gt; r=me

Thanks!

&gt; 
&gt; &gt; Source/WebCore/ChangeLog:3
&gt; &gt; +        [Cocoa] Replaces uses of [getâ¦() alloc] with allocâ¦Instance()
&gt; 
&gt; I think you meant &quot;get...Class()&quot;.

I think you meant to comment in bug 75394 :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1303142</commentid>
    <comment_count>5</comment_count>
      <attachid>308699</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-04-30 13:47:25 -0700</bug_when>
    <thetext>Comment on attachment 308699
Use the safer idiom

Clearing flags on attachment: 308699

Committed r215992: &lt;http://trac.webkit.org/changeset/215992&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1303143</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-04-30 13:47:26 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1303144</commentid>
    <comment_count>7</comment_count>
    <who name="">mitz</who>
    <bug_when>2017-04-30 13:53:29 -0700</bug_when>
    <thetext>(In reply to WebKit Commit Bot from comment #5)
&gt; Comment on attachment 308699 [details]
&gt; Use the safer idiom
&gt; 
&gt; Clearing flags on attachment: 308699
&gt; 
&gt; Committed r215992: &lt;http://trac.webkit.org/changeset/215992&gt;

Tried to fix the iOS build in &lt;https://trac.webkit.org/r215993&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1303146</commentid>
    <comment_count>8</comment_count>
    <who name="">mitz</who>
    <bug_when>2017-04-30 14:05:17 -0700</bug_when>
    <thetext>(In reply to mitz from comment #7)
&gt; (In reply to WebKit Commit Bot from comment #5)
&gt; &gt; Comment on attachment 308699 [details]
&gt; &gt; Use the safer idiom
&gt; &gt; 
&gt; &gt; Clearing flags on attachment: 308699
&gt; &gt; 
&gt; &gt; Committed r215992: &lt;http://trac.webkit.org/changeset/215992&gt;
&gt; 
&gt; Tried to fix the iOS build in &lt;https://trac.webkit.org/r215993&gt;.

And again in &lt;https://trac.webkit.org/r215995&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1303156</commentid>
    <comment_count>9</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2017-04-30 15:33:16 -0700</bug_when>
    <thetext>&gt; &gt; &gt; Source/WebCore/ChangeLog:3
&gt; &gt; &gt; +        [Cocoa] Replaces uses of [getâ¦() alloc] with allocâ¦Instance()
&gt; &gt; 
&gt; &gt; I think you meant &quot;get...Class()&quot;.
&gt; 
&gt; I think you meant to comment in bug 75394 :)

Heh, I was trying to call attention to the missing word &quot;Class&quot; rather than the rendering of &quot;...&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1303158</commentid>
    <comment_count>10</comment_count>
    <who name="">mitz</who>
    <bug_when>2017-04-30 15:40:51 -0700</bug_when>
    <thetext>(In reply to Geoffrey Garen from comment #9)
&gt; &gt; &gt; &gt; Source/WebCore/ChangeLog:3
&gt; &gt; &gt; &gt; +        [Cocoa] Replaces uses of [getâ¦() alloc] with allocâ¦Instance()
&gt; &gt; &gt; 
&gt; &gt; &gt; I think you meant &quot;get...Class()&quot;.
&gt; &gt; 
&gt; &gt; I think you meant to comment in bug 75394 :)
&gt; 
&gt; Heh, I was trying to call attention to the missing word &quot;Class&quot; rather than
&gt; the rendering of &quot;...&quot;.

😮</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>308699</attachid>
            <date>2017-04-30 13:15:51 -0700</date>
            <delta_ts>2017-04-30 13:47:25 -0700</delta_ts>
            <desc>Use the safer idiom</desc>
            <filename>bug-171485-20170430131551.patch</filename>
            <type>text/plain</type>
            <size>16821</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxNTk5MCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI5IEBACisyMDE3LTA0LTMwICBEYW4gQmVy
bnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBSZXBsYWNlcyB1c2Vz
IG9mIFtnZXTigKYoKSBhbGxvY10gd2l0aCBhbGxvY+KApkluc3RhbmNlKCkKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MTQ4NQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL29iamMvQ0RNU2Vzc2lvbkFWQ29udGVudEtleVNlc3Npb24ubW06CisgICAg
ICAgIChXZWJDb3JlOjpDRE1TZXNzaW9uQVZDb250ZW50S2V5U2Vzc2lvbjo6Y29udGVudEtleVNl
c3Npb24pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01l
ZGlhUGxheWJhY2tUYXJnZXRQaWNrZXJNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBs
YXliYWNrVGFyZ2V0UGlja2VyTWFjOjpkZXZpY2VQaWNrZXIpOgorICAgICAgICAqIHBsYXRmb3Jt
L2lvcy9WYWxpZGF0aW9uQnViYmxlSU9TLm1tOgorICAgICAgICAoLVtXZWJWYWxpZGF0aW9uQnVi
YmxlVGFwUmVjb2duaXplciBpbml0V2l0aFBvcG92ZXJDb250cm9sbGVyOl0pOgorICAgICAgICAo
V2ViQ29yZTo6VmFsaWRhdGlvbkJ1YmJsZTo6VmFsaWRhdGlvbkJ1YmJsZSk6CisgICAgICAgICog
cGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXJBVktpdC5tbToKKyAgICAg
ICAgKFdlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXJDb250ZXh0OjpzZXRVcEZ1bGxzY3JlZW4p
OgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktp
dC5tbToKKyAgICAgICAgKFdlYkFWUGxheWVyTGF5ZXJWaWV3X3BpY3R1cmVJblBpY3R1cmVQbGF5
ZXJMYXllclZpZXcpOgorICAgICAgICAoV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6
OnNldHVwRnVsbHNjcmVlbik6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1dlYlZpZGVvRnVsbHNj
cmVlbkludGVyZmFjZU1hYy5tbToKKyAgICAgICAgKC1bV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJm
YWNlTWFjT2JqQyBzZXRVcFBJUEZvclZpZGVvVmlldzp3aXRoRnJhbWU6aW5XaW5kb3c6XSk6Cisg
ICAgICAgICogcGxhdGZvcm0vbmV0d29yay9pb3MvUHJldmlld0NvbnZlcnRlci5tbToKKyAgICAg
ICAgKFdlYkNvcmU6OlByZXZpZXdDb252ZXJ0ZXI6OlByZXZpZXdDb252ZXJ0ZXIpOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5tbToKKyAgICAgICAgKFdlYkNvcmU6Omljb25G
b3JBdHRhY2htZW50KToKKwogMjAxNy0wNC0zMCAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUu
Y29tPgogCiAgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zMTkwNjUyNT4gV2ViQ29yZS03NjA0LjEu
MTkgaGFzIGZhaWxlZCB0byBidWlsZApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvQ0RNU2Vzc2lvbkFWQ29udGVudEtleVNlc3Npb24ubW0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL29iamMvQ0RNU2Vzc2lvbkFWQ29udGVudEtleVNlc3Npb24ubW0JKHJldmlzaW9uIDIxNTk5
MCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpj
L0NETVNlc3Npb25BVkNvbnRlbnRLZXlTZXNzaW9uLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zNTgs
NyArMzU4LDcgQEAgQVZDb250ZW50S2V5U2Vzc2lvbiogQ0RNU2Vzc2lvbkFWQ29udGVudAogICAg
ICAgICAgICAgICAgIHJldHVybiBuaWw7CiAgICAgICAgIH0KIAotICAgICAgICBtX2NvbnRlbnRL
ZXlTZXNzaW9uID0gYWRvcHROUyhbW2dldEFWQ29udGVudEtleVNlc3Npb25DbGFzcygpIGFsbG9j
XSBpbml0V2l0aFN0b3JhZ2VEaXJlY3RvcnlBdFVSTDpbTlNVUkwgZmlsZVVSTFdpdGhQYXRoOnN0
b3JhZ2VQYXRoXV0pOworICAgICAgICBtX2NvbnRlbnRLZXlTZXNzaW9uID0gYWRvcHROUyhbYWxs
b2NBVkNvbnRlbnRLZXlTZXNzaW9uSW5zdGFuY2UoKSBpbml0V2l0aFN0b3JhZ2VEaXJlY3RvcnlB
dFVSTDpbTlNVUkwgZmlsZVVSTFdpdGhQYXRoOnN0b3JhZ2VQYXRoXV0pOwogICAgICAgICBtX2Nv
bnRlbnRLZXlTZXNzaW9uLmdldCgpLmRlbGVnYXRlID0gbV9jb250ZW50S2V5U2Vzc2lvbkRlbGVn
YXRlLmdldCgpOwogICAgIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlck1hYy5tbQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24v
b2JqYy9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyTWFjLm1tCShyZXZpc2lvbiAyMTU5OTApCisr
KyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRp
YVBsYXliYWNrVGFyZ2V0UGlja2VyTWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC05NCw4ICs5NCw4
IEBAIEFWT3V0cHV0RGV2aWNlTWVudUNvbnRyb2xsZXJUeXBlICpNZWRpYVAKICAgICBpZiAoIW1f
b3V0cHV0RGV2aWNlTWVudUNvbnRyb2xsZXIpIHsKICAgICAgICAgTE9HKE1lZGlhLCAiTWVkaWFQ
bGF5YmFja1RhcmdldFBpY2tlck1hYzo6ZGV2aWNlUGlja2VyIC0gYWxsb2NhdGluZyBwaWNrZXIi
KTsKIAotICAgICAgICBSZXRhaW5QdHI8QVZPdXRwdXRDb250ZXh0VHlwZT4gY29udGV4dCA9IGFk
b3B0TlMoW1tnZXRBVk91dHB1dENvbnRleHRDbGFzcygpIGFsbG9jXSBpbml0XSk7Ci0gICAgICAg
IG1fb3V0cHV0RGV2aWNlTWVudUNvbnRyb2xsZXIgPSBhZG9wdE5TKFtbZ2V0QVZPdXRwdXREZXZp
Y2VNZW51Q29udHJvbGxlckNsYXNzKCkgYWxsb2NdIGluaXRXaXRoT3V0cHV0Q29udGV4dDpjb250
ZXh0LmdldCgpXSk7CisgICAgICAgIFJldGFpblB0cjxBVk91dHB1dENvbnRleHRUeXBlPiBjb250
ZXh0ID0gYWRvcHROUyhbYWxsb2NBVk91dHB1dENvbnRleHRJbnN0YW5jZSgpIGluaXRdKTsKKyAg
ICAgICAgbV9vdXRwdXREZXZpY2VNZW51Q29udHJvbGxlciA9IGFkb3B0TlMoW2FsbG9jQVZPdXRw
dXREZXZpY2VNZW51Q29udHJvbGxlckluc3RhbmNlKCkgaW5pdFdpdGhPdXRwdXRDb250ZXh0OmNv
bnRleHQuZ2V0KCldKTsKIAogICAgICAgICBbbV9vdXRwdXREZXZpY2VNZW51Q29udHJvbGxlci5n
ZXQoKSBhZGRPYnNlcnZlcjptX291dHB1dERldmljZU1lbnVDb250cm9sbGVyRGVsZWdhdGUuZ2V0
KCkgZm9yS2V5UGF0aDpleHRlcm5hbE91dHB1dERldmljZUF2YWlsYWJsZUtleU5hbWUgb3B0aW9u
czpOU0tleVZhbHVlT2JzZXJ2aW5nT3B0aW9uTmV3IGNvbnRleHQ6bnVsbHB0cl07CiAgICAgICAg
IFttX291dHB1dERldmljZU1lbnVDb250cm9sbGVyLmdldCgpIGFkZE9ic2VydmVyOm1fb3V0cHV0
RGV2aWNlTWVudUNvbnRyb2xsZXJEZWxlZ2F0ZS5nZXQoKSBmb3JLZXlQYXRoOmV4dGVybmFsT3V0
cHV0RGV2aWNlUGlja2VkS2V5TmFtZSBvcHRpb25zOk5TS2V5VmFsdWVPYnNlcnZpbmdPcHRpb25O
ZXcgY29udGV4dDpudWxscHRyXTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9W
YWxpZGF0aW9uQnViYmxlSU9TLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2lvcy9WYWxpZGF0aW9uQnViYmxlSU9TLm1tCShyZXZpc2lvbiAyMTU5OTApCisrKyBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvVmFsaWRhdGlvbkJ1YmJsZUlPUy5tbQkod29ya2luZyBj
b3B5KQpAQCAtNjAsNyArNjAsNyBAQCAtIChXZWJWYWxpZGF0aW9uQnViYmxlVGFwUmVjb2duaXpl
ciAqKWluCiAgICAgICAgIHJldHVybiBuaWw7CiAKICAgICBfcG9wb3ZlckNvbnRyb2xsZXIgPSBw
b3BvdmVyQ29udHJvbGxlcjsKLSAgICBfdGFwR2VzdHVyZVJlY29nbml6ZXIgPSBhZG9wdE5TKFtb
Z2V0VUlUYXBHZXN0dXJlUmVjb2duaXplckNsYXNzKCkgYWxsb2NdIGluaXRXaXRoVGFyZ2V0OnNl
bGYgYWN0aW9uOkBzZWxlY3RvcihkaXNtaXNzUG9wb3ZlcildKTsKKyAgICBfdGFwR2VzdHVyZVJl
Y29nbml6ZXIgPSBhZG9wdE5TKFthbGxvY1VJVGFwR2VzdHVyZVJlY29nbml6ZXJJbnN0YW5jZSgp
IGluaXRXaXRoVGFyZ2V0OnNlbGYgYWN0aW9uOkBzZWxlY3RvcihkaXNtaXNzUG9wb3ZlcildKTsK
ICAgICBbW19wb3BvdmVyQ29udHJvbGxlciB2aWV3XSBhZGRHZXN0dXJlUmVjb2duaXplcjpfdGFw
R2VzdHVyZVJlY29nbml6ZXIuZ2V0KCldOwogCiAgICAgcmV0dXJuIHNlbGY7CkBAIC0xMDUsMTQg
KzEwNSwxNCBAQCBWYWxpZGF0aW9uQnViYmxlOjpWYWxpZGF0aW9uQnViYmxlKFVJVmllCiAgICAg
OiBtX3ZpZXcodmlldykKICAgICAsIG1fbWVzc2FnZShtZXNzYWdlKQogewotICAgIG1fcG9wb3Zl
ckNvbnRyb2xsZXIgPSBhZG9wdE5TKFtbZ2V0VUlWaWV3Q29udHJvbGxlckNsYXNzKCkgYWxsb2Nd
IGluaXRdKTsKKyAgICBtX3BvcG92ZXJDb250cm9sbGVyID0gYWRvcHROUyhbYWxsb2NVSVZpZXdD
b250cm9sbGVySW5zdGFuY2UoKSBpbml0XSk7CiAgICAgW21fcG9wb3ZlckNvbnRyb2xsZXIgc2V0
TW9kYWxQcmVzZW50YXRpb25TdHlsZTpVSU1vZGFsUHJlc2VudGF0aW9uUG9wb3Zlcl07CiAKLSAg
ICBSZXRhaW5QdHI8VUlWaWV3PiBwb3BvdmVyVmlldyA9IGFkb3B0TlMoW1tnZXRVSVZpZXdDbGFz
cygpIGFsbG9jXSBpbml0V2l0aEZyYW1lOkNHUmVjdFplcm9dKTsKKyAgICBSZXRhaW5QdHI8VUlW
aWV3PiBwb3BvdmVyVmlldyA9IGFkb3B0TlMoW2FsbG9jVUlWaWV3SW5zdGFuY2UoKSBpbml0V2l0
aEZyYW1lOkNHUmVjdFplcm9dKTsKICAgICBbbV9wb3BvdmVyQ29udHJvbGxlciBzZXRWaWV3OnBv
cG92ZXJWaWV3LmdldCgpXTsKICAgICBtX3RhcFJlY29nbml6ZXIgPSBhZG9wdE5TKFtbV2ViVmFs
aWRhdGlvbkJ1YmJsZVRhcFJlY29nbml6ZXIgYWxsb2NdIGluaXRXaXRoUG9wb3ZlckNvbnRyb2xs
ZXI6bV9wb3BvdmVyQ29udHJvbGxlci5nZXQoKV0pOwogCi0gICAgUmV0YWluUHRyPFVJTGFiZWw+
IGxhYmVsID0gYWRvcHROUyhbW2dldFVJTGFiZWxDbGFzcygpIGFsbG9jXSBpbml0V2l0aEZyYW1l
OkNHUmVjdFplcm9dKTsKKyAgICBSZXRhaW5QdHI8VUlMYWJlbD4gbGFiZWwgPSBhZG9wdE5TKFth
bGxvY1VJTGFiZWxJbnN0YW5jZSgpIGluaXRXaXRoRnJhbWU6Q0dSZWN0WmVyb10pOwogICAgIFts
YWJlbCBzZXRUZXh0Om1lc3NhZ2VdOwogICAgIFtsYWJlbCBzZXRGb250OltnZXRVSUZvbnRDbGFz
cygpIHByZWZlcnJlZEZvbnRGb3JUZXh0U3R5bGU6Z2V0VUlGb250VGV4dFN0eWxlQ2FsbG91dCgp
XV07CiAgICAgbV9mb250U2l6ZSA9IFtbbGFiZWwgZm9udF0gcG9pbnRTaXplXTsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyQVZL
aXQubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVv
RnVsbHNjcmVlbkNvbnRyb2xsZXJBVktpdC5tbQkocmV2aXNpb24gMjE1OTkwKQorKysgU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXJBVktpdC5t
bQkod29ya2luZyBjb3B5KQpAQCAtNzg1LDcgKzc4NSw3IEBAICAgICAgICAgbV9pbnRlcmZhY2Ut
PnNldFdlYlZpZGVvRnVsbHNjcmUKICAgICAgICAgbV9pbnRlcmZhY2UtPnNldFdlYlZpZGVvRnVs
bHNjcmVlbk1vZGVsKHRoaXMpOwogICAgICAgICBtX2ludGVyZmFjZS0+c2V0V2ViVmlkZW9GdWxs
c2NyZWVuQ2hhbmdlT2JzZXJ2ZXIodGhpcyk7CiAKLSAgICAgICAgbV92aWRlb0Z1bGxzY3JlZW5W
aWV3ID0gYWRvcHROUyhbW2dldFVJVmlld0NsYXNzKCkgYWxsb2NdIGluaXRdKTsKKyAgICAgICAg
bV92aWRlb0Z1bGxzY3JlZW5WaWV3ID0gYWRvcHROUyhbYWxsb2NVSVZpZXdJbnN0YW5jZSgpIGlu
aXRdKTsKICAgICAgICAgCiAgICAgICAgIG1faW50ZXJmYWNlLT5zZXR1cEZ1bGxzY3JlZW4oKm1f
dmlkZW9GdWxsc2NyZWVuVmlldy5nZXQoKSwgdmlkZW9FbGVtZW50Q2xpZW50UmVjdCwgdmlld1Jl
Zi5nZXQoKSwgbW9kZSwgYWxsb3dzUGljdHVyZUluUGljdHVyZSk7CiAgICAgfSk7CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZL
aXQubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVv
RnVsbHNjcmVlbkludGVyZmFjZUFWS2l0Lm1tCShyZXZpc2lvbiAyMTU5OTApCisrKyBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQubW0J
KHdvcmtpbmcgY29weSkKQEAgLTQ0NCw3ICs0NDQsNyBAQCBzdGF0aWMgV2ViQVZQaWN0dXJlSW5Q
aWN0dXJlUGxheWVyTGF5ZXJWCiAgICAgV2ViQVZQbGF5ZXJMYXllclZpZXcgKnBsYXllckxheWVy
VmlldyA9IGFTZWxmOwogICAgIFdlYkFWUGljdHVyZUluUGljdHVyZVBsYXllckxheWVyVmlldyAq
cGlwVmlldyA9IFtwbGF5ZXJMYXllclZpZXcgdmFsdWVGb3JLZXk6QCJfcGljdHVyZUluUGljdHVy
ZVBsYXllckxheWVyVmlldyJdOwogICAgIGlmICghcGlwVmlldykgewotICAgICAgICBwaXBWaWV3
ID0gW1tnZXRXZWJBVlBpY3R1cmVJblBpY3R1cmVQbGF5ZXJMYXllclZpZXdDbGFzcygpIGFsbG9j
XSBpbml0V2l0aEZyYW1lOkNHUmVjdFplcm9dOworICAgICAgICBwaXBWaWV3ID0gW2FsbG9jV2Vi
QVZQaWN0dXJlSW5QaWN0dXJlUGxheWVyTGF5ZXJWaWV3SW5zdGFuY2UoKSBpbml0V2l0aEZyYW1l
OkNHUmVjdFplcm9dOwogICAgICAgICBbcGxheWVyTGF5ZXJWaWV3IHNldFZhbHVlOnBpcFZpZXcg
Zm9yS2V5OkAiX3BpY3R1cmVJblBpY3R1cmVQbGF5ZXJMYXllclZpZXciXTsKICAgICB9CiAgICAg
cmV0dXJuIHBpcFZpZXc7CkBAIC02MTMsNyArNjEzLDcgQEAgdm9pZCBXZWJWaWRlb0Z1bGxzY3Jl
ZW5JbnRlcmZhY2VBVktpdDo6cwogICAgIH0KIAogICAgIGlmICghbV9wbGF5ZXJMYXllclZpZXcp
Ci0gICAgICAgIG1fcGxheWVyTGF5ZXJWaWV3ID0gYWRvcHROUyhbW2dldFdlYkFWUGxheWVyTGF5
ZXJWaWV3Q2xhc3MoKSBhbGxvY10gaW5pdF0pOworICAgICAgICBtX3BsYXllckxheWVyVmlldyA9
IGFkb3B0TlMoW2FsbG9jV2ViQVZQbGF5ZXJMYXllclZpZXdJbnN0YW5jZSgpIGluaXRdKTsKICAg
ICBbbV9wbGF5ZXJMYXllclZpZXcgc2V0SGlkZGVuOltwbGF5ZXJDb250cm9sbGVyKCkgaXNFeHRl
cm5hbFBsYXliYWNrQWN0aXZlXV07CiAgICAgW21fcGxheWVyTGF5ZXJWaWV3IHNldEJhY2tncm91
bmRDb2xvcjpbZ2V0VUlDb2xvckNsYXNzKCkgY2xlYXJDb2xvcl1dOwogCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlTWFjLm1tCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJWaWRlb0Z1bGxzY3Jl
ZW5JbnRlcmZhY2VNYWMubW0JKHJldmlzaW9uIDIxNTk5MCkKKysrIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21hYy9XZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VNYWMubW0JKHdvcmtpbmcgY29w
eSkKQEAgLTE4Nyw3ICsxODcsNyBAQCAtICh2b2lkKXNldFVwUElQRm9yVmlkZW9WaWV3OihOU1Zp
ZXcgKil2CiAgICAgQVNTRVJUKCFfdmlkZW9WaWV3Q29udGFpbmVyQ29udHJvbGxlcik7CiAgICAg
QVNTRVJUKCFfdmlkZW9WaWV3Q29udGFpbmVyKTsKIAotICAgIF9waXBWaWV3Q29udHJvbGxlciA9
IGFkb3B0TlMoW1tnZXRQSVBWaWV3Q29udHJvbGxlckNsYXNzKCkgYWxsb2NdIGluaXRdKTsKKyAg
ICBfcGlwVmlld0NvbnRyb2xsZXIgPSBhZG9wdE5TKFthbGxvY1BJUFZpZXdDb250cm9sbGVySW5z
dGFuY2UoKSBpbml0XSk7CiAgICAgW19waXBWaWV3Q29udHJvbGxlciBzZXREZWxlZ2F0ZTpzZWxm
XTsKICAgICBbX3BpcFZpZXdDb250cm9sbGVyIHNldFVzZXJDYW5SZXNpemU6WUVTXTsKICAgICBb
X3BpcFZpZXdDb250cm9sbGVyIHNldFBsYXlpbmc6X3BsYXlpbmddOwpJbmRleDogU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9pb3MvUHJldmlld0NvbnZlcnRlci5tbQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2lvcy9QcmV2aWV3Q29udmVydGVy
Lm1tCShyZXZpc2lvbiAyMTU5OTApCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L2lvcy9QcmV2aWV3Q29udmVydGVyLm1tCSh3b3JraW5nIGNvcHkpCkBAIC00OCwxMiArNDgsMTIg
QEAgc3RhdGljIE5TRGljdGlvbmFyeSAqb3B0aW9uc1dpdGhQYXNzd29yZAogfQogCiBQcmV2aWV3
Q29udmVydGVyOjpQcmV2aWV3Q29udmVydGVyKGlkIGRlbGVnYXRlLCBjb25zdCBSZXNvdXJjZVJl
c3BvbnNlJiByZXNwb25zZSwgY29uc3QgU3RyaW5nJiBwYXNzd29yZCkKLSAgICA6IG1fcGxhdGZv
cm1Db252ZXJ0ZXIgeyBhZG9wdE5TKFtbZ2V0UUxQcmV2aWV3Q29udmVydGVyQ2xhc3MoKSBhbGxv
Y10gaW5pdFdpdGhDb25uZWN0aW9uOm5pbCBkZWxlZ2F0ZTpkZWxlZ2F0ZSByZXNwb25zZTpyZXNw
b25zZS5uc1VSTFJlc3BvbnNlKCkgb3B0aW9uczpvcHRpb25zV2l0aFBhc3N3b3JkKHBhc3N3b3Jk
KV0pIH0KKyAgICA6IG1fcGxhdGZvcm1Db252ZXJ0ZXIgeyBhZG9wdE5TKFthbGxvY1FMUHJldmll
d0NvbnZlcnRlckluc3RhbmNlKCkgaW5pdFdpdGhDb25uZWN0aW9uOm5pbCBkZWxlZ2F0ZTpkZWxl
Z2F0ZSByZXNwb25zZTpyZXNwb25zZS5uc1VSTFJlc3BvbnNlKCkgb3B0aW9uczpvcHRpb25zV2l0
aFBhc3N3b3JkKHBhc3N3b3JkKV0pIH0KIHsKIH0KIAogUHJldmlld0NvbnZlcnRlcjo6UHJldmll
d0NvbnZlcnRlcihOU0RhdGEgKmRhdGEsIGNvbnN0IFN0cmluZyYgdXRpLCBjb25zdCBTdHJpbmcm
IHBhc3N3b3JkKQotICAgIDogbV9wbGF0Zm9ybUNvbnZlcnRlciB7IGFkb3B0TlMoW1tnZXRRTFBy
ZXZpZXdDb252ZXJ0ZXJDbGFzcygpIGFsbG9jXSBpbml0V2l0aERhdGE6ZGF0YSBuYW1lOm5pbCB1
dGk6dXRpIG9wdGlvbnM6b3B0aW9uc1dpdGhQYXNzd29yZChwYXNzd29yZCldKSB9CisgICAgOiBt
X3BsYXRmb3JtQ29udmVydGVyIHsgYWRvcHROUyhbYWxsb2NRTFByZXZpZXdDb252ZXJ0ZXJJbnN0
YW5jZSgpIGluaXRXaXRoRGF0YTpkYXRhIG5hbWU6bmlsIHV0aTp1dGkgb3B0aW9uczpvcHRpb25z
V2l0aFBhc3N3b3JkKHBhc3N3b3JkKV0pIH0KIHsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5tbQkocmV2aXNpb24gMjE1OTkwKQorKysgU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0x
NTk1LDcgKzE1OTUsNyBAQCBzdGF0aWMgQk9PTCBnZXRBdHRhY2htZW50UHJvZ3Jlc3MoY29uc3Qg
CiAKIHN0YXRpYyBSZXRhaW5QdHI8VUlJbWFnZT4gaWNvbkZvckF0dGFjaG1lbnQoY29uc3QgUmVu
ZGVyQXR0YWNobWVudCYgYXR0YWNobWVudCwgRmxvYXRTaXplJiBzaXplKQogewotICAgIGF1dG8g
ZG9jdW1lbnRJbnRlcmFjdGlvbkNvbnRyb2xsZXIgPSBhZG9wdE5TKFtbZ2V0VUlEb2N1bWVudElu
dGVyYWN0aW9uQ29udHJvbGxlckNsYXNzKCkgYWxsb2NdIGluaXRdKTsKKyAgICBhdXRvIGRvY3Vt
ZW50SW50ZXJhY3Rpb25Db250cm9sbGVyID0gYWRvcHROUyhbYWxsb2NVSURvY3VtZW50SW50ZXJh
Y3Rpb25Db250cm9sbGVySW5zdGFuY2UoKSBpbml0XSk7CiAKICAgICBTdHJpbmcgZmlsZU5hbWU7
CiAgICAgaWYgKEZpbGUqIGZpbGUgPSBhdHRhY2htZW50LmF0dGFjaG1lbnRFbGVtZW50KCkuZmls
ZSgpKQpJbmRleDogU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZwkocmV2aXNpb24gMjE1OTkwKQorKysgU291cmNlL1dlYktpdDIv
Q2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTctMDQtMzAgIERh
biBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIFJlcGxhY2Vz
IHVzZXMgb2YgW2dldOKApigpIGFsbG9jXSB3aXRoIGFsbG9j4oCmSW5zdGFuY2UoKQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcxNDg1CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBQbGF0Zm9ybS9tYWMv
TWVudVV0aWxpdGllcy5tbToKKyAgICAgICAgKFdlYktpdDo6bWVudUl0ZW1Gb3JUZWxlcGhvbmVO
dW1iZXIpOgorICAgICAgICAoV2ViS2l0OjptZW51Rm9yVGVsZXBob25lTnVtYmVyKToKKwogMjAx
Ny0wNC0zMCAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmVn
cmVzc2lvbiAocjIxNTk0MSkgVW5leHBlY3RlZCBsb2dnaW5nIGNhdXNlcyBwZXJmIHRlc3RzIHRv
IGZhaWwuCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9tYWMvTWVudVV0aWxpdGllcy5t
bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9tYWMvTWVudVV0aWxpdGll
cy5tbQkocmV2aXNpb24gMjE1OTkwKQorKysgU291cmNlL1dlYktpdDIvUGxhdGZvcm0vbWFjL01l
bnVVdGlsaXRpZXMubW0JKHdvcmtpbmcgY29weSkKQEAgLTUxLDcgKzUxLDcgQEAgTlNNZW51SXRl
bSAqbWVudUl0ZW1Gb3JUZWxlcGhvbmVOdW1iZXIoYwogICAgIGlmICghRGF0YURldGVjdG9yc0xp
YnJhcnkoKSkKICAgICAgICAgcmV0dXJuIG5pbDsKIAotICAgIFJldGFpblB0cjxEREFjdGlvbkNv
bnRleHQ+IGFjdGlvbkNvbnRleHQgPSBhZG9wdE5TKFtbZ2V0RERBY3Rpb25Db250ZXh0Q2xhc3Mo
KSBhbGxvY10gaW5pdF0pOworICAgIFJldGFpblB0cjxEREFjdGlvbkNvbnRleHQ+IGFjdGlvbkNv
bnRleHQgPSBhZG9wdE5TKFthbGxvY0REQWN0aW9uQ29udGV4dEluc3RhbmNlKCkgaW5pdF0pOwog
ICAgIFthY3Rpb25Db250ZXh0IHNldEFsbG93ZWRBY3Rpb25VVElzOkBbIEAiY29tLmFwcGxlLmRp
YWwiIF1dOwogCiAgICAgTlNBcnJheSAqcHJvcG9zZWRNZW51SXRlbXMgPSBbW2dldEREQWN0aW9u
c01hbmFnZXJDbGFzcygpIHNoYXJlZE1hbmFnZXJdIG1lbnVJdGVtc0ZvclZhbHVlOihOU1N0cmlu
ZyAqKXRlbGVwaG9uZU51bWJlciB0eXBlOmdldEREQmluZGVyUGhvbmVOdW1iZXJLZXkoKSBzZXJ2
aWNlOm5pbCBjb250ZXh0OmFjdGlvbkNvbnRleHQuZ2V0KCldOwpAQCAtODIsNyArODIsNyBAQCBS
ZXRhaW5QdHI8TlNNZW51PiBtZW51Rm9yVGVsZXBob25lTnVtYmVyCiAgICAgTlNNdXRhYmxlQXJy
YXkgKmZhY2VUaW1lSXRlbXMgPSBbTlNNdXRhYmxlQXJyYXkgYXJyYXldOwogICAgIE5TTWVudUl0
ZW0gKmRpYWxJdGVtID0gbmlsOwogCi0gICAgUmV0YWluUHRyPEREQWN0aW9uQ29udGV4dD4gYWN0
aW9uQ29udGV4dCA9IGFkb3B0TlMoW1tnZXREREFjdGlvbkNvbnRleHRDbGFzcygpIGFsbG9jXSBp
bml0XSk7CisgICAgUmV0YWluUHRyPEREQWN0aW9uQ29udGV4dD4gYWN0aW9uQ29udGV4dCA9IGFk
b3B0TlMoW2FsbG9jRERBY3Rpb25Db250ZXh0SW5zdGFuY2UoKSBpbml0XSk7CiAgICAgW2FjdGlv
bkNvbnRleHQgc2V0QWxsb3dlZEFjdGlvblVUSXM6QFsgQCJjb20uYXBwbGUuZGlhbCIsIEAiY29t
LmFwcGxlLmZhY2V0aW1lIiwgQCJjb20uYXBwbGUuZmFjZXRpbWVhdWRpbyIgXV07CiAKICAgICBO
U0FycmF5ICpwcm9wb3NlZE1lbnVJdGVtcyA9IFtbZ2V0RERBY3Rpb25zTWFuYWdlckNsYXNzKCkg
c2hhcmVkTWFuYWdlcl0gbWVudUl0ZW1zRm9yVmFsdWU6KE5TU3RyaW5nICopdGVsZXBob25lTnVt
YmVyIHR5cGU6Z2V0RERCaW5kZXJQaG9uZU51bWJlcktleSgpIHNlcnZpY2U6bmlsIGNvbnRleHQ6
YWN0aW9uQ29udGV4dC5nZXQoKV07CkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMTU5
OTApCisrKyBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEs
MyArMSwxNCBAQAorMjAxNy0wNC0zMCAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgor
CisgICAgICAgIFtDb2NvYV0gUmVwbGFjZXMgdXNlcyBvZiBbZ2V04oCmKCkgYWxsb2NdIHdpdGgg
YWxsb2PigKZJbnN0YW5jZSgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNzE0ODUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVUlUZXh0SW5k
aWNhdG9yRGF0YSBpbml0V2l0aEltYWdlOnRleHRJbmRpY2F0b3JEYXRhOnNjYWxlOl0pOgorICAg
ICAgICAoLVtXZWJVSVRleHRJbmRpY2F0b3JEYXRhIGluaXRXaXRoSW1hZ2U6c2NhbGU6XSk6CisK
IDIwMTctMDQtMjggIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAg
IEFkZGluZyBhIHJ1bnRpbWUgZmxhZyBzcGVjaWZpYyB0byBNZWRpYURldmljZXMKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0JKHJldmlzaW9uIDIxNTk5MCkKKysrIFNvdXJj
ZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQkod29ya2luZyBjb3B5KQpAQCAtNjU0LDcg
KzY1NCw3IEBAIC0gKFdlYlVJVGV4dEluZGljYXRvckRhdGEgKilpbml0V2l0aEltYWcKICAgICBp
ZiAoIShzZWxmID0gW3N1cGVyIGluaXRdKSkKICAgICAgICAgcmV0dXJuIG5pbDsKICAgICAKLSAg
ICBfZGF0YUludGVyYWN0aW9uSW1hZ2UgPSBbW2dldFVJSW1hZ2VDbGFzcygpIGFsbG9jXSBpbml0
V2l0aENHSW1hZ2U6aW1hZ2Ugc2NhbGU6c2NhbGUgb3JpZW50YXRpb246VUlJbWFnZU9yaWVudGF0
aW9uRG93bk1pcnJvcmVkXTsKKyAgICBfZGF0YUludGVyYWN0aW9uSW1hZ2UgPSBbYWxsb2NVSUlt
YWdlSW5zdGFuY2UoKSBpbml0V2l0aENHSW1hZ2U6aW1hZ2Ugc2NhbGU6c2NhbGUgb3JpZW50YXRp
b246VUlJbWFnZU9yaWVudGF0aW9uRG93bk1pcnJvcmVkXTsKICAgICBfc2VsZWN0aW9uUmVjdElu
Um9vdFZpZXdDb29yZGluYXRlcyA9IGluZGljYXRvckRhdGEuc2VsZWN0aW9uUmVjdEluUm9vdFZp
ZXdDb29yZGluYXRlczsKICAgICBfdGV4dEJvdW5kaW5nUmVjdEluUm9vdFZpZXdDb29yZGluYXRl
cyA9IGluZGljYXRvckRhdGEudGV4dEJvdW5kaW5nUmVjdEluUm9vdFZpZXdDb29yZGluYXRlczsK
ICAgICAKQEAgLTY2NCwyMCArNjY0LDIwIEBAIC0gKFdlYlVJVGV4dEluZGljYXRvckRhdGEgKilp
bml0V2l0aEltYWcKICAgICBfdGV4dFJlY3RzSW5Cb3VuZGluZ1JlY3RDb29yZGluYXRlcyA9IFtb
TlNBcnJheSBhcnJheVdpdGhBcnJheTp0ZXh0UmVjdHNJbkJvdW5kaW5nUmVjdENvb3JkaW5hdGVz
XSByZXRhaW5dOwogICAgIF9jb250ZW50SW1hZ2VTY2FsZUZhY3RvciA9IGluZGljYXRvckRhdGEu
Y29udGVudEltYWdlU2NhbGVGYWN0b3I7CiAgICAgaWYgKGluZGljYXRvckRhdGEuY29udGVudElt
YWdlV2l0aEhpZ2hsaWdodCkKLSAgICAgICAgX2NvbnRlbnRJbWFnZVdpdGhIaWdobGlnaHQgPSBb
W2dldFVJSW1hZ2VDbGFzcygpIGFsbG9jXSBpbml0V2l0aENHSW1hZ2U6aW5kaWNhdG9yRGF0YS5j
b250ZW50SW1hZ2VXaXRoSGlnaGxpZ2h0LmdldCgpLT5uYXRpdmVJbWFnZSgpLmdldCgpIHNjYWxl
OnNjYWxlIG9yaWVudGF0aW9uOlVJSW1hZ2VPcmllbnRhdGlvbkRvd25NaXJyb3JlZF07CisgICAg
ICAgIF9jb250ZW50SW1hZ2VXaXRoSGlnaGxpZ2h0ID0gW2FsbG9jVUlJbWFnZUluc3RhbmNlKCkg
aW5pdFdpdGhDR0ltYWdlOmluZGljYXRvckRhdGEuY29udGVudEltYWdlV2l0aEhpZ2hsaWdodC5n
ZXQoKS0+bmF0aXZlSW1hZ2UoKS5nZXQoKSBzY2FsZTpzY2FsZSBvcmllbnRhdGlvbjpVSUltYWdl
T3JpZW50YXRpb25Eb3duTWlycm9yZWRdOwogICAgIGlmIChpbmRpY2F0b3JEYXRhLmNvbnRlbnRJ
bWFnZSkKLSAgICAgICAgX2NvbnRlbnRJbWFnZSA9IFtbZ2V0VUlJbWFnZUNsYXNzKCkgYWxsb2Nd
IGluaXRXaXRoQ0dJbWFnZTppbmRpY2F0b3JEYXRhLmNvbnRlbnRJbWFnZS5nZXQoKS0+bmF0aXZl
SW1hZ2UoKS5nZXQoKSBzY2FsZTpzY2FsZSBvcmllbnRhdGlvbjpVSUltYWdlT3JpZW50YXRpb25V
cF07CisgICAgICAgIF9jb250ZW50SW1hZ2UgPSBbYWxsb2NVSUltYWdlSW5zdGFuY2UoKSBpbml0
V2l0aENHSW1hZ2U6aW5kaWNhdG9yRGF0YS5jb250ZW50SW1hZ2UuZ2V0KCktPm5hdGl2ZUltYWdl
KCkuZ2V0KCkgc2NhbGU6c2NhbGUgb3JpZW50YXRpb246VUlJbWFnZU9yaWVudGF0aW9uVXBdOwog
CiAgICAgaWYgKGluZGljYXRvckRhdGEuY29udGVudEltYWdlV2l0aG91dFNlbGVjdGlvbikgewog
ICAgICAgICBhdXRvIG5hdGl2ZUltYWdlID0gaW5kaWNhdG9yRGF0YS5jb250ZW50SW1hZ2VXaXRo
b3V0U2VsZWN0aW9uLmdldCgpLT5uYXRpdmVJbWFnZSgpOwogICAgICAgICBpZiAobmF0aXZlSW1h
Z2UpIHsKLSAgICAgICAgICAgIF9jb250ZW50SW1hZ2VXaXRob3V0U2VsZWN0aW9uID0gW1tnZXRV
SUltYWdlQ2xhc3MoKSBhbGxvY10gaW5pdFdpdGhDR0ltYWdlOm5hdGl2ZUltYWdlLmdldCgpIHNj
YWxlOnNjYWxlIG9yaWVudGF0aW9uOlVJSW1hZ2VPcmllbnRhdGlvblVwXTsKKyAgICAgICAgICAg
IF9jb250ZW50SW1hZ2VXaXRob3V0U2VsZWN0aW9uID0gW2FsbG9jVUlJbWFnZUluc3RhbmNlKCkg
aW5pdFdpdGhDR0ltYWdlOm5hdGl2ZUltYWdlLmdldCgpIHNjYWxlOnNjYWxlIG9yaWVudGF0aW9u
OlVJSW1hZ2VPcmllbnRhdGlvblVwXTsKICAgICAgICAgICAgIF9jb250ZW50SW1hZ2VXaXRob3V0
U2VsZWN0aW9uUmVjdEluUm9vdFZpZXdDb29yZGluYXRlcyA9IGluZGljYXRvckRhdGEuY29udGVu
dEltYWdlV2l0aG91dFNlbGVjdGlvblJlY3RJblJvb3RWaWV3Q29vcmRpbmF0ZXM7CiAgICAgICAg
IH0KICAgICB9CiAKICAgICBpZiAoaW5kaWNhdG9yRGF0YS5vcHRpb25zICYgVGV4dEluZGljYXRv
ck9wdGlvbkNvbXB1dGVFc3RpbWF0ZWRCYWNrZ3JvdW5kQ29sb3IpCi0gICAgICAgIF9lc3RpbWF0
ZWRCYWNrZ3JvdW5kQ29sb3IgPSBbW2dldFVJQ29sb3JDbGFzcygpIGFsbG9jXSBpbml0V2l0aENH
Q29sb3I6Y2FjaGVkQ0dDb2xvcihpbmRpY2F0b3JEYXRhLmVzdGltYXRlZEJhY2tncm91bmRDb2xv
cildOworICAgICAgICBfZXN0aW1hdGVkQmFja2dyb3VuZENvbG9yID0gW2FsbG9jVUlDb2xvcklu
c3RhbmNlKCkgaW5pdFdpdGhDR0NvbG9yOmNhY2hlZENHQ29sb3IoaW5kaWNhdG9yRGF0YS5lc3Rp
bWF0ZWRCYWNrZ3JvdW5kQ29sb3IpXTsKIAogICAgIHJldHVybiBzZWxmOwogfQpAQCAtNjg3LDcg
KzY4Nyw3IEBAIC0gKFdlYlVJVGV4dEluZGljYXRvckRhdGEgKilpbml0V2l0aEltYWcKICAgICBp
ZiAoIShzZWxmID0gW3N1cGVyIGluaXRdKSkKICAgICAgICAgcmV0dXJuIG5pbDsKICAgICAKLSAg
ICBfZGF0YUludGVyYWN0aW9uSW1hZ2UgPSBbW2dldFVJSW1hZ2VDbGFzcygpIGFsbG9jXSBpbml0
V2l0aENHSW1hZ2U6aW1hZ2Ugc2NhbGU6c2NhbGUgb3JpZW50YXRpb246VUlJbWFnZU9yaWVudGF0
aW9uRG93bk1pcnJvcmVkXTsKKyAgICBfZGF0YUludGVyYWN0aW9uSW1hZ2UgPSBbYWxsb2NVSUlt
YWdlSW5zdGFuY2UoKSBpbml0V2l0aENHSW1hZ2U6aW1hZ2Ugc2NhbGU6c2NhbGUgb3JpZW50YXRp
b246VUlJbWFnZU9yaWVudGF0aW9uRG93bk1pcnJvcmVkXTsKICAgICAKICAgICByZXR1cm4gc2Vs
ZjsKIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>