<?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>93933</bug_id>
          
          <creation_ts>2012-08-13 22:44:14 -0700</creation_ts>
          <short_desc>Web Inspector: Completion events of InspectorFileSystemAgent should be fired asynchronously.</short_desc>
          <delta_ts>2012-08-21 15:29:10 -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>Web Inspector (Deprecated)</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>
          <dependson>93930</dependson>
          <blocked>68203</blocked>
    
    <blocked>91831</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Taiju Tsuiki">tzik</reporter>
          <assigned_to name="Taiju Tsuiki">tzik</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>694527</commentid>
    <comment_count>0</comment_count>
    <who name="Taiju Tsuiki">tzik</who>
    <bug_when>2012-08-13 22:44:14 -0700</bug_when>
    <thetext>Some completion events of InspectorFileSystemAgent commands are fired too early on error case.
We should wait the command passes its request ID to JS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>694544</commentid>
    <comment_count>1</comment_count>
      <attachid>158228</attachid>
    <who name="Taiju Tsuiki">tzik</who>
    <bug_when>2012-08-13 23:18:32 -0700</bug_when>
    <thetext>Created attachment 158228
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>696890</commentid>
    <comment_count>2</comment_count>
    <who name="Taiju Tsuiki">tzik</who>
    <bug_when>2012-08-16 01:25:53 -0700</bug_when>
    <thetext>Let me add explanation for this patch.
In short, we shouldn&apos;t call Frontend::directoryContentReceived in Agent::requestDirectoryContent.

For example, the process flow of requestDirectoryContent is as follows:
1. front-end calls Agent::requestDirectoryContent,
2. Agent kicks DirectoryContentRequest task,
3. Agent returns requestId to front-end through requestAccepted,
4. front-end associates requestId with callback,
5. Agent fires directoryContentReceived event with requestId.
6. front-end fires the callback according to requestId.

That is, requestId is not associated with callback at 2.,
so if we fire directoryContentReceived in 2. before Agent::requestDirectoryContent returns,
front-end can&apos;t find which callback should be called.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>696895</commentid>
    <comment_count>3</comment_count>
    <who name="Taiju Tsuiki">tzik</who>
    <bug_when>2012-08-16 01:29:16 -0700</bug_when>
    <thetext>To be more concrete, if front-end calls requestDirectoryContent with invalid URL, directoryContentReceived will be fired before requestAccepted.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>697987</commentid>
    <comment_count>4</comment_count>
      <attachid>159029</attachid>
    <who name="Taiju Tsuiki">tzik</who>
    <bug_when>2012-08-17 00:46:41 -0700</bug_when>
    <thetext>Created attachment 159029
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>701184</commentid>
    <comment_count>5</comment_count>
      <attachid>159029</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-21 15:29:05 -0700</bug_when>
    <thetext>Comment on attachment 159029
Patch

Clearing flags on attachment: 159029

Committed r126195: &lt;http://trac.webkit.org/changeset/126195&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>701185</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-21 15:29:10 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>158228</attachid>
            <date>2012-08-13 23:18:32 -0700</date>
            <delta_ts>2012-08-17 00:46:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-93933-20120814151759.patch</filename>
            <type>text/plain</type>
            <size>16475</size>
            <attacher name="Taiju Tsuiki">tzik</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI1NDg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDViOTgwZjNkY2E4MWMz
ODA2YmUzMjdlOGU3YWQ3MWJkNTcxYjU1Ni4uNzg0NTlhYTE0NjUxNGNmZGY3NTFiYjhlODk2ODJh
OTVlNjQ1NDE5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE5IEBACiAyMDEyLTA4LTEzICBUYWlq
dSBUc3Vpa2kgIDx0emlrQGNocm9taXVtLm9yZz4KIAorICAgICAgICBXZWIgSW5zcGVjdG9yOiBD
b21wbGV0aW9uIGV2ZW50cyBvZiBJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQgc2hvdWxkIGJlIGZp
cmVkIGFzeW5jaHJvbm91c2x5LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9OTM5MzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBUZXN0OiBodHRwL3Rlc3RzL2luc3BlY3Rvci9maWxlc3lzdGVtL3JlcXVlc3Qt
ZGlyZWN0b3J5LWNvbnRlbnQuaHRtbAorICAgICAgICAgICAgICBodHRwL3Rlc3RzL2luc3BlY3Rv
ci9maWxlc3lzdGVtL3JlcXVlc3QtZmlsZS1jb250ZW50Lmh0bWwKKyAgICAgICAgICAgICAgaHR0
cC90ZXN0cy9pbnNwZWN0b3IvZmlsZXN5c3RlbS9yZXF1ZXN0LW1ldGFkYXRhLmh0bWwKKworICAg
ICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZSk6IEFkZCBSZXBvcnRFcnJvclRhc2sgY2xhc3MKKworMjAxMi0wOC0xMyAgVGFpanUg
VHN1aWtpICA8dHppa0BjaHJvbWl1bS5vcmc+CisKICAgICAgICAgV2ViIEluc3BlY3RvcjogVXNl
IGRlZmF1bHQgcGFyYW1ldGVyIG9uIHJlcG9ydFJlc3VsdCBpbiBJbnNwZWN0b3JGaWxlU3lzdGVt
QWdlbnQKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkz
OTMwCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGaWxl
U3lzdGVtQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZpbGVT
eXN0ZW1BZ2VudC5jcHAKaW5kZXggZDYwYjAyYzQ0MDI1NDRkZGNlYTRhOWJhMDYwNDY1YmFhYjli
MmZhYi4uZmY5MTJhNzBiYzNmMGU3NzkxZWUxZDc1MjA5MjFlNDQ5ZWQ3ZGI0NyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5j
cHAKQEAgLTE0MSwxMCArMTQxLDMxIEBAIHB1YmxpYzoKICAgICB9CiB9OwogCitjbGFzcyBSZXBv
cnRFcnJvclRhc2sgOiBwdWJsaWMgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6VGFzayB7CitwdWJs
aWM6CisgICAgc3RhdGljIFBhc3NPd25QdHI8UmVwb3J0RXJyb3JUYXNrPiBjcmVhdGUoUGFzc1Jl
ZlB0cjxFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrLCBGaWxlRXJyb3I6OkVycm9yQ29kZSBl
cnJvckNvZGUpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRQdHIobmV3IFJlcG9ydEVycm9y
VGFzayhlcnJvckNhbGxiYWNrLCBlcnJvckNvZGUpKTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIHZv
aWQgcGVyZm9ybVRhc2soU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopIE9WRVJSSURFCisgICAgewor
ICAgICAgICBtX2Vycm9yQ2FsbGJhY2stPmhhbmRsZUV2ZW50KEZpbGVFcnJvcjo6Y3JlYXRlKG1f
ZXJyb3JDb2RlKS5nZXQoKSk7CisgICAgfQorCitwcml2YXRlOgorICAgIFJlcG9ydEVycm9yVGFz
ayhQYXNzUmVmUHRyPEVycm9yQ2FsbGJhY2s+IGVycm9yQ2FsbGJhY2ssIEZpbGVFcnJvcjo6RXJy
b3JDb2RlIGVycm9yQ29kZSkKKyAgICAgICAgOiBtX2Vycm9yQ2FsbGJhY2soZXJyb3JDYWxsYmFj
aykKKyAgICAgICAgLCBtX2Vycm9yQ29kZShlcnJvckNvZGUpIHsgfQorCisgICAgUmVmUHRyPEVy
cm9yQ2FsbGJhY2s+IG1fZXJyb3JDYWxsYmFjazsKKyAgICBGaWxlRXJyb3I6OkVycm9yQ29kZSBt
X2Vycm9yQ29kZTsKK307CisKIGNsYXNzIEZpbGVTeXN0ZW1Sb290UmVxdWVzdCA6IHB1YmxpYyBS
ZWZDb3VudGVkPEZpbGVTeXN0ZW1Sb290UmVxdWVzdD4gewogICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEZpbGVTeXN0ZW1Sb290UmVxdWVzdCk7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQ
dHI8RmlsZVN5c3RlbVJvb3RSZXF1ZXN0PiBjcmVhdGUoUGFzc1JlZlB0cjxGcm9udGVuZFByb3Zp
ZGVyPiBmcm9udGVuZFByb3ZpZGVyLCBpbnQgcmVxdWVzdElkLCBGaWxlU3lzdGVtVHlwZSB0eXBl
KQorICAgIHN0YXRpYyBQYXNzUmVmUHRyPEZpbGVTeXN0ZW1Sb290UmVxdWVzdD4gY3JlYXRlKFBh
c3NSZWZQdHI8RnJvbnRlbmRQcm92aWRlcj4gZnJvbnRlbmRQcm92aWRlciwgaW50IHJlcXVlc3RJ
ZCwgY29uc3QgU3RyaW5nJiB0eXBlKQogICAgIHsKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5l
dyBGaWxlU3lzdGVtUm9vdFJlcXVlc3QoZnJvbnRlbmRQcm92aWRlciwgcmVxdWVzdElkLCB0eXBl
KSk7CiAgICAgfQpAQCAtMTYzLDE0ICsxODQsMTQgQEAgcHJpdmF0ZToKICAgICAgICAgbV9mcm9u
dGVuZFByb3ZpZGVyID0gMDsKICAgICB9CiAKLSAgICBGaWxlU3lzdGVtUm9vdFJlcXVlc3QoUGFz
c1JlZlB0cjxGcm9udGVuZFByb3ZpZGVyPiBmcm9udGVuZFByb3ZpZGVyLCBpbnQgcmVxdWVzdElk
LCBGaWxlU3lzdGVtVHlwZSB0eXBlKQorICAgIEZpbGVTeXN0ZW1Sb290UmVxdWVzdChQYXNzUmVm
UHRyPEZyb250ZW5kUHJvdmlkZXI+IGZyb250ZW5kUHJvdmlkZXIsIGludCByZXF1ZXN0SWQsIGNv
bnN0IFN0cmluZyYgdHlwZSkKICAgICAgICAgOiBtX2Zyb250ZW5kUHJvdmlkZXIoZnJvbnRlbmRQ
cm92aWRlcikKICAgICAgICAgLCBtX3JlcXVlc3RJZChyZXF1ZXN0SWQpCiAgICAgICAgICwgbV90
eXBlKHR5cGUpIHsgfQogCiAgICAgUmVmUHRyPEZyb250ZW5kUHJvdmlkZXI+IG1fZnJvbnRlbmRQ
cm92aWRlcjsKICAgICBpbnQgbV9yZXF1ZXN0SWQ7Ci0gICAgRmlsZVN5c3RlbVR5cGUgbV90eXBl
OworICAgIFN0cmluZyBtX3R5cGU7CiB9OwogCiBib29sIEZpbGVTeXN0ZW1Sb290UmVxdWVzdDo6
ZGlkSGl0RXJyb3IoRmlsZUVycm9yKiBlcnJvcikKQEAgLTE4MSwxMSArMjAyLDIzIEBAIGJvb2wg
RmlsZVN5c3RlbVJvb3RSZXF1ZXN0OjpkaWRIaXRFcnJvcihGaWxlRXJyb3IqIGVycm9yKQogCiB2
b2lkIEZpbGVTeXN0ZW1Sb290UmVxdWVzdDo6c3RhcnQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCog
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCkKIHsKLSAgICBSZWZQdHI8RW50cnlDYWxsYmFjaz4gc3Vj
Y2Vzc0NhbGxiYWNrID0gQ2FsbGJhY2tEaXNwYXRjaGVyRmFjdG9yeTxFbnRyeUNhbGxiYWNrPjo6
Y3JlYXRlKHRoaXMsICZGaWxlU3lzdGVtUm9vdFJlcXVlc3Q6OmRpZEdldEVudHJ5KTsKKyAgICBB
U1NFUlQoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCk7CisKICAgICBSZWZQdHI8RXJyb3JDYWxsYmFj
az4gZXJyb3JDYWxsYmFjayA9IENhbGxiYWNrRGlzcGF0Y2hlckZhY3Rvcnk8RXJyb3JDYWxsYmFj
az46OmNyZWF0ZSh0aGlzLCAmRmlsZVN5c3RlbVJvb3RSZXF1ZXN0OjpkaWRIaXRFcnJvcik7Ci0g
ICAgT3duUHRyPFJlc29sdmVVUklDYWxsYmFja3M+IGZpbGVTeXN0ZW1DYWxsYmFja3MgPSBSZXNv
bHZlVVJJQ2FsbGJhY2tzOjpjcmVhdGUoc3VjY2Vzc0NhbGxiYWNrLCBlcnJvckNhbGxiYWNrLCBz
Y3JpcHRFeGVjdXRpb25Db250ZXh0LCBtX3R5cGUsICIvIik7CisgICAgRmlsZVN5c3RlbVR5cGUg
dHlwZTsKKyAgICBpZiAobV90eXBlID09IERPTUZpbGVTeXN0ZW1CYXNlOjpwZXJzaXN0ZW50UGF0
aFByZWZpeCkKKyAgICAgICAgdHlwZSA9IEZpbGVTeXN0ZW1UeXBlUGVyc2lzdGVudDsKKyAgICBl
bHNlIGlmIChtX3R5cGUgPT0gRE9NRmlsZVN5c3RlbUJhc2U6OnRlbXBvcmFyeVBhdGhQcmVmaXgp
CisgICAgICAgIHR5cGUgPSBGaWxlU3lzdGVtVHlwZVRlbXBvcmFyeTsKKyAgICBlbHNlIHsKKyAg
ICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+cG9zdFRhc2soUmVwb3J0RXJyb3JUYXNrOjpj
cmVhdGUoZXJyb3JDYWxsYmFjaywgRmlsZUVycm9yOjpTWU5UQVhfRVJSKSk7CisgICAgICAgIHJl
dHVybjsKKyAgICB9CisKKyAgICBSZWZQdHI8RW50cnlDYWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNr
ID0gQ2FsbGJhY2tEaXNwYXRjaGVyRmFjdG9yeTxFbnRyeUNhbGxiYWNrPjo6Y3JlYXRlKHRoaXMs
ICZGaWxlU3lzdGVtUm9vdFJlcXVlc3Q6OmRpZEdldEVudHJ5KTsKKyAgICBPd25QdHI8UmVzb2x2
ZVVSSUNhbGxiYWNrcz4gZmlsZVN5c3RlbUNhbGxiYWNrcyA9IFJlc29sdmVVUklDYWxsYmFja3M6
OmNyZWF0ZShzdWNjZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2ssIHNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQsIHR5cGUsICIvIik7CiAKLSAgICBMb2NhbEZpbGVTeXN0ZW06OmxvY2FsRmlsZVN5c3Rl
bSgpLnJlYWRGaWxlU3lzdGVtKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIG1fdHlwZSwgZmlsZVN5
c3RlbUNhbGxiYWNrcy5yZWxlYXNlKCkpOworICAgIExvY2FsRmlsZVN5c3RlbTo6bG9jYWxGaWxl
U3lzdGVtKCkucmVhZEZpbGVTeXN0ZW0oc2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgdHlwZSwgZmls
ZVN5c3RlbUNhbGxiYWNrcy5yZWxlYXNlKCkpOwogfQogCiBib29sIEZpbGVTeXN0ZW1Sb290UmVx
dWVzdDo6ZGlkR2V0RW50cnkoRW50cnkqIGVudHJ5KQpAQCAtMjQ5LDE1ICsyODIsMTUgQEAgdm9p
ZCBEaXJlY3RvcnlDb250ZW50UmVxdWVzdDo6c3RhcnQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCog
c2NyaXB0RXhlY3V0aW9uQ29udGUKIHsKICAgICBBU1NFUlQoc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCk7CiAKKyAgICBSZWZQdHI8RXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjayA9IENhbGxiYWNr
RGlzcGF0Y2hlckZhY3Rvcnk8RXJyb3JDYWxsYmFjaz46OmNyZWF0ZSh0aGlzLCAmRGlyZWN0b3J5
Q29udGVudFJlcXVlc3Q6OmRpZEhpdEVycm9yKTsKICAgICBGaWxlU3lzdGVtVHlwZSB0eXBlOwog
ICAgIFN0cmluZyBwYXRoOwogICAgIGlmICghRE9NRmlsZVN5c3RlbUJhc2U6OmNyYWNrRmlsZVN5
c3RlbVVSTChtX3VybCwgdHlwZSwgcGF0aCkpIHsKLSAgICAgICAgcmVwb3J0UmVzdWx0KEZpbGVF
cnJvcjo6U1lOVEFYX0VSUik7CisgICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPnBvc3RU
YXNrKFJlcG9ydEVycm9yVGFzazo6Y3JlYXRlKGVycm9yQ2FsbGJhY2ssIEZpbGVFcnJvcjo6U1lO
VEFYX0VSUikpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgUmVmUHRyPEVudHJ5Q2Fs
bGJhY2s+IHN1Y2Nlc3NDYWxsYmFjayA9IENhbGxiYWNrRGlzcGF0Y2hlckZhY3Rvcnk8RW50cnlD
YWxsYmFjaz46OmNyZWF0ZSh0aGlzLCAmRGlyZWN0b3J5Q29udGVudFJlcXVlc3Q6OmRpZEdldEVu
dHJ5KTsKLSAgICBSZWZQdHI8RXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjayA9IENhbGxiYWNr
RGlzcGF0Y2hlckZhY3Rvcnk8RXJyb3JDYWxsYmFjaz46OmNyZWF0ZSh0aGlzLCAmRGlyZWN0b3J5
Q29udGVudFJlcXVlc3Q6OmRpZEhpdEVycm9yKTsKICAgICBPd25QdHI8UmVzb2x2ZVVSSUNhbGxi
YWNrcz4gZmlsZVN5c3RlbUNhbGxiYWNrcyA9IFJlc29sdmVVUklDYWxsYmFja3M6OmNyZWF0ZShz
dWNjZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2ssIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIHR5
cGUsIHBhdGgpOwogCiAgICAgTG9jYWxGaWxlU3lzdGVtOjpsb2NhbEZpbGVTeXN0ZW0oKS5yZWFk
RmlsZVN5c3RlbShzY3JpcHRFeGVjdXRpb25Db250ZXh0LCB0eXBlLCBmaWxlU3lzdGVtQ2FsbGJh
Y2tzLnJlbGVhc2UoKSk7CkBAIC0zNzcsMTIgKzQxMCwxNyBAQCBwcml2YXRlOgogCiB2b2lkIE1l
dGFkYXRhUmVxdWVzdDo6c3RhcnQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0
aW9uQ29udGV4dCkKIHsKLSAgICBGaWxlU3lzdGVtVHlwZSB0eXBlOwotICAgIERPTUZpbGVTeXN0
ZW1CYXNlOjpjcmFja0ZpbGVTeXN0ZW1VUkwobV91cmwsIHR5cGUsIG1fcGF0aCk7CisgICAgQVNT
RVJUKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpOwogCi0gICAgUmVmUHRyPEVudHJ5Q2FsbGJhY2s+
IHN1Y2Nlc3NDYWxsYmFjayA9IENhbGxiYWNrRGlzcGF0Y2hlckZhY3Rvcnk8RW50cnlDYWxsYmFj
az46OmNyZWF0ZSh0aGlzLCAmTWV0YWRhdGFSZXF1ZXN0OjpkaWRHZXRFbnRyeSk7CiAgICAgUmVm
UHRyPEVycm9yQ2FsbGJhY2s+IGVycm9yQ2FsbGJhY2sgPSBDYWxsYmFja0Rpc3BhdGNoZXJGYWN0
b3J5PEVycm9yQ2FsbGJhY2s+OjpjcmVhdGUodGhpcywgJk1ldGFkYXRhUmVxdWVzdDo6ZGlkSGl0
RXJyb3IpOwogCisgICAgRmlsZVN5c3RlbVR5cGUgdHlwZTsKKyAgICBpZiAoIURPTUZpbGVTeXN0
ZW1CYXNlOjpjcmFja0ZpbGVTeXN0ZW1VUkwobV91cmwsIHR5cGUsIG1fcGF0aCkpIHsKKyAgICAg
ICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+cG9zdFRhc2soUmVwb3J0RXJyb3JUYXNrOjpjcmVh
dGUoZXJyb3JDYWxsYmFjaywgRmlsZUVycm9yOjpTWU5UQVhfRVJSKSk7CisgICAgICAgIHJldHVy
bjsKKyAgICB9CisKKyAgICBSZWZQdHI8RW50cnlDYWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrID0g
Q2FsbGJhY2tEaXNwYXRjaGVyRmFjdG9yeTxFbnRyeUNhbGxiYWNrPjo6Y3JlYXRlKHRoaXMsICZN
ZXRhZGF0YVJlcXVlc3Q6OmRpZEdldEVudHJ5KTsKICAgICBPd25QdHI8UmVzb2x2ZVVSSUNhbGxi
YWNrcz4gZmlsZVN5c3RlbUNhbGxiYWNrcyA9IFJlc29sdmVVUklDYWxsYmFja3M6OmNyZWF0ZShz
dWNjZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2ssIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIHR5
cGUsIG1fcGF0aCk7CiAgICAgTG9jYWxGaWxlU3lzdGVtOjpsb2NhbEZpbGVTeXN0ZW0oKS5yZWFk
RmlsZVN5c3RlbShzY3JpcHRFeGVjdXRpb25Db250ZXh0LCB0eXBlLCBmaWxlU3lzdGVtQ2FsbGJh
Y2tzLnJlbGVhc2UoKSk7CiB9CkBAIC00ODQsMTUgKzUyMiwxNiBAQCB2b2lkIEZpbGVDb250ZW50
UmVxdWVzdDo6c3RhcnQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCkKIHsKICAgICBBU1NFUlQoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCk7CiAKKyAgICBSZWZQ
dHI8RXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjayA9IENhbGxiYWNrRGlzcGF0Y2hlckZhY3Rv
cnk8RXJyb3JDYWxsYmFjaz46OmNyZWF0ZSh0aGlzLCAmRmlsZUNvbnRlbnRSZXF1ZXN0OjpkaWRI
aXRFcnJvcik7CisKICAgICBGaWxlU3lzdGVtVHlwZSB0eXBlOwogICAgIFN0cmluZyBwYXRoOwog
ICAgIGlmICghRE9NRmlsZVN5c3RlbUJhc2U6OmNyYWNrRmlsZVN5c3RlbVVSTChtX3VybCwgdHlw
ZSwgcGF0aCkpIHsKLSAgICAgICAgcmVwb3J0UmVzdWx0KEZpbGVFcnJvcjo6U1lOVEFYX0VSUik7
CisgICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPnBvc3RUYXNrKFJlcG9ydEVycm9yVGFz
azo6Y3JlYXRlKGVycm9yQ2FsbGJhY2ssIEZpbGVFcnJvcjo6U1lOVEFYX0VSUikpOwogICAgICAg
ICByZXR1cm47CiAgICAgfQogCiAgICAgUmVmUHRyPEVudHJ5Q2FsbGJhY2s+IHN1Y2Nlc3NDYWxs
YmFjayA9IENhbGxiYWNrRGlzcGF0Y2hlckZhY3Rvcnk8RW50cnlDYWxsYmFjaz46OmNyZWF0ZSh0
aGlzLCAmRmlsZUNvbnRlbnRSZXF1ZXN0OjpkaWRHZXRFbnRyeSk7Ci0gICAgUmVmUHRyPEVycm9y
Q2FsbGJhY2s+IGVycm9yQ2FsbGJhY2sgPSBDYWxsYmFja0Rpc3BhdGNoZXJGYWN0b3J5PEVycm9y
Q2FsbGJhY2s+OjpjcmVhdGUodGhpcywgJkZpbGVDb250ZW50UmVxdWVzdDo6ZGlkSGl0RXJyb3Ip
OwogICAgIE93blB0cjxSZXNvbHZlVVJJQ2FsbGJhY2tzPiBmaWxlU3lzdGVtQ2FsbGJhY2tzID0g
UmVzb2x2ZVVSSUNhbGxiYWNrczo6Y3JlYXRlKHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFj
aywgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgdHlwZSwgcGF0aCk7CiAKICAgICBMb2NhbEZpbGVT
eXN0ZW06OmxvY2FsRmlsZVN5c3RlbSgpLnJlYWRGaWxlU3lzdGVtKHNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQsIHR5cGUsIGZpbGVTeXN0ZW1DYWxsYmFja3MucmVsZWFzZSgpKTsKQEAgLTU3OSw3ICs2
MTgsNyBAQCB2b2lkIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudDo6ZGlzYWJsZShFcnJvclN0cmlu
ZyopCiAgICAgbV9zdGF0ZS0+c2V0Qm9vbGVhbihGaWxlU3lzdGVtQWdlbnRTdGF0ZTo6ZmlsZVN5
c3RlbUFnZW50RW5hYmxlZCwgbV9lbmFibGVkKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JGaWxlU3lz
dGVtQWdlbnQ6OnJlcXVlc3RGaWxlU3lzdGVtUm9vdChFcnJvclN0cmluZyogZXJyb3IsIGNvbnN0
IFN0cmluZyYgb3JpZ2luLCBjb25zdCBTdHJpbmcmIHR5cGVTdHJpbmcsIGludCogcmVxdWVzdElk
KQordm9pZCBJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQ6OnJlcXVlc3RGaWxlU3lzdGVtUm9vdChF
cnJvclN0cmluZyogZXJyb3IsIGNvbnN0IFN0cmluZyYgb3JpZ2luLCBjb25zdCBTdHJpbmcmIHR5
cGUsIGludCogcmVxdWVzdElkKQogewogICAgIGlmICghbV9lbmFibGVkIHx8ICFtX2Zyb250ZW5k
UHJvdmlkZXIpIHsKICAgICAgICAgKmVycm9yID0gIkZpbGVTeXN0ZW0gYWdlbnQgaXMgbm90IGVu
YWJsZWQiOwpAQCAtNTkxLDE2ICs2MzAsNiBAQCB2b2lkIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2Vu
dDo6cmVxdWVzdEZpbGVTeXN0ZW1Sb290KEVycm9yU3RyaW5nKiBlcnJvciwgY29uc3QgUwogICAg
IGlmICghc2NyaXB0RXhlY3V0aW9uQ29udGV4dCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgRmls
ZVN5c3RlbVR5cGUgdHlwZTsKLSAgICBpZiAodHlwZVN0cmluZyA9PSBET01GaWxlU3lzdGVtQmFz
ZTo6cGVyc2lzdGVudFBhdGhQcmVmaXgpCi0gICAgICAgIHR5cGUgPSBGaWxlU3lzdGVtVHlwZVBl
cnNpc3RlbnQ7Ci0gICAgZWxzZSBpZiAodHlwZVN0cmluZyA9PSBET01GaWxlU3lzdGVtQmFzZTo6
dGVtcG9yYXJ5UGF0aFByZWZpeCkKLSAgICAgICAgdHlwZSA9IEZpbGVTeXN0ZW1UeXBlVGVtcG9y
YXJ5OwotICAgIGVsc2UgewotICAgICAgICAqZXJyb3IgPSAiSW52YWxpZCBGaWxlU3lzdGVtIHR5
cGUiOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCiAgICAgKnJlcXVlc3RJZCA9IG1fbmV4dFJl
cXVlc3RJZCsrOwogICAgIEZpbGVTeXN0ZW1Sb290UmVxdWVzdDo6Y3JlYXRlKG1fZnJvbnRlbmRQ
cm92aWRlciwgKnJlcXVlc3RJZCwgdHlwZSktPnN0YXJ0KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQp
OwogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCmluZGV4IDJkOGE4MWIyOWE5NmNlYTVjMzVlYzgwYjA4MmU3MDkwZTg1MmNmM2IuLjBk
MmI5NTI5ZTE2NTQxYzAyYmIxZjI3MGUzN2RmOWEyNWEzNTgwNmIgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NCBAQAorMjAxMi0wOC0xMyAgVGFpanUgVHN1aWtpICA8dHppa0BjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgV2ViIEluc3BlY3RvcjogQ29tcGxldGlvbiBldmVudHMgb2YgSW5zcGVjdG9yRmlsZVN5
c3RlbUFnZW50IHNob3VsZCBiZSBmaXJlZCBhc3luY2hyb25vdXNseS4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkzOTMzCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL2luc3BlY3Rvci9m
aWxlc3lzdGVtL3JlcXVlc3QtZGlyZWN0b3J5LWNvbnRlbnQuaHRtbDogQWRkIG1vcmUgZXJyb3Ig
Y2FzZQorICAgICAgICAqIGh0dHAvdGVzdHMvaW5zcGVjdG9yL2ZpbGVzeXN0ZW0vcmVxdWVzdC1m
aWxlLWNvbnRlbnQuaHRtbDogQWRkIG1vcmUgZXJyb3IgY2FzZQorICAgICAgICAqIGh0dHAvdGVz
dHMvaW5zcGVjdG9yL2ZpbGVzeXN0ZW0vcmVxdWVzdC1tZXRhZGF0YS5odG1sOiBBZGQgbW9yZSBl
cnJvciBjYXNlCisKIDIwMTItMDgtMTMgIEVsbGlvdHQgU3ByZWhuICA8ZXNwcmVobkBjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgRXhwYW5kIGxpc3Qgb2Ygc3VwcG9ydGVkIGxhbmd1YWdlcyBmb3Ig
UmVuZGVyUXVvdGUgdG8gbWF0Y2ggV0hBVFdHIHNwZWMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvaW5zcGVjdG9yL2ZpbGVzeXN0ZW0vcmVxdWVzdC1kaXJlY3RvcnktY29udGVu
dC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9maWxlc3lz
dGVtL3JlcXVlc3QtZGlyZWN0b3J5LWNvbnRlbnQtZXhwZWN0ZWQudHh0CmluZGV4IGVhNTJiMzMz
YWUwMDBlZDZjNTAxZmEyNDQxMzllZTE5MDRhY2VmMmYuLjJiZWZhNzY4ZTQ5Y2UxZWE0MmJkMjA3
MTQ0ZDZlMDU4MmI3Y2IyYmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5z
cGVjdG9yL2ZpbGVzeXN0ZW0vcmVxdWVzdC1kaXJlY3RvcnktY29udGVudC1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvZmlsZXN5c3RlbS9yZXF1ZXN0
LWRpcmVjdG9yeS1jb250ZW50LWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDExIEBACiBUZXN0cyBy
ZXF1ZXN0RGlyZWN0b3J5Q29udGVudCBjb21tYW5kLgogCitlcnJvckNvZGU6IDIKK2VudHJpZXM6
IChudWxsKQorCitlcnJvckNvZGU6IDgKK2VudHJpZXM6IChudWxsKQorCiBlcnJvckNvZGU6IDAK
IGVudHJpZXM6CiAgIDA6CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3Bl
Y3Rvci9maWxlc3lzdGVtL3JlcXVlc3QtZGlyZWN0b3J5LWNvbnRlbnQuaHRtbCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2ZpbGVzeXN0ZW0vcmVxdWVzdC1kaXJlY3RvcnktY29u
dGVudC5odG1sCmluZGV4IDQ0OGUyZWM0YTMxMzVlN2I5ODhiNTMxZDU3NDU1NDNmOGVmMjA1NzYu
LjEwZmRhYTI1ZWYxYjA1YWZmNThkMzk4ZDQwZDhmYzNmM2U3NWY5ZGEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2ZpbGVzeXN0ZW0vcmVxdWVzdC1kaXJlY3Rv
cnktY29udGVudC5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2Zp
bGVzeXN0ZW0vcmVxdWVzdC1kaXJlY3RvcnktY29udGVudC5odG1sCkBAIC0yOCw2ICsyOCwxOCBA
QCBmdW5jdGlvbiB0ZXN0KCkKIAogICAgICAgICBmdW5jdGlvbigpCiAgICAgICAgIHsKKyAgICAg
ICAgICAgIGZpbGVTeXN0ZW1SZXF1ZXN0TWFuYWdlci5yZXF1ZXN0RGlyZWN0b3J5Q29udGVudCgi
SW52YWxpZFVSTCIsIHRlc3RTdGVwLnNoaWZ0KCkpOworICAgICAgICB9LAorCisgICAgICAgIGZ1
bmN0aW9uKGVycm9yQ29kZSwgZW50cmllcykKKyAgICAgICAgeworICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5kdW1wRGlyZWN0b3J5Q29udGVudFJlcXVlc3RSZXN1bHQoZXJyb3JDb2RlLCBlbnRy
aWVzKTsKKyAgICAgICAgICAgIGZpbGVTeXN0ZW1SZXF1ZXN0TWFuYWdlci5yZXF1ZXN0RGlyZWN0
b3J5Q29udGVudCgiZmlsZXN5c3RlbTpodHRwOi8vMTI3LjAuMC4xOjgwMDAvSW52YWxpZFR5cGUv
IiwgdGVzdFN0ZXAuc2hpZnQoKSk7CisgICAgICAgIH0sCisKKyAgICAgICAgZnVuY3Rpb24oZXJy
b3JDb2RlLCBlbnRyaWVzKQorICAgICAgICB7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmR1
bXBEaXJlY3RvcnlDb250ZW50UmVxdWVzdFJlc3VsdChlcnJvckNvZGUsIGVudHJpZXMpOwogICAg
ICAgICAgICAgZmlsZVN5c3RlbVJlcXVlc3RNYW5hZ2VyLnJlcXVlc3REaXJlY3RvcnlDb250ZW50
KCJmaWxlc3lzdGVtOmh0dHA6Ly8xMjcuMC4wLjE6ODAwMC90ZW1wb3JhcnkvaG9nZSIsIHRlc3RT
dGVwLnNoaWZ0KCkpOwogICAgICAgICB9LAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2luc3BlY3Rvci9maWxlc3lzdGVtL3JlcXVlc3QtZmlsZS1jb250ZW50LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2ZpbGVzeXN0ZW0vcmVxdWVz
dC1maWxlLWNvbnRlbnQtZXhwZWN0ZWQudHh0CmluZGV4IDA1NzAyNmIyNDg2M2U4MGVlZmM4MTBj
ZTVlNTI0MWM2NmFiZjEzN2IuLjY3ZmNjYjdlNzIxZjMyZGE3ZjM4Njc3ZmYxM2EyMWJkMmY4Mjk3
YmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2ZpbGVzeXN0
ZW0vcmVxdWVzdC1maWxlLWNvbnRlbnQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvaW5zcGVjdG9yL2ZpbGVzeXN0ZW0vcmVxdWVzdC1maWxlLWNvbnRlbnQtZXhwZWN0
ZWQudHh0CkBAIC0xLDUgKzEsMTMgQEAKIFRlc3RzIHJlcXVlc3RGaWxlQ29udGVudCBjb21tYW5k
LgogCitlcnJvckNvZGU6IDIKK2NvbnRlbnQ6IChudWxsKQorY2hhcnNldDogdW5kZWZpbmVkCisK
K2Vycm9yQ29kZTogOAorY29udGVudDogKG51bGwpCitjaGFyc2V0OiB1bmRlZmluZWQKKwogZXJy
b3JDb2RlOiAwCiBjb250ZW50OiAiUEFTUyIKIGNoYXJzZXQ6IFVURi04CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9maWxlc3lzdGVtL3JlcXVlc3QtZmlsZS1j
b250ZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9maWxlc3lzdGVt
L3JlcXVlc3QtZmlsZS1jb250ZW50Lmh0bWwKaW5kZXggOTZlN2NlYTJjZGM2MDI0M2NlMDgzZWYz
ZmU0MjE2ZTA4YjkyY2Q3NC4uYTMxMmFkNWRkODhmMDdhYzAzYTg5ZmQ0NjkzMjE4MWE5ODgxNmRi
ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvZmlsZXN5c3Rl
bS9yZXF1ZXN0LWZpbGUtY29udGVudC5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
aW5zcGVjdG9yL2ZpbGVzeXN0ZW0vcmVxdWVzdC1maWxlLWNvbnRlbnQuaHRtbApAQCAtMTAsNyAr
MTAsNiBAQCBmdW5jdGlvbiB0ZXN0KCkKIHsKICAgICB2YXIgZmlsZVN5c3RlbVJlcXVlc3RNYW5h
Z2VyID0gbmV3IFdlYkluc3BlY3Rvci5GaWxlU3lzdGVtUmVxdWVzdE1hbmFnZXIoKTsKIAotc2V0
VGltZW91dChmdW5jdGlvbigpIHtJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpO30sIDEwMDAp
OwogICAgIHZhciB0ZXN0U3RlcCA9IFsKICAgICAgICAgZnVuY3Rpb24oKQogICAgICAgICB7CkBA
IC0yNCw2ICsyMywxOCBAQCBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkge0luc3BlY3RvclRlc3QuY29t
cGxldGVUZXN0KCk7fSwgMTAwMCk7CiAKICAgICAgICAgZnVuY3Rpb24oKQogICAgICAgICB7Cisg
ICAgICAgICAgICBmaWxlU3lzdGVtUmVxdWVzdE1hbmFnZXIucmVxdWVzdEZpbGVDb250ZW50KCJJ
bnZhbGlkVVJMIiwgdHJ1ZSwgMiwgNiwgIlVURi04IiwgdGVzdFN0ZXAuc2hpZnQoKSk7CisgICAg
ICAgIH0sCisKKyAgICAgICAgZnVuY3Rpb24oZXJyb3JDb2RlLCBjb250ZW50LCBjaGFyc2V0KQor
ICAgICAgICB7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBGaWxlQ29udGVudFJlcXVl
c3RSZXN1bHQoZXJyb3JDb2RlLCBjb250ZW50LCBjaGFyc2V0KTsKKyAgICAgICAgICAgIGZpbGVT
eXN0ZW1SZXF1ZXN0TWFuYWdlci5yZXF1ZXN0RmlsZUNvbnRlbnQoImZpbGVzeXN0ZW06aHR0cDov
LzEyNy4wLjAuMTo4MDAwL0ludmFsaWRUeXBlL2hvZ2UvZnVnYS50eHQiLCB0cnVlLCAyLCA2LCAi
VVRGLTgiLCB0ZXN0U3RlcC5zaGlmdCgpKTsKKyAgICAgICAgfSwKKworICAgICAgICBmdW5jdGlv
bihlcnJvckNvZGUsIGNvbnRlbnQsIGNoYXJzZXQpCisgICAgICAgIHsKKyAgICAgICAgICAgIElu
c3BlY3RvclRlc3QuZHVtcEZpbGVDb250ZW50UmVxdWVzdFJlc3VsdChlcnJvckNvZGUsIGNvbnRl
bnQsIGNoYXJzZXQpOwogICAgICAgICAgICAgZmlsZVN5c3RlbVJlcXVlc3RNYW5hZ2VyLnJlcXVl
c3RGaWxlQ29udGVudCgiZmlsZXN5c3RlbTpodHRwOi8vMTI3LjAuMC4xOjgwMDAvdGVtcG9yYXJ5
L2hvZ2UvZnVnYS50eHQiLCB0cnVlLCAyLCA2LCAiVVRGLTgiLCB0ZXN0U3RlcC5zaGlmdCgpKTsK
ICAgICAgICAgfSwKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0
b3IvZmlsZXN5c3RlbS9yZXF1ZXN0LWZpbGVzeXN0ZW0tcm9vdC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9maWxlc3lzdGVtL3JlcXVlc3QtZmlsZXN5c3Rl
bS1yb290LWV4cGVjdGVkLnR4dAppbmRleCA5NDUwMzQ4NzE2OWU1ODUxY2U5NTdkZDE4ODFlYjg0
YTZiNTQ1ZmZiLi4wMDczYzE3YmQxMGNjNzlkOWUwNDY5ZTllOGNlY2U5NDY4NjY1M2VjIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9maWxlc3lzdGVtL3JlcXVl
c3QtZmlsZXN5c3RlbS1yb290LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2luc3BlY3Rvci9maWxlc3lzdGVtL3JlcXVlc3QtZmlsZXN5c3RlbS1yb290LWV4cGVjdGVk
LnR4dApAQCAtMyw3ICszLDcgQEAgVGVzdHMgcmVxdWVzdEZpbGVTeXN0ZW1Sb290IGNvbW1hbmQu
CiBlcnJvckNvZGU6IDAKIGJhY2tlbmRSb290RW50cnkudXJsOiBmaWxlc3lzdGVtOmh0dHA6Ly8x
MjcuMC4wLjE6ODAwMC90ZW1wb3JhcnkvCiAKLWVycm9yQ29kZTogMgorZXJyb3JDb2RlOiA4CiBi
YWNrZW5kUm9vdEVudHJ5OiAobnVsbCkKIAogZXJyb3JDb2RlOiAyCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9maWxlc3lzdGVtL3JlcXVlc3QtbWV0YWRhdGEt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvZmlsZXN5c3Rl
bS9yZXF1ZXN0LW1ldGFkYXRhLWV4cGVjdGVkLnR4dAppbmRleCA2ZDg2YjI1NDk3MTJjYzMwMmIz
YmQ0NzRhN2U1ZTlmODk3ZjdjZmIwLi43YWQ4Yjc1OTBjMmE2ODFlMTY0YmJiZTU4NGFhYzMyZTNj
MjA0ZjQxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9maWxl
c3lzdGVtL3JlcXVlc3QtbWV0YWRhdGEtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvaW5zcGVjdG9yL2ZpbGVzeXN0ZW0vcmVxdWVzdC1tZXRhZGF0YS1leHBlY3RlZC50
eHQKQEAgLTEsNSArMSwxMSBAQAogVGVzdHMgcmVxdWVzdE1ldGFkYXRhIGNvbW1hbmQuCiAKK2Vy
cm9yQ29kZTogMgorbWV0YWRhdGE6IChudWxsKQorCitlcnJvckNvZGU6IDgKK21ldGFkYXRhOiAo
bnVsbCkKKwogZXJyb3JDb2RlOiAwCiBtZXRhZGF0YToKICAgbW9kaWZpY2F0aW9uVGltZTogKGV4
aXN0cykKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2ZpbGVz
eXN0ZW0vcmVxdWVzdC1tZXRhZGF0YS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvZmlsZXN5c3RlbS9yZXF1ZXN0LW1ldGFkYXRhLmh0bWwKaW5kZXggM2U3NDA3ODFiNjI1
YTJhZGU1OGE3MjdlODg2MTQyZjgwMzA3OThkNi4uNzhlNGUxNGQwYzc0YjZlMWM2MzJmMjA5Y2Jl
OTJiZjUwYTk2NmI0NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0
b3IvZmlsZXN5c3RlbS9yZXF1ZXN0LW1ldGFkYXRhLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9pbnNwZWN0b3IvZmlsZXN5c3RlbS9yZXF1ZXN0LW1ldGFkYXRhLmh0bWwKQEAgLTE4
LDYgKzE4LDE4IEBAIGZ1bmN0aW9uIHRlc3QoKQogCiAgICAgICAgIGZ1bmN0aW9uKCkKICAgICAg
ICAgeworICAgICAgICAgICAgZmlsZVN5c3RlbVJlcXVlc3RNYW5hZ2VyLnJlcXVlc3RNZXRhZGF0
YSgiSW52YWxpZFVSTCIsIHRlc3RTdGVwLnNoaWZ0KCkpOworICAgICAgICB9LAorCisgICAgICAg
IGZ1bmN0aW9uKGVycm9yQ29kZSwgbWV0YWRhdGEpCisgICAgICAgIHsKKyAgICAgICAgICAgIElu
c3BlY3RvclRlc3QuZHVtcE1ldGFkYXRhUmVxdWVzdFJlc3VsdChlcnJvckNvZGUsIG1ldGFkYXRh
KTsKKyAgICAgICAgICAgIGZpbGVTeXN0ZW1SZXF1ZXN0TWFuYWdlci5yZXF1ZXN0TWV0YWRhdGEo
ImZpbGVzeXN0ZW06aHR0cDovLzEyNy4wLjAuMTo4MDAwL0ludmFsaWRUeXBlIiwgdGVzdFN0ZXAu
c2hpZnQoKSk7CisgICAgICAgIH0sCisKKyAgICAgICAgZnVuY3Rpb24oZXJyb3JDb2RlLCBtZXRh
ZGF0YSkKKyAgICAgICAgeworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wTWV0YWRhdGFS
ZXF1ZXN0UmVzdWx0KGVycm9yQ29kZSwgbWV0YWRhdGEpOwogICAgICAgICAgICAgZmlsZVN5c3Rl
bVJlcXVlc3RNYW5hZ2VyLnJlcXVlc3RNZXRhZGF0YSgiZmlsZXN5c3RlbTpodHRwOi8vMTI3LjAu
MC4xOjgwMDAvdGVtcG9yYXJ5L2hvZ2UiLCB0ZXN0U3RlcC5zaGlmdCgpKTsKICAgICAgICAgfSwK
IAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>159029</attachid>
            <date>2012-08-17 00:46:41 -0700</date>
            <delta_ts>2012-08-21 15:29:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-93933-20120817164605.patch</filename>
            <type>text/plain</type>
            <size>17072</size>
            <attacher name="Taiju Tsuiki">tzik</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI1ODQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTg5OTQ4MWFkN2QxZTQ4
YjNiZGMzYjAxMWEwMmVlMGRkMGFhMGEyMS4uMzQ3M2MyMDAzZmZjOTk5Njg4YjQ4NmUzYzk2NDY2
YjI5NTZiMDY1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEyLTA4LTE3ICBUYWlq
dSBUc3Vpa2kgIDx0emlrQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBD
b21wbGV0aW9uIGV2ZW50cyBvZiBJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQgc2hvdWxkIGJlIGZp
cmVkIGFzeW5jaHJvbm91c2x5LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9OTM5MzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQgZmlyZXMgY29tcGxldGlvbiBldmVu
dCB0b28gZWFybHkgaW4gZXJyb3IgY2FzZS4gSXQgc2hvdWxkIHdhaXQKKyAgICAgICAgdW50aWwg
SlMgY29kZSBpcyByZWFkeS4KKworICAgICAgICBUZXN0OiBodHRwL3Rlc3RzL2luc3BlY3Rvci9m
aWxlc3lzdGVtL3JlcXVlc3QtZGlyZWN0b3J5LWNvbnRlbnQuaHRtbAorICAgICAgICAgICAgICBo
dHRwL3Rlc3RzL2luc3BlY3Rvci9maWxlc3lzdGVtL3JlcXVlc3QtZmlsZS1jb250ZW50Lmh0bWwK
KyAgICAgICAgICAgICAgaHR0cC90ZXN0cy9pbnNwZWN0b3IvZmlsZXN5c3RlbS9yZXF1ZXN0LW1l
dGFkYXRhLmh0bWwKKworICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JGaWxlU3lzdGVtQWdl
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZSk6IEFkZCBSZXBvcnRFcnJvclRhc2sgY2xhc3MKKwog
MjAxMi0wOC0xNiAgTWljaGVsYW5nZWxvIERlIFNpbW9uZSAgPG1pY2hlbGFuZ2Vsb0B3ZWJraXQu
b3JnPgogCiAgICAgICAgIFtQYXJ0IDNdIFBhcnNlIHRoZSBjdXN0b20oKSBmdW5jdGlvbiBpbiAt
d2Via2l0LWZpbHRlcjogcGFyc2UgdGhlIDNkLXRyYW5zZm9ybXMgcGFyYW1ldGVycwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50LmNw
cAppbmRleCBkNjBiMDJjNDQwMjU0NGRkY2VhNGE5YmEwNjA0NjViYWFiOWIyZmFiLi5mZjkxMmE3
MGJjM2YwZTc3OTFlZTFkNzUyMDkyMWU0NDllZDdkYjQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50LmNwcApAQCAtMTQxLDEw
ICsxNDEsMzEgQEAgcHVibGljOgogICAgIH0KIH07CiAKK2NsYXNzIFJlcG9ydEVycm9yVGFzayA6
IHB1YmxpYyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrIHsKK3B1YmxpYzoKKyAgICBzdGF0
aWMgUGFzc093blB0cjxSZXBvcnRFcnJvclRhc2s+IGNyZWF0ZShQYXNzUmVmUHRyPEVycm9yQ2Fs
bGJhY2s+IGVycm9yQ2FsbGJhY2ssIEZpbGVFcnJvcjo6RXJyb3JDb2RlIGVycm9yQ29kZSkKKyAg
ICB7CisgICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcgUmVwb3J0RXJyb3JUYXNrKGVycm9yQ2Fs
bGJhY2ssIGVycm9yQ29kZSkpOworICAgIH0KKworICAgIHZpcnR1YWwgdm9pZCBwZXJmb3JtVGFz
ayhTY3JpcHRFeGVjdXRpb25Db250ZXh0KikgT1ZFUlJJREUKKyAgICB7CisgICAgICAgIG1fZXJy
b3JDYWxsYmFjay0+aGFuZGxlRXZlbnQoRmlsZUVycm9yOjpjcmVhdGUobV9lcnJvckNvZGUpLmdl
dCgpKTsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgUmVwb3J0RXJyb3JUYXNrKFBhc3NSZWZQdHI8
RXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjaywgRmlsZUVycm9yOjpFcnJvckNvZGUgZXJyb3JD
b2RlKQorICAgICAgICA6IG1fZXJyb3JDYWxsYmFjayhlcnJvckNhbGxiYWNrKQorICAgICAgICAs
IG1fZXJyb3JDb2RlKGVycm9yQ29kZSkgeyB9CisKKyAgICBSZWZQdHI8RXJyb3JDYWxsYmFjaz4g
bV9lcnJvckNhbGxiYWNrOworICAgIEZpbGVFcnJvcjo6RXJyb3JDb2RlIG1fZXJyb3JDb2RlOwor
fTsKKwogY2xhc3MgRmlsZVN5c3RlbVJvb3RSZXF1ZXN0IDogcHVibGljIFJlZkNvdW50ZWQ8Rmls
ZVN5c3RlbVJvb3RSZXF1ZXN0PiB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRmlsZVN5c3Rl
bVJvb3RSZXF1ZXN0KTsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxGaWxlU3lzdGVt
Um9vdFJlcXVlc3Q+IGNyZWF0ZShQYXNzUmVmUHRyPEZyb250ZW5kUHJvdmlkZXI+IGZyb250ZW5k
UHJvdmlkZXIsIGludCByZXF1ZXN0SWQsIEZpbGVTeXN0ZW1UeXBlIHR5cGUpCisgICAgc3RhdGlj
IFBhc3NSZWZQdHI8RmlsZVN5c3RlbVJvb3RSZXF1ZXN0PiBjcmVhdGUoUGFzc1JlZlB0cjxGcm9u
dGVuZFByb3ZpZGVyPiBmcm9udGVuZFByb3ZpZGVyLCBpbnQgcmVxdWVzdElkLCBjb25zdCBTdHJp
bmcmIHR5cGUpCiAgICAgewogICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IEZpbGVTeXN0ZW1S
b290UmVxdWVzdChmcm9udGVuZFByb3ZpZGVyLCByZXF1ZXN0SWQsIHR5cGUpKTsKICAgICB9CkBA
IC0xNjMsMTQgKzE4NCwxNCBAQCBwcml2YXRlOgogICAgICAgICBtX2Zyb250ZW5kUHJvdmlkZXIg
PSAwOwogICAgIH0KIAotICAgIEZpbGVTeXN0ZW1Sb290UmVxdWVzdChQYXNzUmVmUHRyPEZyb250
ZW5kUHJvdmlkZXI+IGZyb250ZW5kUHJvdmlkZXIsIGludCByZXF1ZXN0SWQsIEZpbGVTeXN0ZW1U
eXBlIHR5cGUpCisgICAgRmlsZVN5c3RlbVJvb3RSZXF1ZXN0KFBhc3NSZWZQdHI8RnJvbnRlbmRQ
cm92aWRlcj4gZnJvbnRlbmRQcm92aWRlciwgaW50IHJlcXVlc3RJZCwgY29uc3QgU3RyaW5nJiB0
eXBlKQogICAgICAgICA6IG1fZnJvbnRlbmRQcm92aWRlcihmcm9udGVuZFByb3ZpZGVyKQogICAg
ICAgICAsIG1fcmVxdWVzdElkKHJlcXVlc3RJZCkKICAgICAgICAgLCBtX3R5cGUodHlwZSkgeyB9
CiAKICAgICBSZWZQdHI8RnJvbnRlbmRQcm92aWRlcj4gbV9mcm9udGVuZFByb3ZpZGVyOwogICAg
IGludCBtX3JlcXVlc3RJZDsKLSAgICBGaWxlU3lzdGVtVHlwZSBtX3R5cGU7CisgICAgU3RyaW5n
IG1fdHlwZTsKIH07CiAKIGJvb2wgRmlsZVN5c3RlbVJvb3RSZXF1ZXN0OjpkaWRIaXRFcnJvcihG
aWxlRXJyb3IqIGVycm9yKQpAQCAtMTgxLDExICsyMDIsMjMgQEAgYm9vbCBGaWxlU3lzdGVtUm9v
dFJlcXVlc3Q6OmRpZEhpdEVycm9yKEZpbGVFcnJvciogZXJyb3IpCiAKIHZvaWQgRmlsZVN5c3Rl
bVJvb3RSZXF1ZXN0OjpzdGFydChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRp
b25Db250ZXh0KQogewotICAgIFJlZlB0cjxFbnRyeUNhbGxiYWNrPiBzdWNjZXNzQ2FsbGJhY2sg
PSBDYWxsYmFja0Rpc3BhdGNoZXJGYWN0b3J5PEVudHJ5Q2FsbGJhY2s+OjpjcmVhdGUodGhpcywg
JkZpbGVTeXN0ZW1Sb290UmVxdWVzdDo6ZGlkR2V0RW50cnkpOworICAgIEFTU0VSVChzY3JpcHRF
eGVjdXRpb25Db250ZXh0KTsKKwogICAgIFJlZlB0cjxFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxi
YWNrID0gQ2FsbGJhY2tEaXNwYXRjaGVyRmFjdG9yeTxFcnJvckNhbGxiYWNrPjo6Y3JlYXRlKHRo
aXMsICZGaWxlU3lzdGVtUm9vdFJlcXVlc3Q6OmRpZEhpdEVycm9yKTsKLSAgICBPd25QdHI8UmVz
b2x2ZVVSSUNhbGxiYWNrcz4gZmlsZVN5c3RlbUNhbGxiYWNrcyA9IFJlc29sdmVVUklDYWxsYmFj
a3M6OmNyZWF0ZShzdWNjZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2ssIHNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQsIG1fdHlwZSwgIi8iKTsKKyAgICBGaWxlU3lzdGVtVHlwZSB0eXBlOworICAgIGlm
IChtX3R5cGUgPT0gRE9NRmlsZVN5c3RlbUJhc2U6OnBlcnNpc3RlbnRQYXRoUHJlZml4KQorICAg
ICAgICB0eXBlID0gRmlsZVN5c3RlbVR5cGVQZXJzaXN0ZW50OworICAgIGVsc2UgaWYgKG1fdHlw
ZSA9PSBET01GaWxlU3lzdGVtQmFzZTo6dGVtcG9yYXJ5UGF0aFByZWZpeCkKKyAgICAgICAgdHlw
ZSA9IEZpbGVTeXN0ZW1UeXBlVGVtcG9yYXJ5OworICAgIGVsc2UgeworICAgICAgICBzY3JpcHRF
eGVjdXRpb25Db250ZXh0LT5wb3N0VGFzayhSZXBvcnRFcnJvclRhc2s6OmNyZWF0ZShlcnJvckNh
bGxiYWNrLCBGaWxlRXJyb3I6OlNZTlRBWF9FUlIpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0K
KworICAgIFJlZlB0cjxFbnRyeUNhbGxiYWNrPiBzdWNjZXNzQ2FsbGJhY2sgPSBDYWxsYmFja0Rp
c3BhdGNoZXJGYWN0b3J5PEVudHJ5Q2FsbGJhY2s+OjpjcmVhdGUodGhpcywgJkZpbGVTeXN0ZW1S
b290UmVxdWVzdDo6ZGlkR2V0RW50cnkpOworICAgIE93blB0cjxSZXNvbHZlVVJJQ2FsbGJhY2tz
PiBmaWxlU3lzdGVtQ2FsbGJhY2tzID0gUmVzb2x2ZVVSSUNhbGxiYWNrczo6Y3JlYXRlKHN1Y2Nl
c3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjaywgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgdHlwZSwg
Ii8iKTsKIAotICAgIExvY2FsRmlsZVN5c3RlbTo6bG9jYWxGaWxlU3lzdGVtKCkucmVhZEZpbGVT
eXN0ZW0oc2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgbV90eXBlLCBmaWxlU3lzdGVtQ2FsbGJhY2tz
LnJlbGVhc2UoKSk7CisgICAgTG9jYWxGaWxlU3lzdGVtOjpsb2NhbEZpbGVTeXN0ZW0oKS5yZWFk
RmlsZVN5c3RlbShzY3JpcHRFeGVjdXRpb25Db250ZXh0LCB0eXBlLCBmaWxlU3lzdGVtQ2FsbGJh
Y2tzLnJlbGVhc2UoKSk7CiB9CiAKIGJvb2wgRmlsZVN5c3RlbVJvb3RSZXF1ZXN0OjpkaWRHZXRF
bnRyeShFbnRyeSogZW50cnkpCkBAIC0yNDksMTUgKzI4MiwxNSBAQCB2b2lkIERpcmVjdG9yeUNv
bnRlbnRSZXF1ZXN0OjpzdGFydChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRp
b25Db250ZQogewogICAgIEFTU0VSVChzY3JpcHRFeGVjdXRpb25Db250ZXh0KTsKIAorICAgIFJl
ZlB0cjxFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrID0gQ2FsbGJhY2tEaXNwYXRjaGVyRmFj
dG9yeTxFcnJvckNhbGxiYWNrPjo6Y3JlYXRlKHRoaXMsICZEaXJlY3RvcnlDb250ZW50UmVxdWVz
dDo6ZGlkSGl0RXJyb3IpOwogICAgIEZpbGVTeXN0ZW1UeXBlIHR5cGU7CiAgICAgU3RyaW5nIHBh
dGg7CiAgICAgaWYgKCFET01GaWxlU3lzdGVtQmFzZTo6Y3JhY2tGaWxlU3lzdGVtVVJMKG1fdXJs
LCB0eXBlLCBwYXRoKSkgewotICAgICAgICByZXBvcnRSZXN1bHQoRmlsZUVycm9yOjpTWU5UQVhf
RVJSKTsKKyAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+cG9zdFRhc2soUmVwb3J0RXJy
b3JUYXNrOjpjcmVhdGUoZXJyb3JDYWxsYmFjaywgRmlsZUVycm9yOjpTWU5UQVhfRVJSKSk7CiAg
ICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBSZWZQdHI8RW50cnlDYWxsYmFjaz4gc3VjY2Vz
c0NhbGxiYWNrID0gQ2FsbGJhY2tEaXNwYXRjaGVyRmFjdG9yeTxFbnRyeUNhbGxiYWNrPjo6Y3Jl
YXRlKHRoaXMsICZEaXJlY3RvcnlDb250ZW50UmVxdWVzdDo6ZGlkR2V0RW50cnkpOwotICAgIFJl
ZlB0cjxFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrID0gQ2FsbGJhY2tEaXNwYXRjaGVyRmFj
dG9yeTxFcnJvckNhbGxiYWNrPjo6Y3JlYXRlKHRoaXMsICZEaXJlY3RvcnlDb250ZW50UmVxdWVz
dDo6ZGlkSGl0RXJyb3IpOwogICAgIE93blB0cjxSZXNvbHZlVVJJQ2FsbGJhY2tzPiBmaWxlU3lz
dGVtQ2FsbGJhY2tzID0gUmVzb2x2ZVVSSUNhbGxiYWNrczo6Y3JlYXRlKHN1Y2Nlc3NDYWxsYmFj
aywgZXJyb3JDYWxsYmFjaywgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgdHlwZSwgcGF0aCk7CiAK
ICAgICBMb2NhbEZpbGVTeXN0ZW06OmxvY2FsRmlsZVN5c3RlbSgpLnJlYWRGaWxlU3lzdGVtKHNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQsIHR5cGUsIGZpbGVTeXN0ZW1DYWxsYmFja3MucmVsZWFzZSgp
KTsKQEAgLTM3NywxMiArNDEwLDE3IEBAIHByaXZhdGU6CiAKIHZvaWQgTWV0YWRhdGFSZXF1ZXN0
OjpzdGFydChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KQog
ewotICAgIEZpbGVTeXN0ZW1UeXBlIHR5cGU7Ci0gICAgRE9NRmlsZVN5c3RlbUJhc2U6OmNyYWNr
RmlsZVN5c3RlbVVSTChtX3VybCwgdHlwZSwgbV9wYXRoKTsKKyAgICBBU1NFUlQoc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCk7CiAKLSAgICBSZWZQdHI8RW50cnlDYWxsYmFjaz4gc3VjY2Vzc0NhbGxi
YWNrID0gQ2FsbGJhY2tEaXNwYXRjaGVyRmFjdG9yeTxFbnRyeUNhbGxiYWNrPjo6Y3JlYXRlKHRo
aXMsICZNZXRhZGF0YVJlcXVlc3Q6OmRpZEdldEVudHJ5KTsKICAgICBSZWZQdHI8RXJyb3JDYWxs
YmFjaz4gZXJyb3JDYWxsYmFjayA9IENhbGxiYWNrRGlzcGF0Y2hlckZhY3Rvcnk8RXJyb3JDYWxs
YmFjaz46OmNyZWF0ZSh0aGlzLCAmTWV0YWRhdGFSZXF1ZXN0OjpkaWRIaXRFcnJvcik7CiAKKyAg
ICBGaWxlU3lzdGVtVHlwZSB0eXBlOworICAgIGlmICghRE9NRmlsZVN5c3RlbUJhc2U6OmNyYWNr
RmlsZVN5c3RlbVVSTChtX3VybCwgdHlwZSwgbV9wYXRoKSkgeworICAgICAgICBzY3JpcHRFeGVj
dXRpb25Db250ZXh0LT5wb3N0VGFzayhSZXBvcnRFcnJvclRhc2s6OmNyZWF0ZShlcnJvckNhbGxi
YWNrLCBGaWxlRXJyb3I6OlNZTlRBWF9FUlIpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwor
ICAgIFJlZlB0cjxFbnRyeUNhbGxiYWNrPiBzdWNjZXNzQ2FsbGJhY2sgPSBDYWxsYmFja0Rpc3Bh
dGNoZXJGYWN0b3J5PEVudHJ5Q2FsbGJhY2s+OjpjcmVhdGUodGhpcywgJk1ldGFkYXRhUmVxdWVz
dDo6ZGlkR2V0RW50cnkpOwogICAgIE93blB0cjxSZXNvbHZlVVJJQ2FsbGJhY2tzPiBmaWxlU3lz
dGVtQ2FsbGJhY2tzID0gUmVzb2x2ZVVSSUNhbGxiYWNrczo6Y3JlYXRlKHN1Y2Nlc3NDYWxsYmFj
aywgZXJyb3JDYWxsYmFjaywgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgdHlwZSwgbV9wYXRoKTsK
ICAgICBMb2NhbEZpbGVTeXN0ZW06OmxvY2FsRmlsZVN5c3RlbSgpLnJlYWRGaWxlU3lzdGVtKHNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQsIHR5cGUsIGZpbGVTeXN0ZW1DYWxsYmFja3MucmVsZWFzZSgp
KTsKIH0KQEAgLTQ4NCwxNSArNTIyLDE2IEBAIHZvaWQgRmlsZUNvbnRlbnRSZXF1ZXN0OjpzdGFy
dChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KQogewogICAg
IEFTU0VSVChzY3JpcHRFeGVjdXRpb25Db250ZXh0KTsKIAorICAgIFJlZlB0cjxFcnJvckNhbGxi
YWNrPiBlcnJvckNhbGxiYWNrID0gQ2FsbGJhY2tEaXNwYXRjaGVyRmFjdG9yeTxFcnJvckNhbGxi
YWNrPjo6Y3JlYXRlKHRoaXMsICZGaWxlQ29udGVudFJlcXVlc3Q6OmRpZEhpdEVycm9yKTsKKwog
ICAgIEZpbGVTeXN0ZW1UeXBlIHR5cGU7CiAgICAgU3RyaW5nIHBhdGg7CiAgICAgaWYgKCFET01G
aWxlU3lzdGVtQmFzZTo6Y3JhY2tGaWxlU3lzdGVtVVJMKG1fdXJsLCB0eXBlLCBwYXRoKSkgewot
ICAgICAgICByZXBvcnRSZXN1bHQoRmlsZUVycm9yOjpTWU5UQVhfRVJSKTsKKyAgICAgICAgc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dC0+cG9zdFRhc2soUmVwb3J0RXJyb3JUYXNrOjpjcmVhdGUoZXJy
b3JDYWxsYmFjaywgRmlsZUVycm9yOjpTWU5UQVhfRVJSKSk7CiAgICAgICAgIHJldHVybjsKICAg
ICB9CiAKICAgICBSZWZQdHI8RW50cnlDYWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrID0gQ2FsbGJh
Y2tEaXNwYXRjaGVyRmFjdG9yeTxFbnRyeUNhbGxiYWNrPjo6Y3JlYXRlKHRoaXMsICZGaWxlQ29u
dGVudFJlcXVlc3Q6OmRpZEdldEVudHJ5KTsKLSAgICBSZWZQdHI8RXJyb3JDYWxsYmFjaz4gZXJy
b3JDYWxsYmFjayA9IENhbGxiYWNrRGlzcGF0Y2hlckZhY3Rvcnk8RXJyb3JDYWxsYmFjaz46OmNy
ZWF0ZSh0aGlzLCAmRmlsZUNvbnRlbnRSZXF1ZXN0OjpkaWRIaXRFcnJvcik7CiAgICAgT3duUHRy
PFJlc29sdmVVUklDYWxsYmFja3M+IGZpbGVTeXN0ZW1DYWxsYmFja3MgPSBSZXNvbHZlVVJJQ2Fs
bGJhY2tzOjpjcmVhdGUoc3VjY2Vzc0NhbGxiYWNrLCBlcnJvckNhbGxiYWNrLCBzY3JpcHRFeGVj
dXRpb25Db250ZXh0LCB0eXBlLCBwYXRoKTsKIAogICAgIExvY2FsRmlsZVN5c3RlbTo6bG9jYWxG
aWxlU3lzdGVtKCkucmVhZEZpbGVTeXN0ZW0oc2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgdHlwZSwg
ZmlsZVN5c3RlbUNhbGxiYWNrcy5yZWxlYXNlKCkpOwpAQCAtNTc5LDcgKzYxOCw3IEBAIHZvaWQg
SW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50OjpkaXNhYmxlKEVycm9yU3RyaW5nKikKICAgICBtX3N0
YXRlLT5zZXRCb29sZWFuKEZpbGVTeXN0ZW1BZ2VudFN0YXRlOjpmaWxlU3lzdGVtQWdlbnRFbmFi
bGVkLCBtX2VuYWJsZWQpOwogfQogCi12b2lkIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudDo6cmVx
dWVzdEZpbGVTeXN0ZW1Sb290KEVycm9yU3RyaW5nKiBlcnJvciwgY29uc3QgU3RyaW5nJiBvcmln
aW4sIGNvbnN0IFN0cmluZyYgdHlwZVN0cmluZywgaW50KiByZXF1ZXN0SWQpCit2b2lkIEluc3Bl
Y3RvckZpbGVTeXN0ZW1BZ2VudDo6cmVxdWVzdEZpbGVTeXN0ZW1Sb290KEVycm9yU3RyaW5nKiBl
cnJvciwgY29uc3QgU3RyaW5nJiBvcmlnaW4sIGNvbnN0IFN0cmluZyYgdHlwZSwgaW50KiByZXF1
ZXN0SWQpCiB7CiAgICAgaWYgKCFtX2VuYWJsZWQgfHwgIW1fZnJvbnRlbmRQcm92aWRlcikgewog
ICAgICAgICAqZXJyb3IgPSAiRmlsZVN5c3RlbSBhZ2VudCBpcyBub3QgZW5hYmxlZCI7CkBAIC01
OTEsMTYgKzYzMCw2IEBAIHZvaWQgSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50OjpyZXF1ZXN0Rmls
ZVN5c3RlbVJvb3QoRXJyb3JTdHJpbmcqIGVycm9yLCBjb25zdCBTCiAgICAgaWYgKCFzY3JpcHRF
eGVjdXRpb25Db250ZXh0KQogICAgICAgICByZXR1cm47CiAKLSAgICBGaWxlU3lzdGVtVHlwZSB0
eXBlOwotICAgIGlmICh0eXBlU3RyaW5nID09IERPTUZpbGVTeXN0ZW1CYXNlOjpwZXJzaXN0ZW50
UGF0aFByZWZpeCkKLSAgICAgICAgdHlwZSA9IEZpbGVTeXN0ZW1UeXBlUGVyc2lzdGVudDsKLSAg
ICBlbHNlIGlmICh0eXBlU3RyaW5nID09IERPTUZpbGVTeXN0ZW1CYXNlOjp0ZW1wb3JhcnlQYXRo
UHJlZml4KQotICAgICAgICB0eXBlID0gRmlsZVN5c3RlbVR5cGVUZW1wb3Jhcnk7Ci0gICAgZWxz
ZSB7Ci0gICAgICAgICplcnJvciA9ICJJbnZhbGlkIEZpbGVTeXN0ZW0gdHlwZSI7Ci0gICAgICAg
IHJldHVybjsKLSAgICB9Ci0KICAgICAqcmVxdWVzdElkID0gbV9uZXh0UmVxdWVzdElkKys7CiAg
ICAgRmlsZVN5c3RlbVJvb3RSZXF1ZXN0OjpjcmVhdGUobV9mcm9udGVuZFByb3ZpZGVyLCAqcmVx
dWVzdElkLCB0eXBlKS0+c3RhcnQoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCk7CiB9CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
YTFlMzcwZWQ5NTE3OGUyODRjMGZhZjY2OTIwY2FiNzg4MzE4Nzk5OS4uOGFlMmRjYmU2M2JiNzBl
YWI0YjVkNTgzNzBkY2E2MzQ1N2ZlZThmOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTA4
LTE3ICBUYWlqdSBUc3Vpa2kgIDx0emlrQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5z
cGVjdG9yOiBDb21wbGV0aW9uIGV2ZW50cyBvZiBJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQgc2hv
dWxkIGJlIGZpcmVkIGFzeW5jaHJvbm91c2x5LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTM5MzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQgZmlyZXMgY29tcGxl
dGlvbiBldmVudCB0b28gZWFybHkgaW4gZXJyb3IgY2FzZS4gSXQgc2hvdWxkIHdhaXQKKyAgICAg
ICAgdW50aWwgSlMgY29kZSBpcyByZWFkeS4KKworICAgICAgICAqIGh0dHAvdGVzdHMvaW5zcGVj
dG9yL2ZpbGVzeXN0ZW0vcmVxdWVzdC1kaXJlY3RvcnktY29udGVudC1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3IvZmlsZXN5c3RlbS9yZXF1ZXN0LWRpcmVjdG9y
eS1jb250ZW50Lmh0bWw6IEFkZCBtb3JlIGVycm9yIGNhc2UgdGVzdC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL2luc3BlY3Rvci9maWxlc3lzdGVtL3JlcXVlc3QtZmlsZS1jb250ZW50LWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2luc3BlY3Rvci9maWxlc3lzdGVtL3JlcXVlc3Qt
ZmlsZS1jb250ZW50Lmh0bWw6IEFkZCBtb3JlIGVycm9yIGNhc2UgdGVzdC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL2luc3BlY3Rvci9maWxlc3lzdGVtL3JlcXVlc3QtZmlsZXN5c3RlbS1yb290LWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2luc3BlY3Rvci9maWxlc3lzdGVtL3Jl
cXVlc3QtbWV0YWRhdGEtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvaW5zcGVj
dG9yL2ZpbGVzeXN0ZW0vcmVxdWVzdC1tZXRhZGF0YS5odG1sOiBBZGQgbW9yZSBlcnJvciBjYXNl
IHRlc3QuCisKIDIwMTItMDgtMTYgIE1pY2hlbGFuZ2VsbyBEZSBTaW1vbmUgIDxtaWNoZWxhbmdl
bG9Ad2Via2l0Lm9yZz4KIAogICAgICAgICBbUGFydCAzXSBQYXJzZSB0aGUgY3VzdG9tKCkgZnVu
Y3Rpb24gaW4gLXdlYmtpdC1maWx0ZXI6IHBhcnNlIHRoZSAzZC10cmFuc2Zvcm1zIHBhcmFtZXRl
cnMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2ZpbGVzeXN0
ZW0vcmVxdWVzdC1kaXJlY3RvcnktY29udGVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2luc3BlY3Rvci9maWxlc3lzdGVtL3JlcXVlc3QtZGlyZWN0b3J5LWNvbnRlbnQt
ZXhwZWN0ZWQudHh0CmluZGV4IGVhNTJiMzMzYWUwMDBlZDZjNTAxZmEyNDQxMzllZTE5MDRhY2Vm
MmYuLjJiZWZhNzY4ZTQ5Y2UxZWE0MmJkMjA3MTQ0ZDZlMDU4MmI3Y2IyYmEgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2ZpbGVzeXN0ZW0vcmVxdWVzdC1kaXJl
Y3RvcnktY29udGVudC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9p
bnNwZWN0b3IvZmlsZXN5c3RlbS9yZXF1ZXN0LWRpcmVjdG9yeS1jb250ZW50LWV4cGVjdGVkLnR4
dApAQCAtMSw1ICsxLDExIEBACiBUZXN0cyByZXF1ZXN0RGlyZWN0b3J5Q29udGVudCBjb21tYW5k
LgogCitlcnJvckNvZGU6IDIKK2VudHJpZXM6IChudWxsKQorCitlcnJvckNvZGU6IDgKK2VudHJp
ZXM6IChudWxsKQorCiBlcnJvckNvZGU6IDAKIGVudHJpZXM6CiAgIDA6CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9maWxlc3lzdGVtL3JlcXVlc3QtZGlyZWN0
b3J5LWNvbnRlbnQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2ZpbGVz
eXN0ZW0vcmVxdWVzdC1kaXJlY3RvcnktY29udGVudC5odG1sCmluZGV4IDQ0OGUyZWM0YTMxMzVl
N2I5ODhiNTMxZDU3NDU1NDNmOGVmMjA1NzYuLjEwZmRhYTI1ZWYxYjA1YWZmNThkMzk4ZDQwZDhm
YzNmM2U3NWY5ZGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9y
L2ZpbGVzeXN0ZW0vcmVxdWVzdC1kaXJlY3RvcnktY29udGVudC5odG1sCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2ZpbGVzeXN0ZW0vcmVxdWVzdC1kaXJlY3RvcnktY29u
dGVudC5odG1sCkBAIC0yOCw2ICsyOCwxOCBAQCBmdW5jdGlvbiB0ZXN0KCkKIAogICAgICAgICBm
dW5jdGlvbigpCiAgICAgICAgIHsKKyAgICAgICAgICAgIGZpbGVTeXN0ZW1SZXF1ZXN0TWFuYWdl
ci5yZXF1ZXN0RGlyZWN0b3J5Q29udGVudCgiSW52YWxpZFVSTCIsIHRlc3RTdGVwLnNoaWZ0KCkp
OworICAgICAgICB9LAorCisgICAgICAgIGZ1bmN0aW9uKGVycm9yQ29kZSwgZW50cmllcykKKyAg
ICAgICAgeworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wRGlyZWN0b3J5Q29udGVudFJl
cXVlc3RSZXN1bHQoZXJyb3JDb2RlLCBlbnRyaWVzKTsKKyAgICAgICAgICAgIGZpbGVTeXN0ZW1S
ZXF1ZXN0TWFuYWdlci5yZXF1ZXN0RGlyZWN0b3J5Q29udGVudCgiZmlsZXN5c3RlbTpodHRwOi8v
MTI3LjAuMC4xOjgwMDAvSW52YWxpZFR5cGUvIiwgdGVzdFN0ZXAuc2hpZnQoKSk7CisgICAgICAg
IH0sCisKKyAgICAgICAgZnVuY3Rpb24oZXJyb3JDb2RlLCBlbnRyaWVzKQorICAgICAgICB7Cisg
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBEaXJlY3RvcnlDb250ZW50UmVxdWVzdFJlc3Vs
dChlcnJvckNvZGUsIGVudHJpZXMpOwogICAgICAgICAgICAgZmlsZVN5c3RlbVJlcXVlc3RNYW5h
Z2VyLnJlcXVlc3REaXJlY3RvcnlDb250ZW50KCJmaWxlc3lzdGVtOmh0dHA6Ly8xMjcuMC4wLjE6
ODAwMC90ZW1wb3JhcnkvaG9nZSIsIHRlc3RTdGVwLnNoaWZ0KCkpOwogICAgICAgICB9LAogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9maWxlc3lzdGVtL3Jl
cXVlc3QtZmlsZS1jb250ZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
aW5zcGVjdG9yL2ZpbGVzeXN0ZW0vcmVxdWVzdC1maWxlLWNvbnRlbnQtZXhwZWN0ZWQudHh0Cmlu
ZGV4IDA1NzAyNmIyNDg2M2U4MGVlZmM4MTBjZTVlNTI0MWM2NmFiZjEzN2IuLjY3ZmNjYjdlNzIx
ZjMyZGE3ZjM4Njc3ZmYxM2EyMWJkMmY4Mjk3YmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvaW5zcGVjdG9yL2ZpbGVzeXN0ZW0vcmVxdWVzdC1maWxlLWNvbnRlbnQtZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2ZpbGVzeXN0ZW0v
cmVxdWVzdC1maWxlLWNvbnRlbnQtZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsMTMgQEAKIFRlc3Rz
IHJlcXVlc3RGaWxlQ29udGVudCBjb21tYW5kLgogCitlcnJvckNvZGU6IDIKK2NvbnRlbnQ6IChu
dWxsKQorY2hhcnNldDogdW5kZWZpbmVkCisKK2Vycm9yQ29kZTogOAorY29udGVudDogKG51bGwp
CitjaGFyc2V0OiB1bmRlZmluZWQKKwogZXJyb3JDb2RlOiAwCiBjb250ZW50OiAiUEFTUyIKIGNo
YXJzZXQ6IFVURi04CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rv
ci9maWxlc3lzdGVtL3JlcXVlc3QtZmlsZS1jb250ZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2luc3BlY3Rvci9maWxlc3lzdGVtL3JlcXVlc3QtZmlsZS1jb250ZW50Lmh0bWwKaW5k
ZXggOTZlN2NlYTJjZGM2MDI0M2NlMDgzZWYzZmU0MjE2ZTA4YjkyY2Q3NC4uYTMxMmFkNWRkODhm
MDdhYzAzYTg5ZmQ0NjkzMjE4MWE5ODgxNmRiZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9pbnNwZWN0b3IvZmlsZXN5c3RlbS9yZXF1ZXN0LWZpbGUtY29udGVudC5odG1sCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2ZpbGVzeXN0ZW0vcmVxdWVzdC1m
aWxlLWNvbnRlbnQuaHRtbApAQCAtMTAsNyArMTAsNiBAQCBmdW5jdGlvbiB0ZXN0KCkKIHsKICAg
ICB2YXIgZmlsZVN5c3RlbVJlcXVlc3RNYW5hZ2VyID0gbmV3IFdlYkluc3BlY3Rvci5GaWxlU3lz
dGVtUmVxdWVzdE1hbmFnZXIoKTsKIAotc2V0VGltZW91dChmdW5jdGlvbigpIHtJbnNwZWN0b3JU
ZXN0LmNvbXBsZXRlVGVzdCgpO30sIDEwMDApOwogICAgIHZhciB0ZXN0U3RlcCA9IFsKICAgICAg
ICAgZnVuY3Rpb24oKQogICAgICAgICB7CkBAIC0yNCw2ICsyMywxOCBAQCBzZXRUaW1lb3V0KGZ1
bmN0aW9uKCkge0luc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7fSwgMTAwMCk7CiAKICAgICAg
ICAgZnVuY3Rpb24oKQogICAgICAgICB7CisgICAgICAgICAgICBmaWxlU3lzdGVtUmVxdWVzdE1h
bmFnZXIucmVxdWVzdEZpbGVDb250ZW50KCJJbnZhbGlkVVJMIiwgdHJ1ZSwgMiwgNiwgIlVURi04
IiwgdGVzdFN0ZXAuc2hpZnQoKSk7CisgICAgICAgIH0sCisKKyAgICAgICAgZnVuY3Rpb24oZXJy
b3JDb2RlLCBjb250ZW50LCBjaGFyc2V0KQorICAgICAgICB7CisgICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmR1bXBGaWxlQ29udGVudFJlcXVlc3RSZXN1bHQoZXJyb3JDb2RlLCBjb250ZW50LCBj
aGFyc2V0KTsKKyAgICAgICAgICAgIGZpbGVTeXN0ZW1SZXF1ZXN0TWFuYWdlci5yZXF1ZXN0Rmls
ZUNvbnRlbnQoImZpbGVzeXN0ZW06aHR0cDovLzEyNy4wLjAuMTo4MDAwL0ludmFsaWRUeXBlL2hv
Z2UvZnVnYS50eHQiLCB0cnVlLCAyLCA2LCAiVVRGLTgiLCB0ZXN0U3RlcC5zaGlmdCgpKTsKKyAg
ICAgICAgfSwKKworICAgICAgICBmdW5jdGlvbihlcnJvckNvZGUsIGNvbnRlbnQsIGNoYXJzZXQp
CisgICAgICAgIHsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZHVtcEZpbGVDb250ZW50UmVx
dWVzdFJlc3VsdChlcnJvckNvZGUsIGNvbnRlbnQsIGNoYXJzZXQpOwogICAgICAgICAgICAgZmls
ZVN5c3RlbVJlcXVlc3RNYW5hZ2VyLnJlcXVlc3RGaWxlQ29udGVudCgiZmlsZXN5c3RlbTpodHRw
Oi8vMTI3LjAuMC4xOjgwMDAvdGVtcG9yYXJ5L2hvZ2UvZnVnYS50eHQiLCB0cnVlLCAyLCA2LCAi
VVRGLTgiLCB0ZXN0U3RlcC5zaGlmdCgpKTsKICAgICAgICAgfSwKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvZmlsZXN5c3RlbS9yZXF1ZXN0LWZpbGVzeXN0
ZW0tcm9vdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9m
aWxlc3lzdGVtL3JlcXVlc3QtZmlsZXN5c3RlbS1yb290LWV4cGVjdGVkLnR4dAppbmRleCA5NDUw
MzQ4NzE2OWU1ODUxY2U5NTdkZDE4ODFlYjg0YTZiNTQ1ZmZiLi4wMDczYzE3YmQxMGNjNzlkOWUw
NDY5ZTllOGNlY2U5NDY4NjY1M2VjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9maWxlc3lzdGVtL3JlcXVlc3QtZmlsZXN5c3RlbS1yb290LWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9maWxlc3lzdGVtL3JlcXVl
c3QtZmlsZXN5c3RlbS1yb290LWV4cGVjdGVkLnR4dApAQCAtMyw3ICszLDcgQEAgVGVzdHMgcmVx
dWVzdEZpbGVTeXN0ZW1Sb290IGNvbW1hbmQuCiBlcnJvckNvZGU6IDAKIGJhY2tlbmRSb290RW50
cnkudXJsOiBmaWxlc3lzdGVtOmh0dHA6Ly8xMjcuMC4wLjE6ODAwMC90ZW1wb3JhcnkvCiAKLWVy
cm9yQ29kZTogMgorZXJyb3JDb2RlOiA4CiBiYWNrZW5kUm9vdEVudHJ5OiAobnVsbCkKIAogZXJy
b3JDb2RlOiAyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9m
aWxlc3lzdGVtL3JlcXVlc3QtbWV0YWRhdGEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9pbnNwZWN0b3IvZmlsZXN5c3RlbS9yZXF1ZXN0LW1ldGFkYXRhLWV4cGVjdGVkLnR4
dAppbmRleCA2ZDg2YjI1NDk3MTJjYzMwMmIzYmQ0NzRhN2U1ZTlmODk3ZjdjZmIwLi43YWQ4Yjc1
OTBjMmE2ODFlMTY0YmJiZTU4NGFhYzMyZTNjMjA0ZjQxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9maWxlc3lzdGVtL3JlcXVlc3QtbWV0YWRhdGEtZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2ZpbGVzeXN0ZW0v
cmVxdWVzdC1tZXRhZGF0YS1leHBlY3RlZC50eHQKQEAgLTEsNSArMSwxMSBAQAogVGVzdHMgcmVx
dWVzdE1ldGFkYXRhIGNvbW1hbmQuCiAKK2Vycm9yQ29kZTogMgorbWV0YWRhdGE6IChudWxsKQor
CitlcnJvckNvZGU6IDgKK21ldGFkYXRhOiAobnVsbCkKKwogZXJyb3JDb2RlOiAwCiBtZXRhZGF0
YToKICAgbW9kaWZpY2F0aW9uVGltZTogKGV4aXN0cykKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvaW5zcGVjdG9yL2ZpbGVzeXN0ZW0vcmVxdWVzdC1tZXRhZGF0YS5odG1sIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvZmlsZXN5c3RlbS9yZXF1ZXN0LW1ldGFk
YXRhLmh0bWwKaW5kZXggM2U3NDA3ODFiNjI1YTJhZGU1OGE3MjdlODg2MTQyZjgwMzA3OThkNi4u
NzhlNGUxNGQwYzc0YjZlMWM2MzJmMjA5Y2JlOTJiZjUwYTk2NmI0NyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvZmlsZXN5c3RlbS9yZXF1ZXN0LW1ldGFkYXRh
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvZmlsZXN5c3RlbS9y
ZXF1ZXN0LW1ldGFkYXRhLmh0bWwKQEAgLTE4LDYgKzE4LDE4IEBAIGZ1bmN0aW9uIHRlc3QoKQog
CiAgICAgICAgIGZ1bmN0aW9uKCkKICAgICAgICAgeworICAgICAgICAgICAgZmlsZVN5c3RlbVJl
cXVlc3RNYW5hZ2VyLnJlcXVlc3RNZXRhZGF0YSgiSW52YWxpZFVSTCIsIHRlc3RTdGVwLnNoaWZ0
KCkpOworICAgICAgICB9LAorCisgICAgICAgIGZ1bmN0aW9uKGVycm9yQ29kZSwgbWV0YWRhdGEp
CisgICAgICAgIHsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZHVtcE1ldGFkYXRhUmVxdWVz
dFJlc3VsdChlcnJvckNvZGUsIG1ldGFkYXRhKTsKKyAgICAgICAgICAgIGZpbGVTeXN0ZW1SZXF1
ZXN0TWFuYWdlci5yZXF1ZXN0TWV0YWRhdGEoImZpbGVzeXN0ZW06aHR0cDovLzEyNy4wLjAuMTo4
MDAwL0ludmFsaWRUeXBlIiwgdGVzdFN0ZXAuc2hpZnQoKSk7CisgICAgICAgIH0sCisKKyAgICAg
ICAgZnVuY3Rpb24oZXJyb3JDb2RlLCBtZXRhZGF0YSkKKyAgICAgICAgeworICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5kdW1wTWV0YWRhdGFSZXF1ZXN0UmVzdWx0KGVycm9yQ29kZSwgbWV0YWRh
dGEpOwogICAgICAgICAgICAgZmlsZVN5c3RlbVJlcXVlc3RNYW5hZ2VyLnJlcXVlc3RNZXRhZGF0
YSgiZmlsZXN5c3RlbTpodHRwOi8vMTI3LjAuMC4xOjgwMDAvdGVtcG9yYXJ5L2hvZ2UiLCB0ZXN0
U3RlcC5zaGlmdCgpKTsKICAgICAgICAgfSwKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>