<?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>83334</bug_id>
          
          <creation_ts>2012-04-05 17:09:20 -0700</creation_ts>
          <short_desc>Provide Obj-C private API to simplify markup</short_desc>
          <delta_ts>2012-04-06 15:44:29 -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>HTML Editing</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</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="Enrica Casucci">enrica</reporter>
          <assigned_to name="Enrica Casucci">enrica</assigned_to>
          <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>597049</commentid>
    <comment_count>0</comment_count>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2012-04-05 17:09:20 -0700</bug_when>
    <thetext>We want to expose this functionality directly, without having to perform a copy/paste to sanitize the markup.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>597051</commentid>
    <comment_count>1</comment_count>
      <attachid>135942</attachid>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2012-04-05 17:14:42 -0700</bug_when>
    <thetext>Created attachment 135942
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>597470</commentid>
    <comment_count>2</comment_count>
      <attachid>135942</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2012-04-06 10:43:47 -0700</bug_when>
    <thetext>Comment on attachment 135942
Patch

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

&gt; Tools/TestWebKitAPI/Tests/mac/SimplifyMarkup.mm:72
&gt; +

We should test the different combinations this API allows, including non-nill endNode, endNode before startNode, and endNode in a different document than startNode.  I guess if should also make sure that startNode is in a document in webView.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>597578</commentid>
    <comment_count>3</comment_count>
      <attachid>136055</attachid>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2012-04-06 12:57:51 -0700</bug_when>
    <thetext>Created attachment 136055
Patch2

Addresses comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>597739</commentid>
    <comment_count>4</comment_count>
      <attachid>136055</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2012-04-06 15:36:10 -0700</bug_when>
    <thetext>Comment on attachment 136055
Patch2

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

&gt; Source/WebCore/editing/Editor.cpp:1060
&gt; +    applyCommand(SimplifyMarkupCommand::create(m_frame-&gt;document(), startNode, (endNode) ? endNode-&gt;traverseNextNode(): 0));

Missing space before :

&gt; Tools/TestWebKitAPI/Tests/mac/SimplifyMarkup.mm:111
&gt; +
&gt; +
&gt; +}

Unnecessary whitepace.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>597750</commentid>
    <comment_count>5</comment_count>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2012-04-06 15:44:29 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/113510</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>135942</attachid>
            <date>2012-04-05 17:14:42 -0700</date>
            <delta_ts>2012-04-06 12:57:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>clenaupspi.txt</filename>
            <type>text/plain</type>
            <size>15063</size>
            <attacher name="Enrica Casucci">enrica</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExMzM5NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDEyLTA0LTA1ICBFbnJpY2Eg
Q2FzdWNjaSAgPGVucmljYUBhcHBsZS5jb20+CisKKyAgICAgICAgUHJvdmlkZSBPYmotQyBwcml2
YXRlIEFQSSB0byBzaW1wbGlmeSBtYXJrdXAuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD04MzMzNAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTEwMzM4
NjE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRk
ZWQgdGVzdCBpbiBUZXN0V2ViS2l0QVBJCisKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAg
ICAgICAgKiBlZGl0aW5nL0VkaXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFZGl0b3I6OnNp
bXBsaWZ5TWFya3VwKTogRXhwb3NpbmcgdGhlIG5ldyBjb21tYW5kIHRocm91Z2ggdGhlIGVkaXRv
ci4KKyAgICAgICAgKiBlZGl0aW5nL0VkaXRvci5oOgorCiAyMDEyLTA0LTA1ICBKb3NodWEgQmVs
bCAgPGpzYmVsbEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgSW5kZXhlZERCOiBTdXBwb3J0IHN0
cmluZy5sZW5ndGggaW4ga2V5UGF0aHMKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhw
LmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCShyZXZpc2lv
biAxMTMzOTUpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgkod29ya2luZyBjb3B5
KQpAQCAtMzg2LDYgKzM4Niw3IEBAIF9fWk43V2ViQ29yZTE0U2VjdXJpdHlQb2xpY3kyMmdlbmVy
YXRlUmUKIF9fWk43V2ViQ29yZTE0U2VjdXJpdHlQb2xpY3kyN3Jlc2V0T3JpZ2luQWNjZXNzV2hp
dGVsaXN0c0V2CiBfX1pON1dlYkNvcmUxNFNlY3VyaXR5UG9saWN5MjlhZGRPcmlnaW5BY2Nlc3NX
aGl0ZWxpc3RFbnRyeUVSS05TXzE0U2VjdXJpdHlPcmlnaW5FUktOM1dURjZTdHJpbmdFUzdfYgog
X19aTjdXZWJDb3JlMTRTZWN1cml0eVBvbGljeTMycmVtb3ZlT3JpZ2luQWNjZXNzV2hpdGVsaXN0
RW50cnlFUktOU18xNFNlY3VyaXR5T3JpZ2luRVJLTjNXVEY2U3RyaW5nRVM3X2IKK19fWk43V2Vi
Q29yZTZFZGl0b3IxNHNpbXBsaWZ5TWFya3VwRVBOU180Tm9kZUVTMl8KIF9fWk43V2ViQ29yZTE0
U3RvcmFnZVRyYWNrZXIxMmRlbGV0ZU9yaWdpbkVQTlNfMTRTZWN1cml0eU9yaWdpbkUKIF9fWk43
V2ViQ29yZTE0U3RvcmFnZVRyYWNrZXIxNmRlbGV0ZUFsbE9yaWdpbnNFdgogX19aTjdXZWJDb3Jl
MTRTdG9yYWdlVHJhY2tlcjE2c3luY0xvY2FsU3RvcmFnZUV2CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL0VkaXRvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9FZGl0b3IuY3BwCShyZXZpc2lvbiAxMTMzOTUpCisrKyBTb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L0VkaXRvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc0LDYgKzc0LDcgQEAKICNpbmNsdWRlICJS
ZW5kZXJlZFBvc2l0aW9uLmgiCiAjaW5jbHVkZSAiUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuaCIK
ICNpbmNsdWRlICJTZXR0aW5ncy5oIgorI2luY2x1ZGUgIlNpbXBsaWZ5TWFya3VwQ29tbWFuZC5o
IgogI2luY2x1ZGUgIlNvdW5kLmgiCiAjaW5jbHVkZSAiU3BlbGxDaGVja2VyLmgiCiAjaW5jbHVk
ZSAiU3BlbGxpbmdDb3JyZWN0aW9uQ29tbWFuZC5oIgpAQCAtMTA0MSw2ICsxMDQyLDEzIEBAIHZv
aWQgRWRpdG9yOjpwZXJmb3JtRGVsZXRlKCkKICAgICBzZXRTdGFydE5ld0tpbGxSaW5nU2VxdWVu
Y2UoZmFsc2UpOwogfQogCit2b2lkIEVkaXRvcjo6c2ltcGxpZnlNYXJrdXAoTm9kZSogc3RhcnRO
b2RlLCBOb2RlKiBlbmROb2RlKQoreworICAgIGlmICghc3RhcnROb2RlKQorICAgICAgICByZXR1
cm47CisgICAgYXBwbHlDb21tYW5kKFNpbXBsaWZ5TWFya3VwQ29tbWFuZDo6Y3JlYXRlKG1fZnJh
bWUtPmRvY3VtZW50KCksIHN0YXJ0Tm9kZSwgKGVuZE5vZGUpID8gZW5kTm9kZS0+dHJhdmVyc2VO
ZXh0Tm9kZSgpOiAwKSk7Cit9CisKIHZvaWQgRWRpdG9yOjpjb3B5VVJMKGNvbnN0IEtVUkwmIHVy
bCwgY29uc3QgU3RyaW5nJiB0aXRsZSkKIHsKICAgICBQYXN0ZWJvYXJkOjpnZW5lcmFsUGFzdGVi
b2FyZCgpLT53cml0ZVVSTCh1cmwsIHRpdGxlLCBtX2ZyYW1lKTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvRWRpdG9yLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9FZGl0b3IuaAkocmV2aXNpb24gMTEzMzk1KQorKysgU291cmNlL1dlYkNvcmUvZWRpdGluZy9F
ZGl0b3IuaAkod29ya2luZyBjb3B5KQpAQCAtMzgxLDYgKzM4MSw4IEBAIHB1YmxpYzoKICAgICBi
b29sIHNlbGVjdGlvblN0YXJ0SGFzTWFya2VyRm9yKERvY3VtZW50TWFya2VyOjpNYXJrZXJUeXBl
LCBpbnQgZnJvbSwgaW50IGxlbmd0aCkgY29uc3Q7CiAgICAgdm9pZCB1cGRhdGVNYXJrZXJzRm9y
V29yZHNBZmZlY3RlZEJ5RWRpdGluZyhib29sIG9ubHlIYW5kbGVXb3Jkc0NvbnRhaW5pbmdTZWxl
Y3Rpb24pOwogICAgIHZvaWQgZGVsZXRlZEF1dG9jb3JyZWN0aW9uQXRQb3NpdGlvbihjb25zdCBQ
b3NpdGlvbiYsIGNvbnN0IFN0cmluZyYgb3JpZ2luYWxTdHJpbmcpOworICAgIAorICAgIHZvaWQg
c2ltcGxpZnlNYXJrdXAoTm9kZSogc3RhcnROb2RlLCBOb2RlKiBlbmROb2RlKTsKIAogICAgIHZv
aWQgZGV2aWNlU2NhbGVGYWN0b3JDaGFuZ2VkKCk7CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFj
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDExMzM5NSkKKysrIFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwkod29ya2luZyBj
b3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDEyLTA0LTA1ICBFbnJpY2EgQ2FzdWNjaSAgPGVucmlj
YUBhcHBsZS5jb20+CisKKyAgICAgICAgUHJvdmlkZSBPYmotQyBwcml2YXRlIEFQSSB0byBzaW1w
bGlmeSBtYXJrdXAuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD04MzMzNAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTEwMzM4NjE+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcu
bW06CisgICAgICAgICgtW1dlYlZpZXcgX3NpbXBsaWZ5TWFya3VwOmVuZE5vZGU6XSk6IEFkZGVk
LgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlld1ByaXZhdGUuaDoKKwogMjAxMi0wNC0wNSAgSmlh
IFB1ICA8anB1QGFwcGxlLmNvbT4KIAogICAgICAgICBNb3ZlIGNvcnJlY3Rpb24gcGFuZWwgcmVs
YXRlZCBmdW5jdGlvbnMgZnJvbSBFZGl0b3JDbGllbnQgaW50byBzZXBhcmF0ZWQgQWx0ZXJuYXRp
dmVUZXh0Q2xpZW50IGNsYXNzLgpJbmRleDogU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJW
aWV3Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5t
bQkocmV2aXNpb24gMTEzMzk1KQorKysgU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3
Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC01NjIyLDYgKzU2MjIsMTQgQEAgLSAoQk9PTClfc2VsZWN0
aW9uSXNBbGwKICAgICByZXR1cm4gY29yZUZyYW1lLT5zZWxlY3Rpb24oKS0+aXNBbGwoQ2FuQ3Jv
c3NFZGl0aW5nQm91bmRhcnkpOwogfQogCistICh2b2lkKV9zaW1wbGlmeU1hcmt1cDooRE9NTm9k
ZSAqKXN0YXJ0Tm9kZSBlbmROb2RlOihET01Ob2RlICopZW5kTm9kZQoreworICAgIEZyYW1lKiBj
b3JlRnJhbWUgPSBjb3JlKFtzZWxmIG1haW5GcmFtZV0pOworICAgIGlmICghY29yZUZyYW1lKQor
ICAgICAgICByZXR1cm47CisgICAgcmV0dXJuIGNvcmVGcmFtZS0+ZWRpdG9yKCktPnNpbXBsaWZ5
TWFya3VwKGNvcmUoc3RhcnROb2RlKSwgY29yZShlbmROb2RlKSk7ICAgIAorfQorCiBAZW5kCiAK
IHN0YXRpYyBXZWJGcmFtZVZpZXcgKmNvbnRhaW5pbmdGcmFtZVZpZXcoTlNWaWV3ICp2aWV3KQpJ
bmRleDogU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3UHJpdmF0ZS5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlld1ByaXZhdGUuaAkocmV2aXNp
b24gMTEzMzk1KQorKysgU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3UHJpdmF0ZS5o
CSh3b3JraW5nIGNvcHkpCkBAIC02OTcsNiArNjk3LDggQEAgQGludGVyZmFjZSBXZWJWaWV3IChX
ZWJWaWV3RWRpdGluZ0luTWFpbAogLSAodm9pZClfcmVwbGFjZVNlbGVjdGlvbldpdGhOb2RlOihE
T01Ob2RlICopbm9kZSBtYXRjaFN0eWxlOihCT09MKW1hdGNoU3R5bGU7CiAtIChCT09MKV9zZWxl
Y3Rpb25Jc0NhcmV0OwogLSAoQk9PTClfc2VsZWN0aW9uSXNBbGw7CistICh2b2lkKV9zaW1wbGlm
eU1hcmt1cDooRE9NTm9kZSAqKXN0YXJ0Tm9kZSBlbmROb2RlOihET01Ob2RlICopZW5kTm9kZTsK
KwogQGVuZAogCiBAaW50ZXJmYWNlIFdlYlZpZXcgKFdlYlZpZXdEZXZpY2VPcmllbnRhdGlvbikK
SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDExMzM5NSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE2IEBACisyMDEyLTA0LTA1ICBFbnJpY2EgQ2FzdWNjaSAgPGVucmljYUBhcHBsZS5jb20+
CisKKyAgICAgICAgUHJvdmlkZSBPYmotQyBwcml2YXRlIEFQSSB0byBzaW1wbGlmeSBtYXJrdXAu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MzMzNAor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTEwMzM4NjE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEku
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3Rz
L21hYy9TaW1wbGlmeU1hcmt1cC5tbTogQWRkZWQuCisgICAgICAgICgtW1NpbXBsaWZ5TWFya3Vw
VGVzdCB3ZWJWaWV3OmRpZEZpbmlzaExvYWRGb3JGcmFtZTpdKToKKyAgICAgICAgKiBUZXN0V2Vi
S2l0QVBJL1Rlc3RzL21hYy92ZXJib3NlTWFya3VwLmh0bWw6IEFkZGVkLgorCiAyMDEyLTA0LTA1
ICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUB3ZWJraXQub3JnPgogCiAgICAgICAgIFtRdF0g
Q29ycmVjdCA8d3RmLyouaD4gaW5jbHVkZSBwYXRocy4KSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCShyZXZpc2lvbiAxMTMzOTUpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRB
UEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTMyLDYgKzEz
Miw4IEBACiAJCUMwQzVEM0JFMTQ1OThCNkYwMEE4MDJBNiAvKiBHZXRCYWNraW5nU2NhbGVGYWN0
b3IubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMEM1
RDNCQzE0NTk4QjZGMDBBODAyQTYgLyogR2V0QmFja2luZ1NjYWxlRmFjdG9yLm1tICovOyB9Owog
CQlDMEM1RDNDNjE0NTk5MTI5MDBBODAyQTYgLyogR2V0QmFja2luZ1NjYWxlRmFjdG9yX0J1bmRs
ZS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMwQzVE
M0JEMTQ1OThCNkYwMEE4MDJBNiAvKiBHZXRCYWNraW5nU2NhbGVGYWN0b3JfQnVuZGxlLm1tICov
OyB9OwogCQlDNTA3RThBNzE0QzY1NDVCMDA1RDZCM0IgLyogSW5zcGVjdG9yQmFyLm1tIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzUwN0U4QTYxNEM2NTQ1
QjAwNUQ2QjNCIC8qIEluc3BlY3RvckJhci5tbSAqLzsgfTsKKwkJQzU0MEY3NzYxNTJFNERBMDAw
QTQwQzhDIC8qIFNpbXBsaWZ5TWFya3VwLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQzU0MEY3NzUxNTJFNERBMDAwQTQwQzhDIC8qIFNpbXBsaWZ5TWFy
a3VwLm1tICovOyB9OworCQlDNTQwRjc4NDE1MkU1QTlBMDBBNDBDOEMgLyogdmVyYm9zZU1hcmt1
cC5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEM1NDBGNzgzMTUyRTVBNzgwMEE0MEM4QyAvKiB2ZXJib3NlTWFya3VwLmh0bWwgKi87IH07
CiAJCUU0OTAyOTY4MTRFMkUzQTQwMDJCRUREMSAvKiBUeXBpbmdTdHlsZUNyYXNoLm1tIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQ5MDI5NjcxNEUyRTNB
NDAwMkJFREQxIC8qIFR5cGluZ1N0eWxlQ3Jhc2gubW0gKi87IH07CiAJCUYzRkMzRUUzMTM2NzhC
NzMwMDEyNkE2NSAvKiBsaWJndGVzdC5hIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRjNGQzNFRTIxMzY3OEI3MzAwMTI2QTY1IC8qIGxpYmd0ZXN0LmEg
Ki87IH07CiAJCUY2RjNGMjkxMTMzNDJGRUIwMEE2QkYxOSAvKiBDb29raWVNYW5hZ2VyLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY2RjNGMjkwMTMz
NDJGRUIwMEE2QkYxOSAvKiBDb29raWVNYW5hZ2VyLmNwcCAqLzsgfTsKQEAgLTE4Nyw2ICsxODks
NyBAQAogCQkJCUJDMkQwMDY0MTJBQTA0Q0UwMEU3MzJBMyAvKiBmaWxlLXdpdGgtYW5jaG9yLmh0
bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJMzdEQzY3OTExNDBEN0Q3NjAwQUJDQ0RCIC8q
IERPTVJhbmdlT2ZTdHJpbmcuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQkxQURCRUZF
MzEzMEM2QUExMDBENjFEMTkgLyogc2ltcGxlLWFjY2VsZXJhdGVkLWNvbXBvc2l0aW5nLmh0bWwg
aW4gQ29weSBSZXNvdXJjZXMgKi8sCisJCQkJQzU0MEY3ODQxNTJFNUE5QTAwQTQwQzhDIC8qIHZl
cmJvc2VNYXJrdXAuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCSk7CiAJCQluYW1lID0g
IkNvcHkgUmVzb3VyY2VzIjsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3Npbmcg
PSAwOwpAQCAtMzM0LDYgKzMzNyw4IEBACiAJCUMwQzVEM0JDMTQ1OThCNkYwMEE4MDJBNiAvKiBH
ZXRCYWNraW5nU2NhbGVGYWN0b3IubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7
IHBhdGggPSBHZXRCYWNraW5nU2NhbGVGYWN0b3IubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUMwQzVEM0JEMTQ1OThCNkYwMEE4MDJBNiAvKiBHZXRCYWNraW5nU2NhbGVGYWN0b3Jf
QnVuZGxlLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gR2V0QmFj
a2luZ1NjYWxlRmFjdG9yX0J1bmRsZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
QzUwN0U4QTYxNEM2NTQ1QjAwNUQ2QjNCIC8qIEluc3BlY3RvckJhci5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEluc3BlY3RvckJhci5tbTsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQzU0MEY3NzUxNTJFNERBMDAwQTQwQzhDIC8qIFNpbXBsaWZ5TWFy
a3VwLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gU2ltcGxpZnlN
YXJrdXAubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUM1NDBGNzgzMTUyRTVBNzgw
MEE0MEM4QyAvKiB2ZXJib3NlTWFya3VwLmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGgg
PSB2ZXJib3NlTWFya3VwLmh0bWw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0OTAy
OTY3MTRFMkUzQTQwMDJCRUREMSAvKiBUeXBpbmdTdHlsZUNyYXNoLm1tICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gVHlwaW5nU3R5bGVDcmFzaC5tbTsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjNGQzNFRTIxMzY3OEI3MzAwMTI2QTY1IC8qIGxpYmd0ZXN0
LmEgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBhcmNo
aXZlLmFyOyBwYXRoID0gbGliZ3Rlc3QuYTsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJ
UjsgfTsKIAkJRjZGM0YyOTAxMzM0MkZFQjAwQTZCRjE5IC8qIENvb2tpZU1hbmFnZXIuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ29va2llTWFuYWdlci5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC02MTUsNiArNjIwLDcgQEAKIAkJCQlDNTA3RThB
NjE0QzY1NDVCMDA1RDZCM0IgLyogSW5zcGVjdG9yQmFyLm1tICovLAogCQkJCTUxN0U3REZCMTUx
MTBFQTYwMEQwQjAwOCAvKiBNZW1vcnlDYWNoZVBydW5lV2l0aGluUmVzb3VyY2VMb2FkRGVsZWdh
dGUubW0gKi8sCiAJCQkJMzcyMkM4NjgxNDYxRTAzRTAwQzQ1RDAwIC8qIFJlbmRlcmVkSW1hZ2VG
cm9tRE9NUmFuZ2UubW0gKi8sCisJCQkJQzU0MEY3NzUxNTJFNERBMDAwQTQwQzhDIC8qIFNpbXBs
aWZ5TWFya3VwLm1tICovLAogCQkJCTM3OTlBRDM5MTQxMjBBNDMwMDVFQjBDNiAvKiBTdHJpbmdC
eUV2YWx1YXRpbmdKYXZhU2NyaXB0RnJvbVN0cmluZy5tbSAqLywKIAkJCQkzN0E2ODk1RDE0OEE5
QjUwMDA1MTAwRkEgLyogU3VicmVzb3VyY2VFcnJvckNyYXNoLm1tICovLAogCQkJCUU0OTAyOTY3
MTRFMkUzQTQwMDJCRUREMSAvKiBUeXBpbmdTdHlsZUNyYXNoLm1tICovLApAQCAtNjMzLDYgKzYz
OSw3IEBACiAJCQkJMzdEQzY3OEYxNDBEN0QzQTAwQUJDQ0RCIC8qIERPTVJhbmdlT2ZTdHJpbmcu
aHRtbCAqLywKIAkJCQlDMDdFNkNCMTEzRkQ3MzhBMDAzOEIyMkIgLyogZGV2aWNlUGl4ZWxSYXRp
by5odG1sICovLAogCQkJCTUxN0U3RTAzMTUxMTE4NzUwMEQwQjAwOCAvKiBNZW1vcnlDYWNoZVBy
dW5lV2l0aGluUmVzb3VyY2VMb2FkRGVsZWdhdGUuaHRtbCAqLywKKwkJCQlDNTQwRjc4MzE1MkU1
QTc4MDBBNDBDOEMgLyogdmVyYm9zZU1hcmt1cC5odG1sICovLAogCQkJKTsKIAkJCW5hbWUgPSBS
ZXNvdXJjZXM7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtODMxLDYgKzgzOCw3IEBA
CiAJCQkJNTE3RTdERkMxNTExMEVBNjAwRDBCMDA4IC8qIE1lbW9yeUNhY2hlUHJ1bmVXaXRoaW5S
ZXNvdXJjZUxvYWREZWxlZ2F0ZS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTUxRkJCQjREMTUxM0Q0
RTkwMDgyMjczOCAvKiBXZWJWaWV3Q2FuUGFzdGVVUkwubW0gaW4gU291cmNlcyAqLywKIAkJCQk1
MTQyQjI3MTE1MTdDODhCMDBDMzJCMTkgLyogQ29udGV4dE1lbnVDYW5Db3B5VVJMLm1tIGluIFNv
dXJjZXMgKi8sCisJCQkJQzU0MEY3NzYxNTJFNERBMDAwQTQwQzhDIC8qIFNpbXBsaWZ5TWFya3Vw
Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJv
Y2Vzc2luZyA9IDA7CiAJCX07CkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL21hYy9T
aW1wbGlmeU1hcmt1cC5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L21hYy9TaW1wbGlmeU1hcmt1cC5tbQkocmV2aXNpb24gMCkKKysrIFRvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvbWFjL1NpbXBsaWZ5TWFya3VwLm1tCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDc1
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlBsYXRmb3Jt
VXRpbGl0aWVzLmgiCisjaW5jbHVkZSAiUGxhdGZvcm1XZWJWaWV3LmgiCisjaW5jbHVkZSA8d3Rm
L1JldGFpblB0ci5oPgorCisjaW1wb3J0IDxXZWJLaXQvRE9NLmg+CisjaW1wb3J0IDxXZWJLaXQv
V2ViVmlld1ByaXZhdGUuaD4KKworQGludGVyZmFjZSBTaW1wbGlmeU1hcmt1cFRlc3QgOiBOU09i
amVjdCB7Cit9CitAZW5kCisKK3N0YXRpYyBib29sIGRpZEZpbmlzaExvYWQ7CisKK0BpbXBsZW1l
bnRhdGlvbiBTaW1wbGlmeU1hcmt1cFRlc3QKKworLSAodm9pZCl3ZWJWaWV3OihXZWJWaWV3ICop
c2VuZGVyIGRpZEZpbmlzaExvYWRGb3JGcmFtZTooV2ViRnJhbWUgKilmcmFtZQoreworICAgIGRp
ZEZpbmlzaExvYWQgPSB0cnVlOworfQorQGVuZAorCituYW1lc3BhY2UgVGVzdFdlYktpdEFQSSB7
CisKK1RFU1QoV2ViS2l0MSwgU2ltcGxpZnlNYXJrdXBUZXN0KQoreworICAgIFJldGFpblB0cjxX
ZWJWaWV3PiB3ZWJWaWV3KEFkb3B0TlMsIFtbV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpO
U01ha2VSZWN0KDAsIDAsIDEyMCwgMjAwKSBmcmFtZU5hbWU6bmlsIGdyb3VwTmFtZTpuaWxdKTsK
KyAgICBSZXRhaW5QdHI8U2ltcGxpZnlNYXJrdXBUZXN0PiB0ZXN0Q29udHJvbGxlcihBZG9wdE5T
LCBbU2ltcGxpZnlNYXJrdXBUZXN0IG5ld10pOworICAgIAorICAgIHdlYlZpZXcuZ2V0KCkuZnJh
bWVMb2FkRGVsZWdhdGUgPSB0ZXN0Q29udHJvbGxlci5nZXQoKTsKKyAgICBbW3dlYlZpZXcuZ2V0
KCkgbWFpbkZyYW1lXSBsb2FkUmVxdWVzdDpbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltb
TlNCdW5kbGUgbWFpbkJ1bmRsZV0gVVJMRm9yUmVzb3VyY2U6QCJ2ZXJib3NlTWFya3VwIiB3aXRo
RXh0ZW5zaW9uOkAiaHRtbCIgc3ViZGlyZWN0b3J5OkAiVGVzdFdlYktpdEFQSS5yZXNvdXJjZXMi
XV1dOworICAgIAorICAgIFV0aWw6OnJ1bigmZGlkRmluaXNoTG9hZCk7CisgICAgZGlkRmluaXNo
TG9hZCA9IGZhbHNlOworICAgIAorICAgIERPTURvY3VtZW50ICpkb2N1bWVudCA9IHdlYlZpZXcu
Z2V0KCkubWFpbkZyYW1lRG9jdW1lbnQ7CisgICAgTlNTdHJpbmcqIG1hcmt1cEJlZm9yZSA9IFtb
ZG9jdW1lbnQgYm9keV0gaW5uZXJIVE1MXTsKKworICAgIFt3ZWJWaWV3LmdldCgpIF9zaW1wbGlm
eU1hcmt1cDpbZG9jdW1lbnQgYm9keV0gZW5kTm9kZTogbmlsXTsKKyAgICBOU1N0cmluZyogbWFy
a3VwQWZ0ZXIgPSBbW2RvY3VtZW50IGJvZHldIGlubmVySFRNTF07CisgICAgCisgICAgLy8gV2Ug
b25seSB2ZXJpZnkgdGhhdCB0aGUgbWFya3VwIGhhcyBjaGFuZ2VkIGFuZCB0aGF0IGl0IGlzIGxl
c3MgdmVyYm9zZQorICAgIC8vIHRoZW4gdGhlIG9yaWdpbmFsIHZlcnNpb24uCisgICAgLy8gVGhl
IGFjY3VyYWN5IG9mIHRoZSBvcGVyYXRpb24gaXMgdGVzdGVkIGJ5IHRoZSBEUlQgdGVzdHMgYWxy
ZWFkeS4KKyAgICBFWFBFQ1RfTkUobWFya3VwQmVmb3JlLCBtYXJrdXBBZnRlcik7CisgICAgRVhQ
RUNUX0dUKFttYXJrdXBCZWZvcmUgbGVuZ3RoXSwgW21hcmt1cEFmdGVyIGxlbmd0aF0pOworCit9
CisKK30gLy8gbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvbWFjL3ZlcmJvc2VNYXJrdXAuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL21hYy92ZXJib3NlTWFya3VwLmh0bWwJKHJldmlzaW9uIDApCisrKyBU
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL21hYy92ZXJib3NlTWFya3VwLmh0bWwJKHJldmlzaW9u
IDApCkBAIC0wLDAgKzEsMTUgQEAKKzxodG1sPgorICAgIDxib2R5IGNvbnRlbnRlZGl0YWJsZT0i
dHJ1ZSI+CisgICAgICAgIDxkaXY+SGVsbG88L2Rpdj4KKyAgICAgICAgPGRpdj48Yj48aT5IZWxs
bzwvaT48L2I+PC9kaXY+CisgICAgICAgIDxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtd2Vp
Z2h0OiBub3JtYWwiPjxiPjxpPkhlbGxvPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4KKyAg
ICAgICAgPGRpdj48ZGl2PjxkaXY+SGVsbG88L2Rpdj48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGRp
dj48Yj48ZGl2PjxpPkhlbGxvPC9pPjwvZGl2PjwvYj48L2Rpdj4KKyAgICAgICAgPGRpdj48ZGl2
IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48Yj5IZWxsbzwvYj48L2Rpdj48L2Rpdj4KKyAg
ICAgICAgPGRpdj48Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbCI+PGI+PGk+
aGVsbG88L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9
ImZvbnQtd2VpZ2h0OiBub3JtYWwiPjxiPjxpPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48
L2Rpdj4KKyAgICAgICAgPGRpdj48Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1h
bDsiPjxiPjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+IGhlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48
L2I+PC9kaXY+CisgICAgICAgIDxkaXY+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPjxiPjxpIHN0
eWxlPSJtYXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPjwvZGl2PgorICAgICAgICA8ZGl2
PjxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsIj48Yj48aT5IZWxsbyA8IS0t
IGNvbW1lbnQgLS0+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PgorICAgICAgICA8
ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsIj5wbGFpbiB0ZXh0PGI+
PGk+Ym9sZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+CisgICAgIDwv
Ym9keT4KKzwvaHRtbD4K
</data>
<flag name="review"
          id="140588"
          type_id="1"
          status="-"
          setter="sam"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>136055</attachid>
            <date>2012-04-06 12:57:51 -0700</date>
            <delta_ts>2012-04-06 15:36:09 -0700</delta_ts>
            <desc>Patch2</desc>
            <filename>simplifymarkup.txt</filename>
            <type>text/plain</type>
            <size>17585</size>
            <attacher name="Enrica Casucci">enrica</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExMzQ1MikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDEyLTA0LTA1ICBFbnJpY2Eg
Q2FzdWNjaSAgPGVucmljYUBhcHBsZS5jb20+CisKKyAgICAgICAgUHJvdmlkZSBPYmotQyBwcml2
YXRlIEFQSSB0byBzaW1wbGlmeSBtYXJrdXAuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD04MzMzNAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTEwMzM4
NjE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRk
ZWQgdGVzdCBpbiBUZXN0V2ViS2l0QVBJCisKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAg
ICAgICAgKiBlZGl0aW5nL0VkaXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFZGl0b3I6OnNp
bXBsaWZ5TWFya3VwKTogRXhwb3NpbmcgdGhlIG5ldyBjb21tYW5kIHRocm91Z2ggdGhlIGVkaXRv
ci4KKyAgICAgICAgKiBlZGl0aW5nL0VkaXRvci5oOgorCiAyMDEyLTA0LTA1ICBNYXJ0aW4gUm9i
aW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KIAogICAgICAgICBbR09iamVjdCBiaW5kaW5n
c10gRml4IHRoZSBjb2Rpbmcgc3R5bGUgaXNzdWVzIGluIHRoZSBnZW5lcmF0ZWQgYmluZGluZ3MK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCShyZXZpc2lvbiAxMTM0NTIpCisrKyBTb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmV4cC5pbgkod29ya2luZyBjb3B5KQpAQCAtMzg2LDYgKzM4Niw3IEBAIF9f
Wk43V2ViQ29yZTE0U2VjdXJpdHlQb2xpY3kyMmdlbmVyYXRlUmUKIF9fWk43V2ViQ29yZTE0U2Vj
dXJpdHlQb2xpY3kyN3Jlc2V0T3JpZ2luQWNjZXNzV2hpdGVsaXN0c0V2CiBfX1pON1dlYkNvcmUx
NFNlY3VyaXR5UG9saWN5MjlhZGRPcmlnaW5BY2Nlc3NXaGl0ZWxpc3RFbnRyeUVSS05TXzE0U2Vj
dXJpdHlPcmlnaW5FUktOM1dURjZTdHJpbmdFUzdfYgogX19aTjdXZWJDb3JlMTRTZWN1cml0eVBv
bGljeTMycmVtb3ZlT3JpZ2luQWNjZXNzV2hpdGVsaXN0RW50cnlFUktOU18xNFNlY3VyaXR5T3Jp
Z2luRVJLTjNXVEY2U3RyaW5nRVM3X2IKK19fWk43V2ViQ29yZTZFZGl0b3IxNHNpbXBsaWZ5TWFy
a3VwRVBOU180Tm9kZUVTMl8KIF9fWk43V2ViQ29yZTE0U3RvcmFnZVRyYWNrZXIxMmRlbGV0ZU9y
aWdpbkVQTlNfMTRTZWN1cml0eU9yaWdpbkUKIF9fWk43V2ViQ29yZTE0U3RvcmFnZVRyYWNrZXIx
NmRlbGV0ZUFsbE9yaWdpbnNFdgogX19aTjdXZWJDb3JlMTRTdG9yYWdlVHJhY2tlcjE2c3luY0xv
Y2FsU3RvcmFnZUV2CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCShyZXZpc2lvbiAx
MTM0NTIpCisrKyBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTc0LDYgKzc0LDcgQEAKICNpbmNsdWRlICJSZW5kZXJlZFBvc2l0aW9uLmgiCiAjaW5j
bHVkZSAiUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgor
I2luY2x1ZGUgIlNpbXBsaWZ5TWFya3VwQ29tbWFuZC5oIgogI2luY2x1ZGUgIlNvdW5kLmgiCiAj
aW5jbHVkZSAiU3BlbGxDaGVja2VyLmgiCiAjaW5jbHVkZSAiU3BlbGxpbmdDb3JyZWN0aW9uQ29t
bWFuZC5oIgpAQCAtMTA0MSw2ICsxMDQyLDI0IEBAIHZvaWQgRWRpdG9yOjpwZXJmb3JtRGVsZXRl
KCkKICAgICBzZXRTdGFydE5ld0tpbGxSaW5nU2VxdWVuY2UoZmFsc2UpOwogfQogCit2b2lkIEVk
aXRvcjo6c2ltcGxpZnlNYXJrdXAoTm9kZSogc3RhcnROb2RlLCBOb2RlKiBlbmROb2RlKQorewor
ICAgIGlmICghc3RhcnROb2RlKQorICAgICAgICByZXR1cm47CisgICAgaWYgKGVuZE5vZGUpIHsK
KyAgICAgICAgaWYgKHN0YXJ0Tm9kZS0+ZG9jdW1lbnQoKSAhPSBlbmROb2RlLT5kb2N1bWVudCgp
KQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAvLyBjaGVjayBpZiBzdGFydCBub2RlIGlz
IGJlZm9yZSBlbmROb2RlCisgICAgICAgIE5vZGUqIG5vZGUgPSBzdGFydE5vZGU7CisgICAgICAg
IHdoaWxlIChub2RlICYmIG5vZGUgIT0gZW5kTm9kZSkKKyAgICAgICAgICAgIG5vZGUgPSBub2Rl
LT50cmF2ZXJzZU5leHROb2RlKCk7CisgICAgICAgIGlmICghbm9kZSkKKyAgICAgICAgICAgIHJl
dHVybjsKKyAgICB9CisgICAgCisgICAgYXBwbHlDb21tYW5kKFNpbXBsaWZ5TWFya3VwQ29tbWFu
ZDo6Y3JlYXRlKG1fZnJhbWUtPmRvY3VtZW50KCksIHN0YXJ0Tm9kZSwgKGVuZE5vZGUpID8gZW5k
Tm9kZS0+dHJhdmVyc2VOZXh0Tm9kZSgpOiAwKSk7Cit9CisKIHZvaWQgRWRpdG9yOjpjb3B5VVJM
KGNvbnN0IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiB0aXRsZSkKIHsKICAgICBQYXN0ZWJvYXJk
OjpnZW5lcmFsUGFzdGVib2FyZCgpLT53cml0ZVVSTCh1cmwsIHRpdGxlLCBtX2ZyYW1lKTsKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuaAkocmV2aXNpb24gMTEzNDUyKQorKysgU291cmNlL1dl
YkNvcmUvZWRpdGluZy9FZGl0b3IuaAkod29ya2luZyBjb3B5KQpAQCAtMzgxLDYgKzM4MSw4IEBA
IHB1YmxpYzoKICAgICBib29sIHNlbGVjdGlvblN0YXJ0SGFzTWFya2VyRm9yKERvY3VtZW50TWFy
a2VyOjpNYXJrZXJUeXBlLCBpbnQgZnJvbSwgaW50IGxlbmd0aCkgY29uc3Q7CiAgICAgdm9pZCB1
cGRhdGVNYXJrZXJzRm9yV29yZHNBZmZlY3RlZEJ5RWRpdGluZyhib29sIG9ubHlIYW5kbGVXb3Jk
c0NvbnRhaW5pbmdTZWxlY3Rpb24pOwogICAgIHZvaWQgZGVsZXRlZEF1dG9jb3JyZWN0aW9uQXRQ
b3NpdGlvbihjb25zdCBQb3NpdGlvbiYsIGNvbnN0IFN0cmluZyYgb3JpZ2luYWxTdHJpbmcpOwor
ICAgIAorICAgIHZvaWQgc2ltcGxpZnlNYXJrdXAoTm9kZSogc3RhcnROb2RlLCBOb2RlKiBlbmRO
b2RlKTsKIAogICAgIHZvaWQgZGV2aWNlU2NhbGVGYWN0b3JDaGFuZ2VkKCk7CiAKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cJKHJldmlzaW9uIDExMzQ1MikKKysrIFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDEyLTA0LTA1ICBFbnJpY2Eg
Q2FzdWNjaSAgPGVucmljYUBhcHBsZS5jb20+CisKKyAgICAgICAgUHJvdmlkZSBPYmotQyBwcml2
YXRlIEFQSSB0byBzaW1wbGlmeSBtYXJrdXAuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD04MzMzNAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTEwMzM4
NjE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBX
ZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAgICgtW1dlYlZpZXcgX3NpbXBsaWZ5TWFya3VwOmVu
ZE5vZGU6XSk6IEFkZGVkLgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlld1ByaXZhdGUuaDoKKwog
MjAxMi0wNC0wNSAgSmlhIFB1ICA8anB1QGFwcGxlLmNvbT4KIAogICAgICAgICBNb3ZlIGNvcnJl
Y3Rpb24gcGFuZWwgcmVsYXRlZCBmdW5jdGlvbnMgZnJvbSBFZGl0b3JDbGllbnQgaW50byBzZXBh
cmF0ZWQgQWx0ZXJuYXRpdmVUZXh0Q2xpZW50IGNsYXNzLgpJbmRleDogU291cmNlL1dlYktpdC9t
YWMvV2ViVmlldy9XZWJWaWV3Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL1dl
YlZpZXcvV2ViVmlldy5tbQkocmV2aXNpb24gMTEzNDUyKQorKysgU291cmNlL1dlYktpdC9tYWMv
V2ViVmlldy9XZWJWaWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC01NjIyLDYgKzU2MjIsMTcgQEAg
LSAoQk9PTClfc2VsZWN0aW9uSXNBbGwKICAgICByZXR1cm4gY29yZUZyYW1lLT5zZWxlY3Rpb24o
KS0+aXNBbGwoQ2FuQ3Jvc3NFZGl0aW5nQm91bmRhcnkpOwogfQogCistICh2b2lkKV9zaW1wbGlm
eU1hcmt1cDooRE9NTm9kZSAqKXN0YXJ0Tm9kZSBlbmROb2RlOihET01Ob2RlICopZW5kTm9kZQor
eworICAgIEZyYW1lKiBjb3JlRnJhbWUgPSBjb3JlKFtzZWxmIG1haW5GcmFtZV0pOworICAgIGlm
ICghY29yZUZyYW1lIHx8ICFzdGFydE5vZGUpCisgICAgICAgIHJldHVybjsKKyAgICBOb2RlKiBj
b3JlU3RhcnROb2RlPSBjb3JlKHN0YXJ0Tm9kZSk7CisgICAgaWYgKGNvcmVTdGFydE5vZGUtPmRv
Y3VtZW50KCkgIT0gY29yZUZyYW1lLT5kb2N1bWVudCgpKQorICAgICAgICByZXR1cm47CisgICAg
cmV0dXJuIGNvcmVGcmFtZS0+ZWRpdG9yKCktPnNpbXBsaWZ5TWFya3VwKGNvcmVTdGFydE5vZGUs
IGNvcmUoZW5kTm9kZSkpOyAgICAKK30KKwogQGVuZAogCiBzdGF0aWMgV2ViRnJhbWVWaWV3ICpj
b250YWluaW5nRnJhbWVWaWV3KE5TVmlldyAqdmlldykKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFj
L1dlYlZpZXcvV2ViVmlld1ByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21h
Yy9XZWJWaWV3L1dlYlZpZXdQcml2YXRlLmgJKHJldmlzaW9uIDExMzQ1MikKKysrIFNvdXJjZS9X
ZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlld1ByaXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtNjk3
LDYgKzY5Nyw4IEBAIEBpbnRlcmZhY2UgV2ViVmlldyAoV2ViVmlld0VkaXRpbmdJbk1haWwKIC0g
KHZvaWQpX3JlcGxhY2VTZWxlY3Rpb25XaXRoTm9kZTooRE9NTm9kZSAqKW5vZGUgbWF0Y2hTdHls
ZTooQk9PTCltYXRjaFN0eWxlOwogLSAoQk9PTClfc2VsZWN0aW9uSXNDYXJldDsKIC0gKEJPT0wp
X3NlbGVjdGlvbklzQWxsOworLSAodm9pZClfc2ltcGxpZnlNYXJrdXA6KERPTU5vZGUgKilzdGFy
dE5vZGUgZW5kTm9kZTooRE9NTm9kZSAqKWVuZE5vZGU7CisKIEBlbmQKIAogQGludGVyZmFjZSBX
ZWJWaWV3IChXZWJWaWV3RGV2aWNlT3JpZW50YXRpb24pCkluZGV4OiBUb29scy9DaGFuZ2VMb2cK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxMTM0NTIpCisrKyBUb29s
cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNiBAQAorMjAxMi0wNC0wNSAg
RW5yaWNhIENhc3VjY2kgIDxlbnJpY2FAYXBwbGUuY29tPgorCisgICAgICAgIFByb3ZpZGUgT2Jq
LUMgcHJpdmF0ZSBBUEkgdG8gc2ltcGxpZnkgbWFya3VwLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODMzMzQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzExMDMzODYxPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9tYWMvU2ltcGxpZnlNYXJrdXAubW06
IEFkZGVkLgorICAgICAgICAoLVtTaW1wbGlmeU1hcmt1cFRlc3Qgd2ViVmlldzpkaWRGaW5pc2hM
b2FkRm9yRnJhbWU6XSk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9tYWMvdmVyYm9z
ZU1hcmt1cC5odG1sOiBBZGRlZC4KKwogMjAxMi0wNC0wNSAgRGlyayBQcmFua2UgIDxkcHJhbmtl
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBucnd0IGlzIGZhaWxpbmcgdG8gdXBsb2FkIHRlc3Qg
cmVzdWx0cyBvbiB0aGUgY2hyb21pdW0tbWFjLWxlb3BhcmQgYm90cwpJbmRleDogVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oJKHJldmlzaW9uIDExMzQ1MikKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0x
MzIsNiArMTMyLDggQEAKIAkJQzBDNUQzQkUxNDU5OEI2RjAwQTgwMkE2IC8qIEdldEJhY2tpbmdT
Y2FsZUZhY3Rvci5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEMwQzVEM0JDMTQ1OThCNkYwMEE4MDJBNiAvKiBHZXRCYWNraW5nU2NhbGVGYWN0b3IubW0g
Ki87IH07CiAJCUMwQzVEM0M2MTQ1OTkxMjkwMEE4MDJBNiAvKiBHZXRCYWNraW5nU2NhbGVGYWN0
b3JfQnVuZGxlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQzBDNUQzQkQxNDU5OEI2RjAwQTgwMkE2IC8qIEdldEJhY2tpbmdTY2FsZUZhY3Rvcl9CdW5k
bGUubW0gKi87IH07CiAJCUM1MDdFOEE3MTRDNjU0NUIwMDVENkIzQiAvKiBJbnNwZWN0b3JCYXIu
bW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNTA3RThB
NjE0QzY1NDVCMDA1RDZCM0IgLyogSW5zcGVjdG9yQmFyLm1tICovOyB9OworCQlDNTQwRjc3NjE1
MkU0REEwMDBBNDBDOEMgLyogU2ltcGxpZnlNYXJrdXAubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNTQwRjc3NTE1MkU0REEwMDBBNDBDOEMgLyogU2lt
cGxpZnlNYXJrdXAubW0gKi87IH07CisJCUM1NDBGNzg0MTUyRTVBOUEwMEE0MEM4QyAvKiB2ZXJi
b3NlTWFya3VwLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQzU0MEY3ODMxNTJFNUE3ODAwQTQwQzhDIC8qIHZlcmJvc2VNYXJrdXAuaHRt
bCAqLzsgfTsKIAkJRTQ5MDI5NjgxNEUyRTNBNDAwMkJFREQxIC8qIFR5cGluZ1N0eWxlQ3Jhc2gu
bW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNDkwMjk2
NzE0RTJFM0E0MDAyQkVERDEgLyogVHlwaW5nU3R5bGVDcmFzaC5tbSAqLzsgfTsKIAkJRjNGQzNF
RTMxMzY3OEI3MzAwMTI2QTY1IC8qIGxpYmd0ZXN0LmEgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGM0ZDM0VFMjEzNjc4QjczMDAxMjZBNjUgLyogbGli
Z3Rlc3QuYSAqLzsgfTsKIAkJRjZGM0YyOTExMzM0MkZFQjAwQTZCRjE5IC8qIENvb2tpZU1hbmFn
ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjZG
M0YyOTAxMzM0MkZFQjAwQTZCRjE5IC8qIENvb2tpZU1hbmFnZXIuY3BwICovOyB9OwpAQCAtMTg3
LDYgKzE4OSw3IEBACiAJCQkJQkMyRDAwNjQxMkFBMDRDRTAwRTczMkEzIC8qIGZpbGUtd2l0aC1h
bmNob3IuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQkzN0RDNjc5MTE0MEQ3RDc2MDBB
QkNDREIgLyogRE9NUmFuZ2VPZlN0cmluZy5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJ
CTFBREJFRkUzMTMwQzZBQTEwMEQ2MUQxOSAvKiBzaW1wbGUtYWNjZWxlcmF0ZWQtY29tcG9zaXRp
bmcuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKKwkJCQlDNTQwRjc4NDE1MkU1QTlBMDBBNDBD
OEMgLyogdmVyYm9zZU1hcmt1cC5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJKTsKIAkJ
CW5hbWUgPSAiQ29weSBSZXNvdXJjZXMiOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJv
Y2Vzc2luZyA9IDA7CkBAIC0zMzQsNiArMzM3LDggQEAKIAkJQzBDNUQzQkMxNDU5OEI2RjAwQTgw
MkE2IC8qIEdldEJhY2tpbmdTY2FsZUZhY3Rvci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgcGF0aCA9IEdldEJhY2tpbmdTY2FsZUZhY3Rvci5tbTsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQzBDNUQzQkQxNDU5OEI2RjAwQTgwMkE2IC8qIEdldEJhY2tpbmdTY2Fs
ZUZhY3Rvcl9CdW5kbGUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBHZXRCYWNraW5nU2NhbGVGYWN0b3JfQnVuZGxlLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlDNTA3RThBNjE0QzY1NDVCMDA1RDZCM0IgLyogSW5zcGVjdG9yQmFyLm1tICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gSW5zcGVjdG9yQmFyLm1tOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDNTQwRjc3NTE1MkU0REEwMDBBNDBDOEMgLyogU2lt
cGxpZnlNYXJrdXAubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBT
aW1wbGlmeU1hcmt1cC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzU0MEY3ODMx
NTJFNUE3ODAwQTQwQzhDIC8qIHZlcmJvc2VNYXJrdXAuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRt
bDsgcGF0aCA9IHZlcmJvc2VNYXJrdXAuaHRtbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJRTQ5MDI5NjcxNEUyRTNBNDAwMkJFREQxIC8qIFR5cGluZ1N0eWxlQ3Jhc2gubW0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBUeXBpbmdTdHlsZUNyYXNoLm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGM0ZDM0VFMjEzNjc4QjczMDAxMjZBNjUgLyog
bGliZ3Rlc3QuYSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IGFyY2hpdmUuYXI7IHBhdGggPSBsaWJndGVzdC5hOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJP
RFVDVFNfRElSOyB9OwogCQlGNkYzRjI5MDEzMzQyRkVCMDBBNkJGMTkgLyogQ29va2llTWFuYWdl
ci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDb29raWVNYW5hZ2Vy
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTYxNSw2ICs2MjAsNyBAQAogCQkJ
CUM1MDdFOEE2MTRDNjU0NUIwMDVENkIzQiAvKiBJbnNwZWN0b3JCYXIubW0gKi8sCiAJCQkJNTE3
RTdERkIxNTExMEVBNjAwRDBCMDA4IC8qIE1lbW9yeUNhY2hlUHJ1bmVXaXRoaW5SZXNvdXJjZUxv
YWREZWxlZ2F0ZS5tbSAqLywKIAkJCQkzNzIyQzg2ODE0NjFFMDNFMDBDNDVEMDAgLyogUmVuZGVy
ZWRJbWFnZUZyb21ET01SYW5nZS5tbSAqLywKKwkJCQlDNTQwRjc3NTE1MkU0REEwMDBBNDBDOEMg
LyogU2ltcGxpZnlNYXJrdXAubW0gKi8sCiAJCQkJMzc5OUFEMzkxNDEyMEE0MzAwNUVCMEM2IC8q
IFN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHRGcm9tU3RyaW5nLm1tICovLAogCQkJCTM3QTY4
OTVEMTQ4QTlCNTAwMDUxMDBGQSAvKiBTdWJyZXNvdXJjZUVycm9yQ3Jhc2gubW0gKi8sCiAJCQkJ
RTQ5MDI5NjcxNEUyRTNBNDAwMkJFREQxIC8qIFR5cGluZ1N0eWxlQ3Jhc2gubW0gKi8sCkBAIC02
MzMsNiArNjM5LDcgQEAKIAkJCQkzN0RDNjc4RjE0MEQ3RDNBMDBBQkNDREIgLyogRE9NUmFuZ2VP
ZlN0cmluZy5odG1sICovLAogCQkJCUMwN0U2Q0IxMTNGRDczOEEwMDM4QjIyQiAvKiBkZXZpY2VQ
aXhlbFJhdGlvLmh0bWwgKi8sCiAJCQkJNTE3RTdFMDMxNTExMTg3NTAwRDBCMDA4IC8qIE1lbW9y
eUNhY2hlUHJ1bmVXaXRoaW5SZXNvdXJjZUxvYWREZWxlZ2F0ZS5odG1sICovLAorCQkJCUM1NDBG
NzgzMTUyRTVBNzgwMEE0MEM4QyAvKiB2ZXJib3NlTWFya3VwLmh0bWwgKi8sCiAJCQkpOwogCQkJ
bmFtZSA9IFJlc291cmNlczsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC04MzEsNiAr
ODM4LDcgQEAKIAkJCQk1MTdFN0RGQzE1MTEwRUE2MDBEMEIwMDggLyogTWVtb3J5Q2FjaGVQcnVu
ZVdpdGhpblJlc291cmNlTG9hZERlbGVnYXRlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTFGQkJC
NEQxNTEzRDRFOTAwODIyNzM4IC8qIFdlYlZpZXdDYW5QYXN0ZVVSTC5tbSBpbiBTb3VyY2VzICov
LAogCQkJCTUxNDJCMjcxMTUxN0M4OEIwMEMzMkIxOSAvKiBDb250ZXh0TWVudUNhbkNvcHlVUkwu
bW0gaW4gU291cmNlcyAqLywKKwkJCQlDNTQwRjc3NjE1MkU0REEwMDBBNDBDOEMgLyogU2ltcGxp
ZnlNYXJrdXAubW0gaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVu
dFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvbWFjL1NpbXBsaWZ5TWFya3VwLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvbWFjL1NpbXBsaWZ5TWFya3VwLm1tCShyZXZpc2lvbiAwKQorKysgVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9tYWMvU2ltcGxpZnlNYXJrdXAubW0JKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsMTEzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUg
IlBsYXRmb3JtVXRpbGl0aWVzLmgiCisjaW5jbHVkZSAiUGxhdGZvcm1XZWJWaWV3LmgiCisjaW5j
bHVkZSA8d3RmL1JldGFpblB0ci5oPgorCisjaW1wb3J0IDxXZWJLaXQvRE9NLmg+CisjaW1wb3J0
IDxXZWJLaXQvV2ViVmlld1ByaXZhdGUuaD4KKworQGludGVyZmFjZSBTaW1wbGlmeU1hcmt1cFRl
c3QgOiBOU09iamVjdCB7Cit9CitAZW5kCisKK3N0YXRpYyBib29sIGRpZEZpbmlzaExvYWQ7CisK
K0BpbXBsZW1lbnRhdGlvbiBTaW1wbGlmeU1hcmt1cFRlc3QKKworLSAodm9pZCl3ZWJWaWV3OihX
ZWJWaWV3ICopc2VuZGVyIGRpZEZpbmlzaExvYWRGb3JGcmFtZTooV2ViRnJhbWUgKilmcmFtZQor
eworICAgIGRpZEZpbmlzaExvYWQgPSB0cnVlOworfQorQGVuZAorCituYW1lc3BhY2UgVGVzdFdl
YktpdEFQSSB7CisKK1RFU1QoV2ViS2l0MSwgU2ltcGxpZnlNYXJrdXBUZXN0KQoreworICAgIFJl
dGFpblB0cjxXZWJWaWV3PiB3ZWJWaWV3MShBZG9wdE5TLCBbW1dlYlZpZXcgYWxsb2NdIGluaXRX
aXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCAxMjAsIDIwMCkgZnJhbWVOYW1lOm5pbCBncm91cE5h
bWU6bmlsXSk7CisgICAgUmV0YWluUHRyPFdlYlZpZXc+IHdlYlZpZXcyKEFkb3B0TlMsIFtbV2Vi
VmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDEyMCwgMjAwKSBmcmFt
ZU5hbWU6bmlsIGdyb3VwTmFtZTpuaWxdKTsKKyAgICBSZXRhaW5QdHI8U2ltcGxpZnlNYXJrdXBU
ZXN0PiB0ZXN0Q29udHJvbGxlcihBZG9wdE5TLCBbU2ltcGxpZnlNYXJrdXBUZXN0IG5ld10pOwor
ICAgIAorICAgIHdlYlZpZXcxLmdldCgpLmZyYW1lTG9hZERlbGVnYXRlID0gdGVzdENvbnRyb2xs
ZXIuZ2V0KCk7CisgICAgW1t3ZWJWaWV3MS5nZXQoKSBtYWluRnJhbWVdIGxvYWRSZXF1ZXN0OltO
U1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6W1tOU0J1bmRsZSBtYWluQnVuZGxlXSBVUkxGb3JS
ZXNvdXJjZTpAInZlcmJvc2VNYXJrdXAiIHdpdGhFeHRlbnNpb246QCJodG1sIiBzdWJkaXJlY3Rv
cnk6QCJUZXN0V2ViS2l0QVBJLnJlc291cmNlcyJdXV07CisgICAgCisgICAgVXRpbDo6cnVuKCZk
aWRGaW5pc2hMb2FkKTsKKyAgICBkaWRGaW5pc2hMb2FkID0gZmFsc2U7CisgCisgICAgd2ViVmll
dzIuZ2V0KCkuZnJhbWVMb2FkRGVsZWdhdGUgPSB0ZXN0Q29udHJvbGxlci5nZXQoKTsKKyAgICBb
W3dlYlZpZXcyLmdldCgpIG1haW5GcmFtZV0gbG9hZFJlcXVlc3Q6W05TVVJMUmVxdWVzdCByZXF1
ZXN0V2l0aFVSTDpbW05TQnVuZGxlIG1haW5CdW5kbGVdIFVSTEZvclJlc291cmNlOkAidmVyYm9z
ZU1hcmt1cCIgd2l0aEV4dGVuc2lvbjpAImh0bWwiIHN1YmRpcmVjdG9yeTpAIlRlc3RXZWJLaXRB
UEkucmVzb3VyY2VzIl1dXTsKKyAgICAKKyAgICBVdGlsOjpydW4oJmRpZEZpbmlzaExvYWQpOwor
ICAgIGRpZEZpbmlzaExvYWQgPSBmYWxzZTsKKworICAgIERPTURvY3VtZW50ICpkb2N1bWVudDEg
PSB3ZWJWaWV3MS5nZXQoKS5tYWluRnJhbWVEb2N1bWVudDsKKyAgICBOU1N0cmluZyogbWFya3Vw
QmVmb3JlID0gW1tkb2N1bWVudDEgYm9keV0gaW5uZXJIVE1MXTsKKyAgICBET01Eb2N1bWVudCAq
ZG9jdW1lbnQyID0gd2ViVmlldzIuZ2V0KCkubWFpbkZyYW1lRG9jdW1lbnQ7CisgICAgCisgICAg
Ly8gSWYgc3RhcnQgaXMgYWZ0ZXIgZW5kLCBub3RoaW5nIGlzIGRvbmUKKyAgICBET01Ob2RlICpz
dGFydCA9IFtkb2N1bWVudDEgZ2V0RWxlbWVudEJ5SWQ6QCJ0ZXN0MiJdOworICAgIERPTU5vZGUg
KmVuZCA9IFtkb2N1bWVudDEgZ2V0RWxlbWVudEJ5SWQ6QCJ0ZXN0MSJdOworCisgICAgW3dlYlZp
ZXcxLmdldCgpIF9zaW1wbGlmeU1hcmt1cDpbZG9jdW1lbnQxIGJvZHldIGVuZE5vZGU6ZW5kXTsK
KyAgICBOU1N0cmluZyogbWFya3VwQWZ0ZXIgPSBbW2RvY3VtZW50MSBib2R5XSBpbm5lckhUTUxd
OworCisgICAgRVhQRUNUX1dLX1NUUkVRKG1hcmt1cEJlZm9yZSwgbWFya3VwQWZ0ZXIpOworICAg
IEVYUEVDVF9FUShbbWFya3VwQmVmb3JlIGxlbmd0aF0sIFttYXJrdXBBZnRlciBsZW5ndGhdKTsK
KworICAgIC8vIElmIHRoZSB0d28gbm9kZXMgYXJlIG5vdCBpbiB0aGUgc2FtZSB3ZWJWaWV3LCBu
b3RoaW5nIGlzIGRvbmUuCisgICAgc3RhcnQgPSBbZG9jdW1lbnQxIGdldEVsZW1lbnRCeUlkOkAi
dGVzdDEiXTsKKyAgICBlbmQgPSBbZG9jdW1lbnQyIGdldEVsZW1lbnRCeUlkOkAidGVzdDIiXTsK
KyAgICBbd2ViVmlldzEuZ2V0KCkgX3NpbXBsaWZ5TWFya3VwOnN0YXJ0IGVuZE5vZGU6ZW5kXTsK
KyAgICBtYXJrdXBBZnRlciA9IFtbZG9jdW1lbnQxIGJvZHldIGlubmVySFRNTF07CisgICAgCisg
ICAgRVhQRUNUX1dLX1NUUkVRKG1hcmt1cEJlZm9yZSwgbWFya3VwQWZ0ZXIpOworICAgIEVYUEVD
VF9FUShbbWFya3VwQmVmb3JlIGxlbmd0aF0sIFttYXJrdXBBZnRlciBsZW5ndGhdKTsKKworICAg
IC8vIElmIHRoZSB0d28gbm9kZXMgYXJlIG5vdCBpbiB0aGUgc2FtZSBkb2N1bWVudCwgbm90aGlu
ZyBpcyBkb25lLgorICAgIERPTUhUTUxGcmFtZUVsZW1lbnQqIGZyYW1lID0gKERPTUhUTUxGcmFt
ZUVsZW1lbnQgKilbZG9jdW1lbnQxIGdldEVsZW1lbnRCeUlkOkAidGVzdDMiXTsKKyAgICBlbmQg
PSBbW2ZyYW1lIGNvbnRlbnREb2N1bWVudF0gZmlyc3RDaGlsZF07CisgICAgCisgICAgW3dlYlZp
ZXcxLmdldCgpIF9zaW1wbGlmeU1hcmt1cDpzdGFydCBlbmROb2RlOmVuZF07CisgICAgbWFya3Vw
QWZ0ZXIgPSBbW2RvY3VtZW50MSBib2R5XSBpbm5lckhUTUxdOworICAgIAorICAgIEVYUEVDVF9X
S19TVFJFUShtYXJrdXBCZWZvcmUsIG1hcmt1cEFmdGVyKTsKKyAgICBFWFBFQ1RfRVEoW21hcmt1
cEJlZm9yZSBsZW5ndGhdLCBbbWFya3VwQWZ0ZXIgbGVuZ3RoXSk7CisKKyAgICAvLyBJZiB0aGUg
bm9kZXMgYXJlIGluIHRoZSBzYW1lIHdlYlZpZXcsIHNhbWUgZG9jdW1lbnQgYW5kIGluIHRoZSBy
aWdodCBvcmRlciwKKyAgICAvLyB3ZSBzaG91bGQgaGF2ZSBhIHNpbXBsaWZpZWQgbWFya3VwLgor
ICAgIFt3ZWJWaWV3MS5nZXQoKSBfc2ltcGxpZnlNYXJrdXA6W2RvY3VtZW50MSBib2R5XSBlbmRO
b2RlOm5pbF07CisgICAgbWFya3VwQWZ0ZXIgPSBbW2RvY3VtZW50MSBib2R5XSBpbm5lckhUTUxd
OworICAgIC8vIFdlIG9ubHkgdmVyaWZ5IHRoYXQgdGhlIG1hcmt1cCBoYXMgY2hhbmdlZCBhbmQg
dGhhdCBpdCBpcyBsZXNzIHZlcmJvc2UKKyAgICAvLyB0aGVuIHRoZSBvcmlnaW5hbCB2ZXJzaW9u
LgorICAgIC8vIFRoZSBhY2N1cmFjeSBvZiB0aGUgb3BlcmF0aW9uIGlzIHRlc3RlZCBieSB0aGUg
RFJUIHRlc3RzIGFscmVhZHkuCisgICAgRVhQRUNUX0dUKFttYXJrdXBCZWZvcmUgbGVuZ3RoXSwg
W21hcmt1cEFmdGVyIGxlbmd0aF0pOworCisKK30KKworfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktp
dEFQSQpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9tYWMvdmVyYm9zZU1hcmt1cC5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvbWFjL3ZlcmJvc2VN
YXJrdXAuaHRtbAkocmV2aXNpb24gMCkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvbWFj
L3ZlcmJvc2VNYXJrdXAuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxOSBAQAorPGh0bWw+
CisgICAgPGJvZHkgY29udGVudGVkaXRhYmxlPSJ0cnVlIj4KKyAgICAgICAgPGRpdj5IZWxsbzwv
ZGl2PgorICAgICAgICA8ZGl2IGlkPSJ0ZXN0MSI+PGI+PGk+SGVsbG88L2k+PC9iPjwvZGl2Pgor
ICAgICAgICA8ZGl2PjxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsIj48Yj48
aT5IZWxsbzwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+CisgICAgICAgIDxkaXY+PGRpdj48
ZGl2PkhlbGxvPC9kaXY+PC9kaXY+PC9kaXY+CisgICAgICAgIDxkaXY+PGI+PGRpdj48aT5IZWxs
bzwvaT48L2Rpdj48L2I+PC9kaXY+CisgICAgICAgIDxkaXY+PGRpdiBzdHlsZT0idGV4dC1hbGln
bjogY2VudGVyOyI+PGI+SGVsbG88L2I+PC9kaXY+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9InRl
c3QyIj48Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbCI+PGI+PGk+aGVsbG88
L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PjxkaXY+PGI+PGk+PHNwYW4gc3R5bGU9ImZvbnQt
d2VpZ2h0OiBub3JtYWwiPjxiPjxpPndvcmxkPC9pPjwvYj48L3NwYW4+PC9pPjwvYj48L2Rpdj4K
KyAgICAgICAgPGRpdj48Yj48aT48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IG5vcm1hbDsiPjxi
PjxpPmhlbGxvMTwvaT48L2I+PGI+PGk+IGhlbGxvMjwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9k
aXY+CisgICAgICAgIDxkaXY+PGkgc3R5bGU9Im1hcmdpbjogMTBweDsiPjxiPjxpIHN0eWxlPSJt
YXJnaW46IDEwcHg7Ij5oZWxsbzwvaT48L2I+PC9pPjwvZGl2PgorICAgICAgICA8ZGl2PjxiPjxp
PjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsIj48Yj48aT5IZWxsbyA8IS0tIGNvbW1l
bnQgLS0+d29ybGQ8L2k+PC9iPjwvc3Bhbj48L2k+PC9iPjwvZGl2PgorICAgICAgICA8ZGl2Pjxi
PjxpPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogbm9ybWFsIj5wbGFpbiB0ZXh0PGI+PGk+Ym9s
ZCBpdGFsaWMgdGV4dDwvaT48L2I+PC9zcGFuPjwvaT48L2I+PC9kaXY+CisgICAgICAgIDxpZnJh
bWUgaWQ9InRlc3QzIiBzcmM9ImRhdGE6dGV4dC9odG1sLAorICAgICAgICAgICAgPGRpdj5UaGlz
IGlzIGFub3RoZXIgZG9jdW1lbnQuPC9kaXY+CisgICAgICAgICAgICAiPgorICAgICAgICA8L2lm
cmFtZT4KKyAgICAgPC9ib2R5PgorPC9odG1sPgo=
</data>
<flag name="review"
          id="140731"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>