<?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>52718</bug_id>
          
          <creation_ts>2011-01-19 06:29:15 -0800</creation_ts>
          <short_desc>Send origin/url as part of speech input requests to the embedder.</short_desc>
          <delta_ts>2011-01-19 09:22:47 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Forms</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>
          
          <blocked>39485</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Satish Sampath">satish</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>fishd</cc>
    
    <cc>jorlow</cc>
    
    <cc>levin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>336477</commentid>
    <comment_count>0</comment_count>
    <who name="Satish Sampath">satish</who>
    <bug_when>2011-01-19 06:29:15 -0800</bug_when>
    <thetext>In the embedder we need the page/frame url which requests speech input. One example is for deciding when/whether to ask for user consent before starting speech input.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>336485</commentid>
    <comment_count>1</comment_count>
      <attachid>79415</attachid>
    <who name="Satish Sampath">satish</who>
    <bug_when>2011-01-19 06:40:59 -0800</bug_when>
    <thetext>Created attachment 79415
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>336499</commentid>
    <comment_count>2</comment_count>
      <attachid>79415</attachid>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2011-01-19 07:00:30 -0800</bug_when>
    <thetext>Comment on attachment 79415
Patch

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

&gt; Source/WebCore/page/SpeechInput.cpp:96
&gt; +bool SpeechInput::startRecognition(int listenerId, const IntRect&amp; elementRect, const AtomicString&amp; language, const String&amp; grammar, PassRefPtr&lt;SecurityOrigin&gt; origin)

Just pass a pointer.

&gt; Source/WebCore/page/SpeechInput.h:65
&gt; +    bool startRecognition(int listenerId, const IntRect&amp; elementRect, const AtomicString&amp; language, const String&amp; grammar, PassRefPtr&lt;SecurityOrigin&gt;);

ditto

&gt; Source/WebCore/page/SpeechInputClient.h:54
&gt; +    virtual bool startRecognition(int requestId, const IntRect&amp; elementRect, const AtomicString&amp; language, const String&amp; grammar, PassRefPtr&lt;SecurityOrigin&gt;) = 0;

ditto

&gt; Source/WebCore/platform/mock/SpeechInputClientMock.cpp:54
&gt; +bool SpeechInputClientMock::startRecognition(int requestId, const IntRect&amp; elementRect, const AtomicString&amp; language, const String&amp; grammar, PassRefPtr&lt;SecurityOrigin&gt; origin)

ditto

&gt; Source/WebCore/platform/mock/SpeechInputClientMock.h:57
&gt; +    bool startRecognition(int requestId, const IntRect&amp; elementRect, const AtomicString&amp; language, const String&amp; grammar, PassRefPtr&lt;SecurityOrigin&gt;);

ditto

&gt; Source/WebCore/rendering/TextControlInnerElements.cpp:440
&gt; +              RefPtr&lt;SecurityOrigin&gt; origin(SecurityOrigin::create(document()-&gt;url()));

You should be able to get this some other way.

&gt; Source/WebCore/rendering/TextControlInnerElements.cpp:441
&gt; +              if (speechInput()-&gt;startRecognition(m_listenerId, rect, language, grammar, origin))

origin.get()

&gt; Source/WebKit/chromium/src/SpeechInputClientImpl.cpp:67
&gt; +bool SpeechInputClientImpl::startRecognition(int requestId, const WebCore::IntRect&amp; elementRect, const AtomicString&amp; language, const String&amp; grammar, PassRefPtr&lt;WebCore::SecurityOrigin&gt; origin)

*

&gt; Source/WebKit/chromium/src/SpeechInputClientImpl.h:61
&gt; +    bool startRecognition(int requestId, const WebCore::IntRect&amp; elementRect, const AtomicString&amp; language, const String&amp; grammar, PassRefPtr&lt;WebCore::SecurityOrigin&gt;);

*</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>336531</commentid>
    <comment_count>3</comment_count>
      <attachid>79428</attachid>
    <who name="Satish Sampath">satish</who>
    <bug_when>2011-01-19 07:58:50 -0800</bug_when>
    <thetext>Created attachment 79428
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>336534</commentid>
    <comment_count>4</comment_count>
    <who name="Satish Sampath">satish</who>
    <bug_when>2011-01-19 08:01:57 -0800</bug_when>
    <thetext>(In reply to comment #2)
I converted all PassRefPtrs to raw pointers as suggested and now using document()-&gt;securityOrigin() to get the existing SecurityOrigin object from Document/ScriptExecutionContext. I have also updated existing code in WebGeolocationPermissionRequest.cpp which was doing a similar thing as I did earlier.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>336538</commentid>
    <comment_count>5</comment_count>
      <attachid>79428</attachid>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2011-01-19 08:09:28 -0800</bug_when>
    <thetext>Comment on attachment 79428
Patch

r=me

can you please fix the creation of a security origin in geolocation as well?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>336541</commentid>
    <comment_count>6</comment_count>
    <who name="Satish Sampath">satish</who>
    <bug_when>2011-01-19 08:21:28 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 79428 [details])
&gt; r=me
&gt; 
&gt; can you please fix the creation of a security origin in geolocation as well?

Yes, I have in this same patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>336542</commentid>
    <comment_count>7</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2011-01-19 08:22:30 -0800</bug_when>
    <thetext>Oops...yes you do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>336552</commentid>
    <comment_count>8</comment_count>
    <who name="Satish Sampath">satish</who>
    <bug_when>2011-01-19 08:42:04 -0800</bug_when>
    <thetext>Committed r76128: &lt;http://trac.webkit.org/changeset/76128&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>336570</commentid>
    <comment_count>9</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2011-01-19 09:11:08 -0800</bug_when>
    <thetext>Please cc Darin for WebKit API changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>336573</commentid>
    <comment_count>10</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2011-01-19 09:22:47 -0800</bug_when>
    <thetext>Darin, do you actually want CLs like this?  The API side of it seemed quite straightforward and there&apos;s plenty of similar precedent.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>79415</attachid>
            <date>2011-01-19 06:40:59 -0800</date>
            <delta_ts>2011-01-19 07:58:44 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-52718-20110119144057.patch</filename>
            <type>text/plain</type>
            <size>14297</size>
            <attacher name="Satish Sampath">satish</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA5MWExY2MzYWE5YTI0NmNkMzRhMWU0OGVlOTgwYThkZTg3ZjI1NTdhLi4y
MzZjYWY0OTg2ZTQ0OTE3ZTllYjU2MzU5NjJmNzVlZGJhZGM2ZWZiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjAgQEAKKzIwMTEtMDEtMTkgIFNhdGlzaCBTYW1wYXRoICA8c2F0aXNoQGNocm9taXVt
Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBT
ZW5kIG9yaWdpbi91cmwgYXMgcGFydCBvZiBzcGVlY2ggaW5wdXQgcmVxdWVzdHMgdG8gdGhlIGVt
YmVkZGVyLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NTI3MTgKKworICAgICAgICAqIHBhZ2UvU3BlZWNoSW5wdXQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U3BlZWNoSW5wdXQ6OnN0YXJ0UmVjb2duaXRpb24pOiBQYXNzIHVwIGFkZGl0aW9uYWwgb3Jp
Z2luIHBhcmFtZXRlci4KKyAgICAgICAgKiBwYWdlL1NwZWVjaElucHV0Lmg6CisgICAgICAgICog
cGFnZS9TcGVlY2hJbnB1dENsaWVudC5oOgorICAgICAgICAqIHBsYXRmb3JtL21vY2svU3BlZWNo
SW5wdXRDbGllbnRNb2NrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNwZWVjaElucHV0Q2xpZW50
TW9jazo6c3RhcnRSZWNvZ25pdGlvbik6IFVwZGF0ZWQgcHJvdG90eXBlLgorICAgICAgICAqIHBs
YXRmb3JtL21vY2svU3BlZWNoSW5wdXRDbGllbnRNb2NrLmg6CisgICAgICAgICogcmVuZGVyaW5n
L1RleHRDb250cm9sSW5uZXJFbGVtZW50cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnB1dEZp
ZWxkU3BlZWNoQnV0dG9uRWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcik6IFBhc3MgdGhlIGZy
YW1lIG9yaWdpbiB0byBzcGVlY2ggaW5wdXQgcmVxdWVzdC4KKwogIDIwMTEtMDEtMTggIEFudHRp
IEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhdmUg
SHlhdHQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3BlZWNoSW5wdXQuY3BwCmluZGV4IGYzNmVkNGQxNDQ2ODli
NTMxNGMzZmIxYTliN2JiZTk5YWEzZWFjODYuLjJmNGMyNjRjMDBiNDUzNGM0OTcwNjNhYTAwYjRj
ZmY2MTQwYWMzY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3BlZWNoSW5wdXQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3BlZWNoSW5wdXQuY3BwCkBAIC0zMyw3ICsz
Myw3IEBACiAKICNpZiBFTkFCTEUoSU5QVVRfU1BFRUNIKQogCi0jaW5jbHVkZSAiRnJhbWUuaCIK
KyNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgogI2luY2x1ZGUgIlNwZWVjaElucHV0Q2xpZW50
LmgiCiAjaW5jbHVkZSAiU3BlZWNoSW5wdXRMaXN0ZW5lci5oIgogCkBAIC05MywxMCArOTMsMTAg
QEAgdm9pZCBTcGVlY2hJbnB1dDo6c2V0UmVjb2duaXRpb25SZXN1bHQoaW50IGxpc3RlbmVySWQs
IGNvbnN0IFNwZWVjaElucHV0UmVzdWx0QXIKICAgICAgICAgbV9saXN0ZW5lcnMuZ2V0KGxpc3Rl
bmVySWQpLT5zZXRSZWNvZ25pdGlvblJlc3VsdChsaXN0ZW5lcklkLCByZXN1bHQpOwogfQogCi1i
b29sIFNwZWVjaElucHV0OjpzdGFydFJlY29nbml0aW9uKGludCBsaXN0ZW5lcklkLCBjb25zdCBJ
bnRSZWN0JiBlbGVtZW50UmVjdCwgY29uc3QgQXRvbWljU3RyaW5nJiBsYW5ndWFnZSwgY29uc3Qg
U3RyaW5nJiBncmFtbWFyKQorYm9vbCBTcGVlY2hJbnB1dDo6c3RhcnRSZWNvZ25pdGlvbihpbnQg
bGlzdGVuZXJJZCwgY29uc3QgSW50UmVjdCYgZWxlbWVudFJlY3QsIGNvbnN0IEF0b21pY1N0cmlu
ZyYgbGFuZ3VhZ2UsIGNvbnN0IFN0cmluZyYgZ3JhbW1hciwgUGFzc1JlZlB0cjxTZWN1cml0eU9y
aWdpbj4gb3JpZ2luKQogewogICAgIEFTU0VSVChtX2xpc3RlbmVycy5jb250YWlucyhsaXN0ZW5l
cklkKSk7Ci0gICAgcmV0dXJuIG1fY2xpZW50LT5zdGFydFJlY29nbml0aW9uKGxpc3RlbmVySWQs
IGVsZW1lbnRSZWN0LCBsYW5ndWFnZSwgZ3JhbW1hcik7CisgICAgcmV0dXJuIG1fY2xpZW50LT5z
dGFydFJlY29nbml0aW9uKGxpc3RlbmVySWQsIGVsZW1lbnRSZWN0LCBsYW5ndWFnZSwgZ3JhbW1h
ciwgb3JpZ2luKTsKIH0KIAogdm9pZCBTcGVlY2hJbnB1dDo6c3RvcFJlY29yZGluZyhpbnQgbGlz
dGVuZXJJZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3BlZWNoSW5wdXQuaCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3BlZWNoSW5wdXQuaAppbmRleCA0NTMyZDQ5YTk4MWE3ZGQ1
OTVhZDlhZmY0NWEyYWI2ODYyYzMyZDY0Li5hNmEwNzViZDU3N2FjY2UyNTliNzBiMGUwODYyODI3
ZDA5MjlmZDY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TcGVlY2hJbnB1dC5oCkBAIC00MSw2ICs0MSw3IEBA
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEludFJlY3Q7CitjbGFzcyBTZWN1cml0eU9y
aWdpbjsKIGNsYXNzIFNwZWVjaElucHV0Q2xpZW50OwogY2xhc3MgU3BlZWNoSW5wdXRMaXN0ZW5l
cjsKIApAQCAtNjEsNyArNjIsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCB1bnJlZ2lzdGVyTGlzdGVu
ZXIoaW50KTsKIAogICAgIC8vIE1ldGhvZHMgaW52b2tlZCBieSB0aGUgaW5wdXQgZWxlbWVudHMu
Ci0gICAgYm9vbCBzdGFydFJlY29nbml0aW9uKGludCBsaXN0ZW5lcklkLCBjb25zdCBJbnRSZWN0
JiBlbGVtZW50UmVjdCwgY29uc3QgQXRvbWljU3RyaW5nJiBsYW5ndWFnZSwgY29uc3QgU3RyaW5n
JiBncmFtbWFyKTsKKyAgICBib29sIHN0YXJ0UmVjb2duaXRpb24oaW50IGxpc3RlbmVySWQsIGNv
bnN0IEludFJlY3QmIGVsZW1lbnRSZWN0LCBjb25zdCBBdG9taWNTdHJpbmcmIGxhbmd1YWdlLCBj
b25zdCBTdHJpbmcmIGdyYW1tYXIsIFBhc3NSZWZQdHI8U2VjdXJpdHlPcmlnaW4+KTsKICAgICB2
b2lkIHN0b3BSZWNvcmRpbmcoaW50KTsKICAgICB2b2lkIGNhbmNlbFJlY29nbml0aW9uKGludCk7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3BlZWNoSW5wdXRDbGllbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3BlZWNoSW5wdXRDbGllbnQuaAppbmRleCAyYTJlMTYwZmI3
NmJlYmViMTRhN2JmOTI0NWU1ZjE0ZjBjYjc3ZDczLi4xNGQ3ZmE5YWNmZDhjNjkyYjA2NzZiY2I1
NjAyY2YyNmE3ODM3Y2M2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NwZWVjaElu
cHV0Q2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TcGVlY2hJbnB1dENsaWVudC5o
CkBAIC0zOCw2ICszOCw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEludFJlY3Q7
CitjbGFzcyBTZWN1cml0eU9yaWdpbjsKIGNsYXNzIFNwZWVjaElucHV0TGlzdGVuZXI7CiAKIC8v
IFByb3ZpZGVzIGFuIGludGVyZmFjZSBmb3IgU3BlZWNoSW5wdXQgdG8gY2FsbCBpbnRvIHRoZSBl
bWJlZGRlci4KQEAgLTUwLDcgKzUxLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBzZXRM
aXN0ZW5lcihTcGVlY2hJbnB1dExpc3RlbmVyKikgPSAwOwogCiAgICAgLy8gU3RhcnRzIHNwZWVj
aCByZWNvZ25pdGlvbiBhbmQgYXVkaW8gcmVjb3JkaW5nLgotICAgIHZpcnR1YWwgYm9vbCBzdGFy
dFJlY29nbml0aW9uKGludCByZXF1ZXN0SWQsIGNvbnN0IEludFJlY3QmIGVsZW1lbnRSZWN0LCBj
b25zdCBBdG9taWNTdHJpbmcmIGxhbmd1YWdlLCBjb25zdCBTdHJpbmcmIGdyYW1tYXIpID0gMDsK
KyAgICB2aXJ0dWFsIGJvb2wgc3RhcnRSZWNvZ25pdGlvbihpbnQgcmVxdWVzdElkLCBjb25zdCBJ
bnRSZWN0JiBlbGVtZW50UmVjdCwgY29uc3QgQXRvbWljU3RyaW5nJiBsYW5ndWFnZSwgY29uc3Qg
U3RyaW5nJiBncmFtbWFyLCBQYXNzUmVmUHRyPFNlY3VyaXR5T3JpZ2luPikgPSAwOwogCiAgICAg
Ly8gU3RvcHMgYXVkaW8gcmVjb3JkaW5nIGFuZCBwZXJmb3JtcyByZWNvZ25pdGlvbiB3aXRoIHRo
ZSBhdWRpbyByZWNvcmRlZCB1bnRpbCBub3cKICAgICAvLyAoZG9lcyBub3QgZGlzY2FyZCBhdWRp
bykuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1NwZWVjaElucHV0
Q2xpZW50TW9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1NwZWVjaElucHV0
Q2xpZW50TW9jay5jcHAKaW5kZXggMTZhN2M3NmMxZGQ5YzBjYjMyYzg4MGZiNTc3NzJhMWFlNmE0
MTJmZS4uMjFjOGM4MDQwMGQwNWY3MDFmNjdiMTc2YjQ4ZTYwOWQ5MDBkNDQ3ZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9TcGVlY2hJbnB1dENsaWVudE1vY2suY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svU3BlZWNoSW5wdXRDbGllbnRNb2Nr
LmNwcApAQCAtMzMsNiArMzMsNyBAQAogCiAjaWYgRU5BQkxFKElOUFVUX1NQRUVDSCkKIAorI2lu
Y2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiU3BlZWNoSW5wdXRMaXN0ZW5lci5o
IgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC01MCw3ICs1MSw3IEBAIHZvaWQgU3BlZWNoSW5w
dXRDbGllbnRNb2NrOjpzZXRMaXN0ZW5lcihTcGVlY2hJbnB1dExpc3RlbmVyKiBsaXN0ZW5lcikK
ICAgICBtX2xpc3RlbmVyID0gbGlzdGVuZXI7CiB9CiAKLWJvb2wgU3BlZWNoSW5wdXRDbGllbnRN
b2NrOjpzdGFydFJlY29nbml0aW9uKGludCByZXF1ZXN0SWQsIGNvbnN0IEludFJlY3QmIGVsZW1l
bnRSZWN0LCBjb25zdCBBdG9taWNTdHJpbmcmIGxhbmd1YWdlLCBjb25zdCBTdHJpbmcmIGdyYW1t
YXIpCitib29sIFNwZWVjaElucHV0Q2xpZW50TW9jazo6c3RhcnRSZWNvZ25pdGlvbihpbnQgcmVx
dWVzdElkLCBjb25zdCBJbnRSZWN0JiBlbGVtZW50UmVjdCwgY29uc3QgQXRvbWljU3RyaW5nJiBs
YW5ndWFnZSwgY29uc3QgU3RyaW5nJiBncmFtbWFyLCBQYXNzUmVmUHRyPFNlY3VyaXR5T3JpZ2lu
PiBvcmlnaW4pCiB7CiAgICAgaWYgKG1fdGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJu
IGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9TcGVlY2hJ
bnB1dENsaWVudE1vY2suaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svU3BlZWNoSW5w
dXRDbGllbnRNb2NrLmgKaW5kZXggNmY3MjE5MTBkMTYxNjNhYTM3ZjIzYjQzMDU1MzNkMDBiMWFh
MmNhNS4uNjU1YTY0NzYxNDVhOThkZmMzOTU5OTk3YTViMTI4M2Y5ZGQwOWU4YiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9TcGVlY2hJbnB1dENsaWVudE1vY2suaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1NwZWVjaElucHV0Q2xpZW50TW9jay5o
CkBAIC01NCw3ICs1NCw3IEBAIHB1YmxpYzoKIAogICAgIC8vIFNwZWVjaElucHV0Q2xpZW50IG1l
dGhvZHMuCiAgICAgdm9pZCBzZXRMaXN0ZW5lcihTcGVlY2hJbnB1dExpc3RlbmVyKik7Ci0gICAg
Ym9vbCBzdGFydFJlY29nbml0aW9uKGludCByZXF1ZXN0SWQsIGNvbnN0IEludFJlY3QmIGVsZW1l
bnRSZWN0LCBjb25zdCBBdG9taWNTdHJpbmcmIGxhbmd1YWdlLCBjb25zdCBTdHJpbmcmIGdyYW1t
YXIpOworICAgIGJvb2wgc3RhcnRSZWNvZ25pdGlvbihpbnQgcmVxdWVzdElkLCBjb25zdCBJbnRS
ZWN0JiBlbGVtZW50UmVjdCwgY29uc3QgQXRvbWljU3RyaW5nJiBsYW5ndWFnZSwgY29uc3QgU3Ry
aW5nJiBncmFtbWFyLCBQYXNzUmVmUHRyPFNlY3VyaXR5T3JpZ2luPik7CiAgICAgdm9pZCBzdG9w
UmVjb3JkaW5nKGludCk7CiAgICAgdm9pZCBjYW5jZWxSZWNvZ25pdGlvbihpbnQpOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dENvbnRyb2xJbm5lckVsZW1lbnRz
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0Q29udHJvbElubmVyRWxlbWVudHMu
Y3BwCmluZGV4IDViODcxMmQ2NTUyNjUzMmY4M2NiODgxYzVlMGRlZWU0N2ZkZjU0MDUuLjE4NWEy
OTI4MDQ5MGIxZGFkODc3NWUzMjljYWRjNzgyNmZhZWJjOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9UZXh0Q29udHJvbElubmVyRWxlbWVudHMuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0Q29udHJvbElubmVyRWxlbWVudHMuY3BwCkBAIC00MzMs
OSArNDMzLDE0IEBAIHZvaWQgSW5wdXRGaWVsZFNwZWVjaEJ1dHRvbkVsZW1lbnQ6OmRlZmF1bHRF
dmVudEhhbmRsZXIoRXZlbnQqIGV2ZW50KQogCiAgICAgaWYgKGV2ZW50LT50eXBlKCkgPT0gZXZl
bnROYW1lcygpLmNsaWNrRXZlbnQpIHsKICAgICAgICAgc3dpdGNoIChtX3N0YXRlKSB7Ci0gICAg
ICAgIGNhc2UgSWRsZToKLSAgICAgICAgICAgIGlmIChzcGVlY2hJbnB1dCgpLT5zdGFydFJlY29n
bml0aW9uKG1fbGlzdGVuZXJJZCwgaW5wdXQtPnJlbmRlcmVyKCktPmFic29sdXRlQm91bmRpbmdC
b3hSZWN0KCksIGlucHV0LT5jb21wdXRlSW5oZXJpdGVkTGFuZ3VhZ2UoKSwgaW5wdXQtPmdldEF0
dHJpYnV0ZSh3ZWJraXRncmFtbWFyQXR0cikpKQotICAgICAgICAgICAgICAgIHNldFN0YXRlKFJl
Y29yZGluZyk7CisgICAgICAgIGNhc2UgSWRsZTogeworICAgICAgICAgICAgICBBdG9taWNTdHJp
bmcgbGFuZ3VhZ2UgPSBpbnB1dC0+Y29tcHV0ZUluaGVyaXRlZExhbmd1YWdlKCk7CisgICAgICAg
ICAgICAgIFN0cmluZyBncmFtbWFyID0gaW5wdXQtPmdldEF0dHJpYnV0ZSh3ZWJraXRncmFtbWFy
QXR0cik7CisgICAgICAgICAgICAgIEludFJlY3QgcmVjdCA9IGlucHV0LT5yZW5kZXJlcigpLT5h
YnNvbHV0ZUJvdW5kaW5nQm94UmVjdCgpOworICAgICAgICAgICAgICBSZWZQdHI8U2VjdXJpdHlP
cmlnaW4+IG9yaWdpbihTZWN1cml0eU9yaWdpbjo6Y3JlYXRlKGRvY3VtZW50KCktPnVybCgpKSk7
CisgICAgICAgICAgICAgIGlmIChzcGVlY2hJbnB1dCgpLT5zdGFydFJlY29nbml0aW9uKG1fbGlz
dGVuZXJJZCwgcmVjdCwgbGFuZ3VhZ2UsIGdyYW1tYXIsIG9yaWdpbikpCisgICAgICAgICAgICAg
ICAgICBzZXRTdGF0ZShSZWNvcmRpbmcpOworICAgICAgICAgICAgfQogICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgIGNhc2UgUmVjb3JkaW5nOgogICAgICAgICAgICAgc3BlZWNoSW5wdXQoKS0+
c3RvcFJlY29yZGluZyhtX2xpc3RlbmVySWQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRl
eCBhMGUwNDEwMzYwZjUzOWM1N2EzOTY4NGJmZTNhNDE2NmQ2MTcyYTcwLi42ZDUxNzE5NWZjYWFm
NzAyOGI1ZTE0ZWIyZjY3OTRiYThlMjJjZTkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE5IEBACisyMDExLTAxLTE5ICBTYXRpc2ggU2FtcGF0aCAgPHNhdGlzaEBjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgU2VuZCBvcmlnaW4vdXJsIGFzIHBhcnQgb2Ygc3BlZWNoIGlucHV0IHJlcXVlc3RzIHRvIHRo
ZSBlbWJlZGRlci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTUyNzE4CisKKyAgICAgICAgKiBwdWJsaWMvV2ViU3BlZWNoSW5wdXRDb250cm9sbGVyLmg6
CisgICAgICAgIChXZWJLaXQ6OldlYlNwZWVjaElucHV0Q29udHJvbGxlcjo6c3RhcnRSZWNvZ25p
dGlvbik6IFVwZGF0ZWQgcHJvdG90eXBlLgorICAgICAgICAqIHNyYy9TcGVlY2hJbnB1dENsaWVu
dEltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpTcGVlY2hJbnB1dENsaWVudEltcGw6OnN0YXJ0
UmVjb2duaXRpb24pOiBQYXNzIHVwIGFkZGl0aW9uYWwgb3JpZ2luIHBhcmFtZXRlci4KKyAgICAg
ICAgKiBzcmMvU3BlZWNoSW5wdXRDbGllbnRJbXBsLmg6CisgICAgICAgICogc3JjL1dlYlNwZWVj
aElucHV0Q29udHJvbGxlck1vY2tJbXBsLmNwcDogVXBkYXRlZCBjb2RlIHRvIHBhc3MgYWRkaXRp
b25hbCBwYXJhbWV0ZXIuCisgICAgICAgIChXZWJLaXQ6OldlYlNwZWVjaElucHV0Q29udHJvbGxl
ck1vY2tJbXBsOjpzdGFydFJlY29nbml0aW9uKToKKyAgICAgICAgKiBzcmMvV2ViU3BlZWNoSW5w
dXRDb250cm9sbGVyTW9ja0ltcGwuaDogQWRkZWQgbmV3IHZhcmlhbnQgb2Ygc3RhcnRSZWNvZ25p
dGlvbiBtZXRob2QuCisKIDIwMTEtMDEtMTcgIE5pY28gV2ViZXIgIDx0aGFraXNAY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3B1YmxpYy9XZWJTcGVlY2hJbnB1dENvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vcHVibGljL1dlYlNwZWVjaElucHV0Q29udHJvbGxlci5oCmluZGV4IDZlZDU0NmZm
YjJjZDJmMTE1MTIxNDUyMDQ3MjdhNWIxNGQyZjk3YmEuLmViODNlYzdhMGZjNGZlMWNmZmYwNmE3
YzNjNDkwODE5ZTVmYWQ4NTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVi
bGljL1dlYlNwZWVjaElucHV0Q29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vcHVibGljL1dlYlNwZWVjaElucHV0Q29udHJvbGxlci5oCkBAIC0zNSw4ICszNSw4IEBACiAK
IG5hbWVzcGFjZSBXZWJLaXQgewogCi1jbGFzcyBXZWJTdHJpbmc7CiBzdHJ1Y3QgV2ViUmVjdDsK
K2NsYXNzIFdlYlNlY3VyaXR5T3JpZ2luOwogY2xhc3MgV2ViU3RyaW5nOwogCiAvLyBQcm92aWRl
cyBhbiBlbWJlZGRlciBBUEkgY2FsbGVkIGJ5IFdlYktpdC4KQEAgLTQ1LDYgKzQ1LDExIEBAIHB1
YmxpYzoKICAgICAvLyBTdGFydHMgc3BlZWNoIHJlY29nbml0aW9uLiBTcGVlY2ggd2lsbCBnZXQg
cmVjb3JkZWQgdW50aWwgdGhlIGVuZHBvaW50ZXIgZGV0ZWN0cyBzaWxlbmNlLAogICAgIC8vIHJ1
bnMgdG8gdGhlIGxpbWl0IG9yIHN0b3BSZWNvcmRpbmcgaXMgY2FsbGVkLiBQcm9ncmVzcyBpbmRp
Y2F0aW9ucyBhbmQgdGhlIHJlY29nbml6ZWQKICAgICAvLyB0ZXh0IGFyZSByZXR1cm5lZCB2aWEg
dGhlIGxpc3RlbmVyIGludGVyZmFjZS4KKyAgICB2aXJ0dWFsIGJvb2wgc3RhcnRSZWNvZ25pdGlv
bihpbnQgcmVxdWVzdElkLCBjb25zdCBXZWJSZWN0JiBlbGVtZW50UmVjdCwgY29uc3QgV2ViU3Ry
aW5nJiBsYW5ndWFnZSwgY29uc3QgV2ViU3RyaW5nJiBncmFtbWFyLCBjb25zdCBXZWJTZWN1cml0
eU9yaWdpbiYgb3JpZ2luKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHN0YXJ0UmVjb2duaXRpb24o
cmVxdWVzdElkLCBlbGVtZW50UmVjdCwgbGFuZ3VhZ2UsIGdyYW1tYXIpOworICAgIH0KKyAgICAv
LyBUT0RPKHNhdGlzaCk6IFJlbW92ZSB0aGlzIG9uY2UgY2hyb21pdW0gaGFzIHJvbGxlZCBwYXN0
IHRoZSBhYm92ZSBjaGFuZ2UuCiAgICAgdmlydHVhbCBib29sIHN0YXJ0UmVjb2duaXRpb24oaW50
IHJlcXVlc3RJZCwgY29uc3QgV2ViUmVjdCYgZWxlbWVudFJlY3QsIGNvbnN0IFdlYlN0cmluZyYg
bGFuZ3VhZ2UsIGNvbnN0IFdlYlN0cmluZyYgZ3JhbW1hcikKICAgICB7CiAgICAgICAgIFdFQktJ
VF9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1NwZWVjaElucHV0Q2xpZW50SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9TcGVlY2hJbnB1dENsaWVudEltcGwuY3BwCmluZGV4IGI1ZWQzODRiOTE2NzllNzQ3NDNj
NmMwMmRmYWQ2ZDdjYjMwMjhlM2UuLjczMTZjNjEwMGRjZmIzNWU4NmRiODY5YzE4OGMzOTJjOGI3
ODQ4NjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1NwZWVjaElucHV0
Q2xpZW50SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvU3BlZWNoSW5w
dXRDbGllbnRJbXBsLmNwcApAQCAtMzIsNyArMzIsOSBAQAogI2luY2x1ZGUgIlNwZWVjaElucHV0
Q2xpZW50SW1wbC5oIgogCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKKyNpbmNsdWRlICJT
ZWN1cml0eU9yaWdpbi5oIgogI2luY2x1ZGUgIlNwZWVjaElucHV0TGlzdGVuZXIuaCIKKyNpbmNs
dWRlICJXZWJTZWN1cml0eU9yaWdpbi5oIgogI2luY2x1ZGUgIldlYlNwZWVjaElucHV0Q29udHJv
bGxlci5oIgogI2luY2x1ZGUgIldlYlN0cmluZy5oIgogI2luY2x1ZGUgIldlYlZpZXdDbGllbnQu
aCIKQEAgLTYyLDEwICs2NCwxMCBAQCB2b2lkIFNwZWVjaElucHV0Q2xpZW50SW1wbDo6c2V0TGlz
dGVuZXIoV2ViQ29yZTo6U3BlZWNoSW5wdXRMaXN0ZW5lciogbGlzdGVuZXIpCiAgICAgbV9saXN0
ZW5lciA9IGxpc3RlbmVyOwogfQogCi1ib29sIFNwZWVjaElucHV0Q2xpZW50SW1wbDo6c3RhcnRS
ZWNvZ25pdGlvbihpbnQgcmVxdWVzdElkLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBlbGVtZW50
UmVjdCwgY29uc3QgQXRvbWljU3RyaW5nJiBsYW5ndWFnZSwgY29uc3QgU3RyaW5nJiBncmFtbWFy
KQorYm9vbCBTcGVlY2hJbnB1dENsaWVudEltcGw6OnN0YXJ0UmVjb2duaXRpb24oaW50IHJlcXVl
c3RJZCwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgZWxlbWVudFJlY3QsIGNvbnN0IEF0b21pY1N0
cmluZyYgbGFuZ3VhZ2UsIGNvbnN0IFN0cmluZyYgZ3JhbW1hciwgUGFzc1JlZlB0cjxXZWJDb3Jl
OjpTZWN1cml0eU9yaWdpbj4gb3JpZ2luKQogewogICAgIEFTU0VSVChtX2xpc3RlbmVyKTsKLSAg
ICByZXR1cm4gbV9jb250cm9sbGVyLT5zdGFydFJlY29nbml0aW9uKHJlcXVlc3RJZCwgZWxlbWVu
dFJlY3QsIGxhbmd1YWdlLCBncmFtbWFyKTsKKyAgICByZXR1cm4gbV9jb250cm9sbGVyLT5zdGFy
dFJlY29nbml0aW9uKHJlcXVlc3RJZCwgZWxlbWVudFJlY3QsIGxhbmd1YWdlLCBncmFtbWFyLCBv
cmlnaW4pOwogfQogCiB2b2lkIFNwZWVjaElucHV0Q2xpZW50SW1wbDo6c3RvcFJlY29yZGluZyhp
bnQgcmVxdWVzdElkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvU3Bl
ZWNoSW5wdXRDbGllbnRJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9TcGVlY2hJ
bnB1dENsaWVudEltcGwuaAppbmRleCA1MjA4MDNhNmE3N2NkOGI1MzM4MTFlNDcwZDkwODg3ZTFk
MmU1NTFkLi43YThlNzk2YTEyMTU1MmMyM2I2MjEwMTI3OTJjYzliNjk0MzJiMWU5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9TcGVlY2hJbnB1dENsaWVudEltcGwuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9TcGVlY2hJbnB1dENsaWVudEltcGwuaApA
QCAtNDAsNiArNDAsNyBAQAogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKK2NsYXNzIFNlY3VyaXR5T3JpZ2luOwogY2xhc3MgU3BlZWNoSW5wdXRMaXN0
ZW5lcjsKIH0KIApAQCAtNTcsNyArNTgsNyBAQCBwdWJsaWM6CiAKICAgICAvLyBTcGVlY2hJbnB1
dENsaWVudCBtZXRob2RzLgogICAgIHZvaWQgc2V0TGlzdGVuZXIoV2ViQ29yZTo6U3BlZWNoSW5w
dXRMaXN0ZW5lciopOwotICAgIGJvb2wgc3RhcnRSZWNvZ25pdGlvbihpbnQgcmVxdWVzdElkLCBj
b25zdCBXZWJDb3JlOjpJbnRSZWN0JiBlbGVtZW50UmVjdCwgY29uc3QgQXRvbWljU3RyaW5nJiBs
YW5ndWFnZSwgY29uc3QgU3RyaW5nJiBncmFtbWFyKTsKKyAgICBib29sIHN0YXJ0UmVjb2duaXRp
b24oaW50IHJlcXVlc3RJZCwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgZWxlbWVudFJlY3QsIGNv
bnN0IEF0b21pY1N0cmluZyYgbGFuZ3VhZ2UsIGNvbnN0IFN0cmluZyYgZ3JhbW1hciwgUGFzc1Jl
ZlB0cjxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbj4pOwogICAgIHZvaWQgc3RvcFJlY29yZGluZyhp
bnQpOwogICAgIHZvaWQgY2FuY2VsUmVjb2duaXRpb24oaW50KTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU3BlZWNoSW5wdXRDb250cm9sbGVyTW9ja0ltcGwu
Y3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU3BlZWNoSW5wdXRDb250cm9sbGVy
TW9ja0ltcGwuY3BwCmluZGV4IDQ4ZjhiNTA3ZDdlYzg5MTNiMjI2ZTc5ZWQwNGFjMjRlZWY0NDMx
MGMuLjNiZWI3ODUxZjAzYWUxMTdmZmJhZWI1ODA3ODI1NWRhNGM5YjcwOTcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNwZWVjaElucHV0Q29udHJvbGxlck1vY2tJ
bXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTcGVlY2hJbnB1dENv
bnRyb2xsZXJNb2NrSW1wbC5jcHAKQEAgLTMyLDggKzMyLDEwIEBACiAjaW5jbHVkZSAiV2ViU3Bl
ZWNoSW5wdXRDb250cm9sbGVyTW9ja0ltcGwuaCIKIAogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5n
LmgiCisjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlICJTcGVlY2hJbnB1dENs
aWVudE1vY2suaCIKICNpbmNsdWRlICJXZWJSZWN0LmgiCisjaW5jbHVkZSAiV2ViU2VjdXJpdHlP
cmlnaW4uaCIKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKQEAgLTgwLDkgKzgyLDkgQEAgdm9pZCBX
ZWJTcGVlY2hJbnB1dENvbnRyb2xsZXJNb2NrSW1wbDo6c2V0UmVjb2duaXRpb25SZXN1bHQoaW50
IHJlcXVlc3RJZCwgY29uc3QKICAgICBtX2xpc3RlbmVyLT5zZXRSZWNvZ25pdGlvblJlc3VsdChy
ZXF1ZXN0SWQsIHJlc3VsdCk7CiB9CiAKLWJvb2wgV2ViU3BlZWNoSW5wdXRDb250cm9sbGVyTW9j
a0ltcGw6OnN0YXJ0UmVjb2duaXRpb24oaW50IHJlcXVlc3RJZCwgY29uc3QgV2ViUmVjdCYgZWxl
bWVudFJlY3QsIGNvbnN0IFdlYlN0cmluZyYgbGFuZ3VhZ2UsIGNvbnN0IFdlYlN0cmluZyYgZ3Jh
bW1hcikKK2Jvb2wgV2ViU3BlZWNoSW5wdXRDb250cm9sbGVyTW9ja0ltcGw6OnN0YXJ0UmVjb2du
aXRpb24oaW50IHJlcXVlc3RJZCwgY29uc3QgV2ViUmVjdCYgZWxlbWVudFJlY3QsIGNvbnN0IFdl
YlN0cmluZyYgbGFuZ3VhZ2UsIGNvbnN0IFdlYlN0cmluZyYgZ3JhbW1hciwgY29uc3QgV2ViU2Vj
dXJpdHlPcmlnaW4mIG9yaWdpbikKIHsKLSAgICByZXR1cm4gbV93ZWJjb3JlTW9jay0+c3RhcnRS
ZWNvZ25pdGlvbihyZXF1ZXN0SWQsIGVsZW1lbnRSZWN0LCBsYW5ndWFnZSwgZ3JhbW1hcik7Cisg
ICAgcmV0dXJuIG1fd2ViY29yZU1vY2stPnN0YXJ0UmVjb2duaXRpb24ocmVxdWVzdElkLCBlbGVt
ZW50UmVjdCwgbGFuZ3VhZ2UsIGdyYW1tYXIsIG9yaWdpbi5nZXQoKSk7CiB9CiAKIHZvaWQgV2Vi
U3BlZWNoSW5wdXRDb250cm9sbGVyTW9ja0ltcGw6OmNhbmNlbFJlY29nbml0aW9uKGludCByZXF1
ZXN0SWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTcGVlY2hJ
bnB1dENvbnRyb2xsZXJNb2NrSW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
U3BlZWNoSW5wdXRDb250cm9sbGVyTW9ja0ltcGwuaAppbmRleCBiZjAwZWQwM2Y3NDIxMGJkMjYw
MDlhNGMwZTE3MDI1YTBmZDk3NWNkLi40YzhmZWU3MmY2Zjk2NGRjMzYxYmIyMzEzMGI4MzFlYjdi
YTRjNDM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTcGVlY2hJ
bnB1dENvbnRyb2xsZXJNb2NrSW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYlNwZWVjaElucHV0Q29udHJvbGxlck1vY2tJbXBsLmgKQEAgLTU3LDcgKzU3LDcgQEAgcHVi
bGljOgogICAgIHZvaWQgc2V0UmVjb2duaXRpb25SZXN1bHQoaW50IHJlcXVlc3RJZCwgY29uc3Qg
V2ViQ29yZTo6U3BlZWNoSW5wdXRSZXN1bHRBcnJheSYgcmVzdWx0KTsKIAogICAgIC8vIFdlYlNw
ZWVjaElucHV0Q29udHJvbGxlciBtZXRob2RzLgotICAgIGJvb2wgc3RhcnRSZWNvZ25pdGlvbihp
bnQgcmVxdWVzdElkLCBjb25zdCBXZWJSZWN0JiBlbGVtZW50UmVjdCwgY29uc3QgV2ViU3RyaW5n
JiBsYW5ndWFnZSwgY29uc3QgV2ViU3RyaW5nJiBncmFtbWFyKTsKKyAgICBib29sIHN0YXJ0UmVj
b2duaXRpb24oaW50IHJlcXVlc3RJZCwgY29uc3QgV2ViUmVjdCYgZWxlbWVudFJlY3QsIGNvbnN0
IFdlYlN0cmluZyYgbGFuZ3VhZ2UsIGNvbnN0IFdlYlN0cmluZyYgZ3JhbW1hciwgY29uc3QgV2Vi
U2VjdXJpdHlPcmlnaW4mKTsKICAgICB2b2lkIGNhbmNlbFJlY29nbml0aW9uKGludCByZXF1ZXN0
SWQpOwogICAgIHZvaWQgc3RvcFJlY29yZGluZyhpbnQgcmVxdWVzdElkKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>79428</attachid>
            <date>2011-01-19 07:58:50 -0800</date>
            <delta_ts>2011-01-19 08:09:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-52718-20110119155848.patch</filename>
            <type>text/plain</type>
            <size>14894</size>
            <attacher name="Satish Sampath">satish</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA5MWExY2MzYWE5YTI0NmNkMzRhMWU0OGVlOTgwYThkZTg3ZjI1NTdhLi4y
MzZjYWY0OTg2ZTQ0OTE3ZTllYjU2MzU5NjJmNzVlZGJhZGM2ZWZiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjAgQEAKKzIwMTEtMDEtMTkgIFNhdGlzaCBTYW1wYXRoICA8c2F0aXNoQGNocm9taXVt
Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBT
ZW5kIG9yaWdpbi91cmwgYXMgcGFydCBvZiBzcGVlY2ggaW5wdXQgcmVxdWVzdHMgdG8gdGhlIGVt
YmVkZGVyLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NTI3MTgKKworICAgICAgICAqIHBhZ2UvU3BlZWNoSW5wdXQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U3BlZWNoSW5wdXQ6OnN0YXJ0UmVjb2duaXRpb24pOiBQYXNzIHVwIGFkZGl0aW9uYWwgb3Jp
Z2luIHBhcmFtZXRlci4KKyAgICAgICAgKiBwYWdlL1NwZWVjaElucHV0Lmg6CisgICAgICAgICog
cGFnZS9TcGVlY2hJbnB1dENsaWVudC5oOgorICAgICAgICAqIHBsYXRmb3JtL21vY2svU3BlZWNo
SW5wdXRDbGllbnRNb2NrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNwZWVjaElucHV0Q2xpZW50
TW9jazo6c3RhcnRSZWNvZ25pdGlvbik6IFVwZGF0ZWQgcHJvdG90eXBlLgorICAgICAgICAqIHBs
YXRmb3JtL21vY2svU3BlZWNoSW5wdXRDbGllbnRNb2NrLmg6CisgICAgICAgICogcmVuZGVyaW5n
L1RleHRDb250cm9sSW5uZXJFbGVtZW50cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnB1dEZp
ZWxkU3BlZWNoQnV0dG9uRWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcik6IFBhc3MgdGhlIGZy
YW1lIG9yaWdpbiB0byBzcGVlY2ggaW5wdXQgcmVxdWVzdC4KKwogIDIwMTEtMDEtMTggIEFudHRp
IEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhdmUg
SHlhdHQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3BlZWNoSW5wdXQuY3BwCmluZGV4IGYzNmVkNGQxNDQ2ODli
NTMxNGMzZmIxYTliN2JiZTk5YWEzZWFjODYuLjk2MDVkZDNkZDQ0OThmOWVjZjcwMjU5NjI0YjRk
MDg4NTViNzU5MDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3BlZWNoSW5wdXQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3BlZWNoSW5wdXQuY3BwCkBAIC0zMyw3ICsz
Myw3IEBACiAKICNpZiBFTkFCTEUoSU5QVVRfU1BFRUNIKQogCi0jaW5jbHVkZSAiRnJhbWUuaCIK
KyNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgogI2luY2x1ZGUgIlNwZWVjaElucHV0Q2xpZW50
LmgiCiAjaW5jbHVkZSAiU3BlZWNoSW5wdXRMaXN0ZW5lci5oIgogCkBAIC05MywxMCArOTMsMTAg
QEAgdm9pZCBTcGVlY2hJbnB1dDo6c2V0UmVjb2duaXRpb25SZXN1bHQoaW50IGxpc3RlbmVySWQs
IGNvbnN0IFNwZWVjaElucHV0UmVzdWx0QXIKICAgICAgICAgbV9saXN0ZW5lcnMuZ2V0KGxpc3Rl
bmVySWQpLT5zZXRSZWNvZ25pdGlvblJlc3VsdChsaXN0ZW5lcklkLCByZXN1bHQpOwogfQogCi1i
b29sIFNwZWVjaElucHV0OjpzdGFydFJlY29nbml0aW9uKGludCBsaXN0ZW5lcklkLCBjb25zdCBJ
bnRSZWN0JiBlbGVtZW50UmVjdCwgY29uc3QgQXRvbWljU3RyaW5nJiBsYW5ndWFnZSwgY29uc3Qg
U3RyaW5nJiBncmFtbWFyKQorYm9vbCBTcGVlY2hJbnB1dDo6c3RhcnRSZWNvZ25pdGlvbihpbnQg
bGlzdGVuZXJJZCwgY29uc3QgSW50UmVjdCYgZWxlbWVudFJlY3QsIGNvbnN0IEF0b21pY1N0cmlu
ZyYgbGFuZ3VhZ2UsIGNvbnN0IFN0cmluZyYgZ3JhbW1hciwgU2VjdXJpdHlPcmlnaW4qIG9yaWdp
bikKIHsKICAgICBBU1NFUlQobV9saXN0ZW5lcnMuY29udGFpbnMobGlzdGVuZXJJZCkpOwotICAg
IHJldHVybiBtX2NsaWVudC0+c3RhcnRSZWNvZ25pdGlvbihsaXN0ZW5lcklkLCBlbGVtZW50UmVj
dCwgbGFuZ3VhZ2UsIGdyYW1tYXIpOworICAgIHJldHVybiBtX2NsaWVudC0+c3RhcnRSZWNvZ25p
dGlvbihsaXN0ZW5lcklkLCBlbGVtZW50UmVjdCwgbGFuZ3VhZ2UsIGdyYW1tYXIsIG9yaWdpbik7
CiB9CiAKIHZvaWQgU3BlZWNoSW5wdXQ6OnN0b3BSZWNvcmRpbmcoaW50IGxpc3RlbmVySWQpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0LmggYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1NwZWVjaElucHV0LmgKaW5kZXggNDUzMmQ0OWE5ODFhN2RkNTk1YWQ5YWZmNDVh
MmFiNjg2MmMzMmQ2NC4uMjcwZjUwMDQwN2FlNWY4Y2Q5NmUwZjA2MTJmNzljNGFjZDg4YjY2MyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TcGVlY2hJbnB1dC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvU3BlZWNoSW5wdXQuaApAQCAtNDEsNiArNDEsNyBAQAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBjbGFzcyBJbnRSZWN0OworY2xhc3MgU2VjdXJpdHlPcmlnaW47CiBjbGFz
cyBTcGVlY2hJbnB1dENsaWVudDsKIGNsYXNzIFNwZWVjaElucHV0TGlzdGVuZXI7CiAKQEAgLTYx
LDcgKzYyLDcgQEAgcHVibGljOgogICAgIHZvaWQgdW5yZWdpc3Rlckxpc3RlbmVyKGludCk7CiAK
ICAgICAvLyBNZXRob2RzIGludm9rZWQgYnkgdGhlIGlucHV0IGVsZW1lbnRzLgotICAgIGJvb2wg
c3RhcnRSZWNvZ25pdGlvbihpbnQgbGlzdGVuZXJJZCwgY29uc3QgSW50UmVjdCYgZWxlbWVudFJl
Y3QsIGNvbnN0IEF0b21pY1N0cmluZyYgbGFuZ3VhZ2UsIGNvbnN0IFN0cmluZyYgZ3JhbW1hcik7
CisgICAgYm9vbCBzdGFydFJlY29nbml0aW9uKGludCBsaXN0ZW5lcklkLCBjb25zdCBJbnRSZWN0
JiBlbGVtZW50UmVjdCwgY29uc3QgQXRvbWljU3RyaW5nJiBsYW5ndWFnZSwgY29uc3QgU3RyaW5n
JiBncmFtbWFyLCBTZWN1cml0eU9yaWdpbiopOwogICAgIHZvaWQgc3RvcFJlY29yZGluZyhpbnQp
OwogICAgIHZvaWQgY2FuY2VsUmVjb2duaXRpb24oaW50KTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9TcGVlY2hJbnB1dENsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9T
cGVlY2hJbnB1dENsaWVudC5oCmluZGV4IDJhMmUxNjBmYjc2YmViZWIxNGE3YmY5MjQ1ZTVmMTRm
MGNiNzdkNzMuLjRmOGZkNWUyNWRkMDI0ZTcyNzYzODQzYmZiZTE3NjZhODE3ZDNiN2YgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3BlZWNoSW5wdXRDbGllbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0Q2xpZW50LmgKQEAgLTM4LDYgKzM4LDcgQEAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSW50UmVjdDsKK2NsYXNzIFNlY3VyaXR5T3JpZ2lu
OwogY2xhc3MgU3BlZWNoSW5wdXRMaXN0ZW5lcjsKIAogLy8gUHJvdmlkZXMgYW4gaW50ZXJmYWNl
IGZvciBTcGVlY2hJbnB1dCB0byBjYWxsIGludG8gdGhlIGVtYmVkZGVyLgpAQCAtNTAsNyArNTEs
NyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNldExpc3RlbmVyKFNwZWVjaElucHV0TGlz
dGVuZXIqKSA9IDA7CiAKICAgICAvLyBTdGFydHMgc3BlZWNoIHJlY29nbml0aW9uIGFuZCBhdWRp
byByZWNvcmRpbmcuCi0gICAgdmlydHVhbCBib29sIHN0YXJ0UmVjb2duaXRpb24oaW50IHJlcXVl
c3RJZCwgY29uc3QgSW50UmVjdCYgZWxlbWVudFJlY3QsIGNvbnN0IEF0b21pY1N0cmluZyYgbGFu
Z3VhZ2UsIGNvbnN0IFN0cmluZyYgZ3JhbW1hcikgPSAwOworICAgIHZpcnR1YWwgYm9vbCBzdGFy
dFJlY29nbml0aW9uKGludCByZXF1ZXN0SWQsIGNvbnN0IEludFJlY3QmIGVsZW1lbnRSZWN0LCBj
b25zdCBBdG9taWNTdHJpbmcmIGxhbmd1YWdlLCBjb25zdCBTdHJpbmcmIGdyYW1tYXIsIFNlY3Vy
aXR5T3JpZ2luKikgPSAwOwogCiAgICAgLy8gU3RvcHMgYXVkaW8gcmVjb3JkaW5nIGFuZCBwZXJm
b3JtcyByZWNvZ25pdGlvbiB3aXRoIHRoZSBhdWRpbyByZWNvcmRlZCB1bnRpbCBub3cKICAgICAv
LyAoZG9lcyBub3QgZGlzY2FyZCBhdWRpbykuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tb2NrL1NwZWVjaElucHV0Q2xpZW50TW9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tb2NrL1NwZWVjaElucHV0Q2xpZW50TW9jay5jcHAKaW5kZXggMTZhN2M3NmMxZGQ5
YzBjYjMyYzg4MGZiNTc3NzJhMWFlNmE0MTJmZS4uOWFhMzExM2RjMDA2M2JlYTI2ZDRiMTU4ZDc0
MDQ5MTAxYjkzYmE4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9T
cGVlY2hJbnB1dENsaWVudE1vY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21v
Y2svU3BlZWNoSW5wdXRDbGllbnRNb2NrLmNwcApAQCAtMzMsNiArMzMsNyBAQAogCiAjaWYgRU5B
QkxFKElOUFVUX1NQRUVDSCkKIAorI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVk
ZSAiU3BlZWNoSW5wdXRMaXN0ZW5lci5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC01MCw3
ICs1MSw3IEBAIHZvaWQgU3BlZWNoSW5wdXRDbGllbnRNb2NrOjpzZXRMaXN0ZW5lcihTcGVlY2hJ
bnB1dExpc3RlbmVyKiBsaXN0ZW5lcikKICAgICBtX2xpc3RlbmVyID0gbGlzdGVuZXI7CiB9CiAK
LWJvb2wgU3BlZWNoSW5wdXRDbGllbnRNb2NrOjpzdGFydFJlY29nbml0aW9uKGludCByZXF1ZXN0
SWQsIGNvbnN0IEludFJlY3QmIGVsZW1lbnRSZWN0LCBjb25zdCBBdG9taWNTdHJpbmcmIGxhbmd1
YWdlLCBjb25zdCBTdHJpbmcmIGdyYW1tYXIpCitib29sIFNwZWVjaElucHV0Q2xpZW50TW9jazo6
c3RhcnRSZWNvZ25pdGlvbihpbnQgcmVxdWVzdElkLCBjb25zdCBJbnRSZWN0JiBlbGVtZW50UmVj
dCwgY29uc3QgQXRvbWljU3RyaW5nJiBsYW5ndWFnZSwgY29uc3QgU3RyaW5nJiBncmFtbWFyLCBT
ZWN1cml0eU9yaWdpbiogb3JpZ2luKQogewogICAgIGlmIChtX3RpbWVyLmlzQWN0aXZlKCkpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21vY2svU3BlZWNoSW5wdXRDbGllbnRNb2NrLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
b2NrL1NwZWVjaElucHV0Q2xpZW50TW9jay5oCmluZGV4IDZmNzIxOTEwZDE2MTYzYWEzN2YyM2I0
MzA1NTMzZDAwYjFhYTJjYTUuLjRlMTMyNDJhY2I0YjZmOTE2NGRlZWU4NTVkNTYzNjhiZDQ5ZWM1
MzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svU3BlZWNoSW5wdXRD
bGllbnRNb2NrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9TcGVlY2hJbnB1
dENsaWVudE1vY2suaApAQCAtNTQsNyArNTQsNyBAQCBwdWJsaWM6CiAKICAgICAvLyBTcGVlY2hJ
bnB1dENsaWVudCBtZXRob2RzLgogICAgIHZvaWQgc2V0TGlzdGVuZXIoU3BlZWNoSW5wdXRMaXN0
ZW5lciopOwotICAgIGJvb2wgc3RhcnRSZWNvZ25pdGlvbihpbnQgcmVxdWVzdElkLCBjb25zdCBJ
bnRSZWN0JiBlbGVtZW50UmVjdCwgY29uc3QgQXRvbWljU3RyaW5nJiBsYW5ndWFnZSwgY29uc3Qg
U3RyaW5nJiBncmFtbWFyKTsKKyAgICBib29sIHN0YXJ0UmVjb2duaXRpb24oaW50IHJlcXVlc3RJ
ZCwgY29uc3QgSW50UmVjdCYgZWxlbWVudFJlY3QsIGNvbnN0IEF0b21pY1N0cmluZyYgbGFuZ3Vh
Z2UsIGNvbnN0IFN0cmluZyYgZ3JhbW1hciwgU2VjdXJpdHlPcmlnaW4qKTsKICAgICB2b2lkIHN0
b3BSZWNvcmRpbmcoaW50KTsKICAgICB2b2lkIGNhbmNlbFJlY29nbml0aW9uKGludCk7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0Q29udHJvbElubmVyRWxlbWVu
dHMuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRDb250cm9sSW5uZXJFbGVtZW50
cy5jcHAKaW5kZXggNWI4NzEyZDY1NTI2NTMyZjgzY2I4ODFjNWUwZGVlZTQ3ZmRmNTQwNS4uNGRk
OWRkNWNmNDM1ZjU2MWQxMjk0MWM5OTZlZTIxYzVlNzA1MzA5YSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1RleHRDb250cm9sSW5uZXJFbGVtZW50cy5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRDb250cm9sSW5uZXJFbGVtZW50cy5jcHAKQEAgLTQz
Myw5ICs0MzMsMTMgQEAgdm9pZCBJbnB1dEZpZWxkU3BlZWNoQnV0dG9uRWxlbWVudDo6ZGVmYXVs
dEV2ZW50SGFuZGxlcihFdmVudCogZXZlbnQpCiAKICAgICBpZiAoZXZlbnQtPnR5cGUoKSA9PSBl
dmVudE5hbWVzKCkuY2xpY2tFdmVudCkgewogICAgICAgICBzd2l0Y2ggKG1fc3RhdGUpIHsKLSAg
ICAgICAgY2FzZSBJZGxlOgotICAgICAgICAgICAgaWYgKHNwZWVjaElucHV0KCktPnN0YXJ0UmVj
b2duaXRpb24obV9saXN0ZW5lcklkLCBpbnB1dC0+cmVuZGVyZXIoKS0+YWJzb2x1dGVCb3VuZGlu
Z0JveFJlY3QoKSwgaW5wdXQtPmNvbXB1dGVJbmhlcml0ZWRMYW5ndWFnZSgpLCBpbnB1dC0+Z2V0
QXR0cmlidXRlKHdlYmtpdGdyYW1tYXJBdHRyKSkpCi0gICAgICAgICAgICAgICAgc2V0U3RhdGUo
UmVjb3JkaW5nKTsKKyAgICAgICAgY2FzZSBJZGxlOiB7CisgICAgICAgICAgICAgIEF0b21pY1N0
cmluZyBsYW5ndWFnZSA9IGlucHV0LT5jb21wdXRlSW5oZXJpdGVkTGFuZ3VhZ2UoKTsKKyAgICAg
ICAgICAgICAgU3RyaW5nIGdyYW1tYXIgPSBpbnB1dC0+Z2V0QXR0cmlidXRlKHdlYmtpdGdyYW1t
YXJBdHRyKTsKKyAgICAgICAgICAgICAgSW50UmVjdCByZWN0ID0gaW5wdXQtPnJlbmRlcmVyKCkt
PmFic29sdXRlQm91bmRpbmdCb3hSZWN0KCk7CisgICAgICAgICAgICAgIGlmIChzcGVlY2hJbnB1
dCgpLT5zdGFydFJlY29nbml0aW9uKG1fbGlzdGVuZXJJZCwgcmVjdCwgbGFuZ3VhZ2UsIGdyYW1t
YXIsIGRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCkpKQorICAgICAgICAgICAgICAgICAgc2V0
U3RhdGUoUmVjb3JkaW5nKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICBjYXNlIFJlY29yZGluZzoKICAgICAgICAgICAgIHNwZWVjaElucHV0KCktPnN0b3BSZWNv
cmRpbmcobV9saXN0ZW5lcklkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggYTBlMDQx
MDM2MGY1MzljNTdhMzk2ODRiZmUzYTQxNjZkNjE3MmE3MC4uNmQ1MTcxOTVmY2FhZjcwMjhiNWUx
NGViMmY2Nzk0YmE4ZTIyY2U5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxOSBAQAorMjAxMS0wMS0xOSAgU2F0aXNoIFNhbXBhdGggIDxzYXRpc2hAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNlbmQg
b3JpZ2luL3VybCBhcyBwYXJ0IG9mIHNwZWVjaCBpbnB1dCByZXF1ZXN0cyB0byB0aGUgZW1iZWRk
ZXIuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01Mjcx
OAorCisgICAgICAgICogcHVibGljL1dlYlNwZWVjaElucHV0Q29udHJvbGxlci5oOgorICAgICAg
ICAoV2ViS2l0OjpXZWJTcGVlY2hJbnB1dENvbnRyb2xsZXI6OnN0YXJ0UmVjb2duaXRpb24pOiBV
cGRhdGVkIHByb3RvdHlwZS4KKyAgICAgICAgKiBzcmMvU3BlZWNoSW5wdXRDbGllbnRJbXBsLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6U3BlZWNoSW5wdXRDbGllbnRJbXBsOjpzdGFydFJlY29nbml0
aW9uKTogUGFzcyB1cCBhZGRpdGlvbmFsIG9yaWdpbiBwYXJhbWV0ZXIuCisgICAgICAgICogc3Jj
L1NwZWVjaElucHV0Q2xpZW50SW1wbC5oOgorICAgICAgICAqIHNyYy9XZWJTcGVlY2hJbnB1dENv
bnRyb2xsZXJNb2NrSW1wbC5jcHA6IFVwZGF0ZWQgY29kZSB0byBwYXNzIGFkZGl0aW9uYWwgcGFy
YW1ldGVyLgorICAgICAgICAoV2ViS2l0OjpXZWJTcGVlY2hJbnB1dENvbnRyb2xsZXJNb2NrSW1w
bDo6c3RhcnRSZWNvZ25pdGlvbik6CisgICAgICAgICogc3JjL1dlYlNwZWVjaElucHV0Q29udHJv
bGxlck1vY2tJbXBsLmg6IEFkZGVkIG5ldyB2YXJpYW50IG9mIHN0YXJ0UmVjb2duaXRpb24gbWV0
aG9kLgorCiAyMDExLTAxLTE3ICBOaWNvIFdlYmVyICA8dGhha2lzQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBVbnJldmlld2VkLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9w
dWJsaWMvV2ViU3BlZWNoSW5wdXRDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3B1YmxpYy9XZWJTcGVlY2hJbnB1dENvbnRyb2xsZXIuaAppbmRleCA2ZWQ1NDZmZmIyY2QyZjEx
NTEyMTQ1MjA0NzI3YTViMTRkMmY5N2JhLi5lYjgzZWM3YTBmYzRmZTFjZmZmMDZhN2MzYzQ5MDgx
OWU1ZmFkODU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJT
cGVlY2hJbnB1dENvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1Ymxp
Yy9XZWJTcGVlY2hJbnB1dENvbnRyb2xsZXIuaApAQCAtMzUsOCArMzUsOCBAQAogCiBuYW1lc3Bh
Y2UgV2ViS2l0IHsKIAotY2xhc3MgV2ViU3RyaW5nOwogc3RydWN0IFdlYlJlY3Q7CitjbGFzcyBX
ZWJTZWN1cml0eU9yaWdpbjsKIGNsYXNzIFdlYlN0cmluZzsKIAogLy8gUHJvdmlkZXMgYW4gZW1i
ZWRkZXIgQVBJIGNhbGxlZCBieSBXZWJLaXQuCkBAIC00NSw2ICs0NSwxMSBAQCBwdWJsaWM6CiAg
ICAgLy8gU3RhcnRzIHNwZWVjaCByZWNvZ25pdGlvbi4gU3BlZWNoIHdpbGwgZ2V0IHJlY29yZGVk
IHVudGlsIHRoZSBlbmRwb2ludGVyIGRldGVjdHMgc2lsZW5jZSwKICAgICAvLyBydW5zIHRvIHRo
ZSBsaW1pdCBvciBzdG9wUmVjb3JkaW5nIGlzIGNhbGxlZC4gUHJvZ3Jlc3MgaW5kaWNhdGlvbnMg
YW5kIHRoZSByZWNvZ25pemVkCiAgICAgLy8gdGV4dCBhcmUgcmV0dXJuZWQgdmlhIHRoZSBsaXN0
ZW5lciBpbnRlcmZhY2UuCisgICAgdmlydHVhbCBib29sIHN0YXJ0UmVjb2duaXRpb24oaW50IHJl
cXVlc3RJZCwgY29uc3QgV2ViUmVjdCYgZWxlbWVudFJlY3QsIGNvbnN0IFdlYlN0cmluZyYgbGFu
Z3VhZ2UsIGNvbnN0IFdlYlN0cmluZyYgZ3JhbW1hciwgY29uc3QgV2ViU2VjdXJpdHlPcmlnaW4m
IG9yaWdpbikKKyAgICB7CisgICAgICAgIHJldHVybiBzdGFydFJlY29nbml0aW9uKHJlcXVlc3RJ
ZCwgZWxlbWVudFJlY3QsIGxhbmd1YWdlLCBncmFtbWFyKTsKKyAgICB9CisgICAgLy8gVE9ETyhz
YXRpc2gpOiBSZW1vdmUgdGhpcyBvbmNlIGNocm9taXVtIGhhcyByb2xsZWQgcGFzdCB0aGUgYWJv
dmUgY2hhbmdlLgogICAgIHZpcnR1YWwgYm9vbCBzdGFydFJlY29nbml0aW9uKGludCByZXF1ZXN0
SWQsIGNvbnN0IFdlYlJlY3QmIGVsZW1lbnRSZWN0LCBjb25zdCBXZWJTdHJpbmcmIGxhbmd1YWdl
LCBjb25zdCBXZWJTdHJpbmcmIGdyYW1tYXIpCiAgICAgewogICAgICAgICBXRUJLSVRfQVNTRVJU
X05PVF9SRUFDSEVEKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9T
cGVlY2hJbnB1dENsaWVudEltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvU3Bl
ZWNoSW5wdXRDbGllbnRJbXBsLmNwcAppbmRleCBiNWVkMzg0YjkxNjc5ZTc0NzQzYzZjMDJkZmFk
NmQ3Y2IzMDI4ZTNlLi5lNDgxZjZlNTlmYzg0ZmZkMGE0OTJkMmYzZDM4NzQxNTczNmVjOWVmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9TcGVlY2hJbnB1dENsaWVudElt
cGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1NwZWVjaElucHV0Q2xpZW50
SW1wbC5jcHAKQEAgLTMyLDcgKzMyLDkgQEAKICNpbmNsdWRlICJTcGVlY2hJbnB1dENsaWVudElt
cGwuaCIKIAogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCisjaW5jbHVkZSAiU2VjdXJpdHlP
cmlnaW4uaCIKICNpbmNsdWRlICJTcGVlY2hJbnB1dExpc3RlbmVyLmgiCisjaW5jbHVkZSAiV2Vi
U2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlICJXZWJTcGVlY2hJbnB1dENvbnRyb2xsZXIuaCIK
ICNpbmNsdWRlICJXZWJTdHJpbmcuaCIKICNpbmNsdWRlICJXZWJWaWV3Q2xpZW50LmgiCkBAIC02
MiwxMCArNjQsMTAgQEAgdm9pZCBTcGVlY2hJbnB1dENsaWVudEltcGw6OnNldExpc3RlbmVyKFdl
YkNvcmU6OlNwZWVjaElucHV0TGlzdGVuZXIqIGxpc3RlbmVyKQogICAgIG1fbGlzdGVuZXIgPSBs
aXN0ZW5lcjsKIH0KIAotYm9vbCBTcGVlY2hJbnB1dENsaWVudEltcGw6OnN0YXJ0UmVjb2duaXRp
b24oaW50IHJlcXVlc3RJZCwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgZWxlbWVudFJlY3QsIGNv
bnN0IEF0b21pY1N0cmluZyYgbGFuZ3VhZ2UsIGNvbnN0IFN0cmluZyYgZ3JhbW1hcikKK2Jvb2wg
U3BlZWNoSW5wdXRDbGllbnRJbXBsOjpzdGFydFJlY29nbml0aW9uKGludCByZXF1ZXN0SWQsIGNv
bnN0IFdlYkNvcmU6OkludFJlY3QmIGVsZW1lbnRSZWN0LCBjb25zdCBBdG9taWNTdHJpbmcmIGxh
bmd1YWdlLCBjb25zdCBTdHJpbmcmIGdyYW1tYXIsIFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luKiBv
cmlnaW4pCiB7CiAgICAgQVNTRVJUKG1fbGlzdGVuZXIpOwotICAgIHJldHVybiBtX2NvbnRyb2xs
ZXItPnN0YXJ0UmVjb2duaXRpb24ocmVxdWVzdElkLCBlbGVtZW50UmVjdCwgbGFuZ3VhZ2UsIGdy
YW1tYXIpOworICAgIHJldHVybiBtX2NvbnRyb2xsZXItPnN0YXJ0UmVjb2duaXRpb24ocmVxdWVz
dElkLCBlbGVtZW50UmVjdCwgbGFuZ3VhZ2UsIGdyYW1tYXIsIFdlYlNlY3VyaXR5T3JpZ2luKG9y
aWdpbikpOwogfQogCiB2b2lkIFNwZWVjaElucHV0Q2xpZW50SW1wbDo6c3RvcFJlY29yZGluZyhp
bnQgcmVxdWVzdElkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvU3Bl
ZWNoSW5wdXRDbGllbnRJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9TcGVlY2hJ
bnB1dENsaWVudEltcGwuaAppbmRleCA1MjA4MDNhNmE3N2NkOGI1MzM4MTFlNDcwZDkwODg3ZTFk
MmU1NTFkLi5hODExNTFkM2ZjZWYwZTk1Yjk2ZjM2ZmUwZDNmM2ZjNGU3ZjI4NWU4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9TcGVlY2hJbnB1dENsaWVudEltcGwuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9TcGVlY2hJbnB1dENsaWVudEltcGwuaApA
QCAtNDAsNiArNDAsNyBAQAogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKK2NsYXNzIFNlY3VyaXR5T3JpZ2luOwogY2xhc3MgU3BlZWNoSW5wdXRMaXN0
ZW5lcjsKIH0KIApAQCAtNTcsNyArNTgsNyBAQCBwdWJsaWM6CiAKICAgICAvLyBTcGVlY2hJbnB1
dENsaWVudCBtZXRob2RzLgogICAgIHZvaWQgc2V0TGlzdGVuZXIoV2ViQ29yZTo6U3BlZWNoSW5w
dXRMaXN0ZW5lciopOwotICAgIGJvb2wgc3RhcnRSZWNvZ25pdGlvbihpbnQgcmVxdWVzdElkLCBj
b25zdCBXZWJDb3JlOjpJbnRSZWN0JiBlbGVtZW50UmVjdCwgY29uc3QgQXRvbWljU3RyaW5nJiBs
YW5ndWFnZSwgY29uc3QgU3RyaW5nJiBncmFtbWFyKTsKKyAgICBib29sIHN0YXJ0UmVjb2duaXRp
b24oaW50IHJlcXVlc3RJZCwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgZWxlbWVudFJlY3QsIGNv
bnN0IEF0b21pY1N0cmluZyYgbGFuZ3VhZ2UsIGNvbnN0IFN0cmluZyYgZ3JhbW1hciwgV2ViQ29y
ZTo6U2VjdXJpdHlPcmlnaW4qKTsKICAgICB2b2lkIHN0b3BSZWNvcmRpbmcoaW50KTsKICAgICB2
b2lkIGNhbmNlbFJlY29nbml0aW9uKGludCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYkdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3QuY3BwIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdC5jcHAK
aW5kZXggOGQ4YzUzZTE3NWI5ZTM2NGU0NTdlYjIxZjQyMDRkNTQzNzQyMGZmMy4uNTNlY2ExOTgx
MDhjZDFjNThhNjFmN2VlMzkxODFmZjY0YzdmZTE5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdC5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVz
dC5jcHAKQEAgLTM4LDcgKzM4LDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIFdlYlNlY3VyaXR5
T3JpZ2luIFdlYkdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3Q6OnNlY3VyaXR5T3JpZ2luKCkg
Y29uc3QKIHsKLSAgICByZXR1cm4gV2ViU2VjdXJpdHlPcmlnaW46OmNyZWF0ZShtX3ByaXZhdGUt
PmZyYW1lKCktPmRvY3VtZW50KCktPnVybCgpKTsKKyAgICByZXR1cm4gV2ViU2VjdXJpdHlPcmln
aW4obV9wcml2YXRlLT5mcmFtZSgpLT5kb2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigpKTsKIH0K
IAogdm9pZCBXZWJHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0OjpzZXRJc0FsbG93ZWQoYm9v
bCBhbGxvd2VkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU3Bl
ZWNoSW5wdXRDb250cm9sbGVyTW9ja0ltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViU3BlZWNoSW5wdXRDb250cm9sbGVyTW9ja0ltcGwuY3BwCmluZGV4IDQ4ZjhiNTA3ZDdl
Yzg5MTNiMjI2ZTc5ZWQwNGFjMjRlZWY0NDMxMGMuLjNiZWI3ODUxZjAzYWUxMTdmZmJhZWI1ODA3
ODI1NWRhNGM5YjcwOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YlNwZWVjaElucHV0Q29udHJvbGxlck1vY2tJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJTcGVlY2hJbnB1dENvbnRyb2xsZXJNb2NrSW1wbC5jcHAKQEAgLTMyLDgg
KzMyLDEwIEBACiAjaW5jbHVkZSAiV2ViU3BlZWNoSW5wdXRDb250cm9sbGVyTW9ja0ltcGwuaCIK
IAogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCisjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4u
aCIKICNpbmNsdWRlICJTcGVlY2hJbnB1dENsaWVudE1vY2suaCIKICNpbmNsdWRlICJXZWJSZWN0
LmgiCisjaW5jbHVkZSAiV2ViU2VjdXJpdHlPcmlnaW4uaCIKIAogbmFtZXNwYWNlIFdlYktpdCB7
CiAKQEAgLTgwLDkgKzgyLDkgQEAgdm9pZCBXZWJTcGVlY2hJbnB1dENvbnRyb2xsZXJNb2NrSW1w
bDo6c2V0UmVjb2duaXRpb25SZXN1bHQoaW50IHJlcXVlc3RJZCwgY29uc3QKICAgICBtX2xpc3Rl
bmVyLT5zZXRSZWNvZ25pdGlvblJlc3VsdChyZXF1ZXN0SWQsIHJlc3VsdCk7CiB9CiAKLWJvb2wg
V2ViU3BlZWNoSW5wdXRDb250cm9sbGVyTW9ja0ltcGw6OnN0YXJ0UmVjb2duaXRpb24oaW50IHJl
cXVlc3RJZCwgY29uc3QgV2ViUmVjdCYgZWxlbWVudFJlY3QsIGNvbnN0IFdlYlN0cmluZyYgbGFu
Z3VhZ2UsIGNvbnN0IFdlYlN0cmluZyYgZ3JhbW1hcikKK2Jvb2wgV2ViU3BlZWNoSW5wdXRDb250
cm9sbGVyTW9ja0ltcGw6OnN0YXJ0UmVjb2duaXRpb24oaW50IHJlcXVlc3RJZCwgY29uc3QgV2Vi
UmVjdCYgZWxlbWVudFJlY3QsIGNvbnN0IFdlYlN0cmluZyYgbGFuZ3VhZ2UsIGNvbnN0IFdlYlN0
cmluZyYgZ3JhbW1hciwgY29uc3QgV2ViU2VjdXJpdHlPcmlnaW4mIG9yaWdpbikKIHsKLSAgICBy
ZXR1cm4gbV93ZWJjb3JlTW9jay0+c3RhcnRSZWNvZ25pdGlvbihyZXF1ZXN0SWQsIGVsZW1lbnRS
ZWN0LCBsYW5ndWFnZSwgZ3JhbW1hcik7CisgICAgcmV0dXJuIG1fd2ViY29yZU1vY2stPnN0YXJ0
UmVjb2duaXRpb24ocmVxdWVzdElkLCBlbGVtZW50UmVjdCwgbGFuZ3VhZ2UsIGdyYW1tYXIsIG9y
aWdpbi5nZXQoKSk7CiB9CiAKIHZvaWQgV2ViU3BlZWNoSW5wdXRDb250cm9sbGVyTW9ja0ltcGw6
OmNhbmNlbFJlY29nbml0aW9uKGludCByZXF1ZXN0SWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJTcGVlY2hJbnB1dENvbnRyb2xsZXJNb2NrSW1wbC5oIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU3BlZWNoSW5wdXRDb250cm9sbGVyTW9ja0ltcGwu
aAppbmRleCBiZjAwZWQwM2Y3NDIxMGJkMjYwMDlhNGMwZTE3MDI1YTBmZDk3NWNkLi40YzhmZWU3
MmY2Zjk2NGRjMzYxYmIyMzEzMGI4MzFlYjdiYTRjNDM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJTcGVlY2hJbnB1dENvbnRyb2xsZXJNb2NrSW1wbC5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNwZWVjaElucHV0Q29udHJvbGxlck1vY2tJ
bXBsLmgKQEAgLTU3LDcgKzU3LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0UmVjb2duaXRpb25S
ZXN1bHQoaW50IHJlcXVlc3RJZCwgY29uc3QgV2ViQ29yZTo6U3BlZWNoSW5wdXRSZXN1bHRBcnJh
eSYgcmVzdWx0KTsKIAogICAgIC8vIFdlYlNwZWVjaElucHV0Q29udHJvbGxlciBtZXRob2RzLgot
ICAgIGJvb2wgc3RhcnRSZWNvZ25pdGlvbihpbnQgcmVxdWVzdElkLCBjb25zdCBXZWJSZWN0JiBl
bGVtZW50UmVjdCwgY29uc3QgV2ViU3RyaW5nJiBsYW5ndWFnZSwgY29uc3QgV2ViU3RyaW5nJiBn
cmFtbWFyKTsKKyAgICBib29sIHN0YXJ0UmVjb2duaXRpb24oaW50IHJlcXVlc3RJZCwgY29uc3Qg
V2ViUmVjdCYgZWxlbWVudFJlY3QsIGNvbnN0IFdlYlN0cmluZyYgbGFuZ3VhZ2UsIGNvbnN0IFdl
YlN0cmluZyYgZ3JhbW1hciwgY29uc3QgV2ViU2VjdXJpdHlPcmlnaW4mKTsKICAgICB2b2lkIGNh
bmNlbFJlY29nbml0aW9uKGludCByZXF1ZXN0SWQpOwogICAgIHZvaWQgc3RvcFJlY29yZGluZyhp
bnQgcmVxdWVzdElkKTsKIAo=
</data>
<flag name="review"
          id="70840"
          type_id="1"
          status="+"
          setter="jorlow"
    />
          </attachment>
      

    </bug>

</bugzilla>