--- a/src/eric7/Documentation/Source/eric7.Debugger.DebuggerInterfacePython.html Thu Jan 04 17:16:15 2024 +0100 +++ b/src/eric7/Documentation/Source/eric7.Debugger.DebuggerInterfacePython.html Thu Jan 04 18:02:25 2024 +0100 @@ -7,28 +7,25 @@ <body> <a NAME="top" ID="top"></a> <h1>eric7.Debugger.DebuggerInterfacePython</h1> - <p> Module implementing the Python3 debugger interface for the debug server. </p> + <h3>Global Attributes</h3> - <table> <tr><td>ClientDefaultCapabilities</td></tr> </table> + <h3>Classes</h3> - <table> - <tr> <td><a href="#DebuggerInterfacePython">DebuggerInterfacePython</a></td> <td>Class implementing the debugger interface for the debug server for Python 3.</td> </tr> </table> + <h3>Functions</h3> - <table> - <tr> <td><a href="#createDebuggerInterfacePython3">createDebuggerInterfacePython3</a></td> <td>Module function to create a debugger interface instance.</td> @@ -38,31 +35,30 @@ <td>Module function to get characterizing data for the supported debugger interfaces.</td> </tr> </table> + <hr /> <hr /> <a NAME="DebuggerInterfacePython" ID="DebuggerInterfacePython"></a> <h2>DebuggerInterfacePython</h2> - <p> Class implementing the debugger interface for the debug server for Python 3. </p> + <h3>Derived from</h3> QObject <h3>Class Attributes</h3> - <table> <tr><td>None</td></tr> </table> + <h3>Class Methods</h3> - <table> <tr><td>None</td></tr> </table> + <h3>Methods</h3> - <table> - <tr> <td><a href="#DebuggerInterfacePython.__init__">DebuggerInterfacePython</a></td> <td>Constructor</td> @@ -272,19 +268,20 @@ <td>Public method to start a remote Python interpreter for a project.</td> </tr> </table> + <h3>Static Methods</h3> - <table> <tr><td>None</td></tr> </table> + <a NAME="DebuggerInterfacePython.__init__" ID="DebuggerInterfacePython.__init__"></a> <h4>DebuggerInterfacePython (Constructor)</h4> <b>DebuggerInterfacePython</b>(<i>debugServer, passive</i>) - <p> Constructor </p> + <dl> <dt><i>debugServer</i> (DebugServer)</dt> @@ -299,11 +296,11 @@ <a NAME="DebuggerInterfacePython.__assignDebuggerId" ID="DebuggerInterfacePython.__assignDebuggerId"></a> <h4>DebuggerInterfacePython.__assignDebuggerId</h4> <b>__assignDebuggerId</b>(<i>sock, debuggerId</i>) - <p> Private method to set the debugger id for a recent debugger connection attempt. </p> + <dl> <dt><i>sock</i> (QTcpSocket)</dt> @@ -318,10 +315,10 @@ <a NAME="DebuggerInterfacePython.__determineDebugClient" ID="DebuggerInterfacePython.__determineDebugClient"></a> <h4>DebuggerInterfacePython.__determineDebugClient</h4> <b>__determineDebugClient</b>(<i></i>) - <p> Private method to determine the debug client to be started. </p> + <dl> <dt>Return:</dt> <dd> @@ -337,18 +334,18 @@ <a NAME="DebuggerInterfacePython.__flush" ID="DebuggerInterfacePython.__flush"></a> <h4>DebuggerInterfacePython.__flush</h4> <b>__flush</b>(<i></i>) - <p> Private slot to flush the queue. </p> + <a NAME="DebuggerInterfacePython.__handleJsonCommand" ID="DebuggerInterfacePython.__handleJsonCommand"></a> <h4>DebuggerInterfacePython.__handleJsonCommand</h4> <b>__handleJsonCommand</b>(<i>jsonStr, sock</i>) - <p> Private method to handle a command or response serialized as a JSON string. </p> + <dl> <dt><i>jsonStr</i> (str)</dt> @@ -364,10 +361,10 @@ <a NAME="DebuggerInterfacePython.__identityTranslation" ID="DebuggerInterfacePython.__identityTranslation"></a> <h4>DebuggerInterfacePython.__identityTranslation</h4> <b>__identityTranslation</b>(<i>fn, remote2local=True</i>) - <p> Private method to perform the identity path translation. </p> + <dl> <dt><i>fn</i> (str)</dt> @@ -395,10 +392,10 @@ <a NAME="DebuggerInterfacePython.__parseClientLine" ID="DebuggerInterfacePython.__parseClientLine"></a> <h4>DebuggerInterfacePython.__parseClientLine</h4> <b>__parseClientLine</b>(<i>sock</i>) - <p> Private method to handle data from the client. </p> + <dl> <dt><i>sock</i> (QTcpSocket)</dt> @@ -409,10 +406,10 @@ <a NAME="DebuggerInterfacePython.__remoteTranslation" ID="DebuggerInterfacePython.__remoteTranslation"></a> <h4>DebuggerInterfacePython.__remoteTranslation</h4> <b>__remoteTranslation</b>(<i>fn, remote2local=True</i>) - <p> Private method to perform the path translation. </p> + <dl> <dt><i>fn</i> (str)</dt> @@ -440,10 +437,10 @@ <a NAME="DebuggerInterfacePython.__sendJsonCommand" ID="DebuggerInterfacePython.__sendJsonCommand"></a> <h4>DebuggerInterfacePython.__sendJsonCommand</h4> <b>__sendJsonCommand</b>(<i>command, params, debuggerId="", sock=None</i>) - <p> Private method to send a single command to the client. </p> + <dl> <dt><i>command</i> (str)</dt> @@ -467,10 +464,10 @@ <a NAME="DebuggerInterfacePython.__shutdownSocket" ID="DebuggerInterfacePython.__shutdownSocket"></a> <h4>DebuggerInterfacePython.__shutdownSocket</h4> <b>__shutdownSocket</b>(<i>sock</i>) - <p> Private slot to shut down a socket. </p> + <dl> <dt><i>sock</i> (QTcpSocket)</dt> @@ -481,10 +478,10 @@ <a NAME="DebuggerInterfacePython.__socketDisconnected" ID="DebuggerInterfacePython.__socketDisconnected"></a> <h4>DebuggerInterfacePython.__socketDisconnected</h4> <b>__socketDisconnected</b>(<i>sock</i>) - <p> Private slot handling a socket disconnecting. </p> + <dl> <dt><i>sock</i> (QTcpSocket)</dt> @@ -495,10 +492,10 @@ <a NAME="DebuggerInterfacePython.__startProcess" ID="DebuggerInterfacePython.__startProcess"></a> <h4>DebuggerInterfacePython.__startProcess</h4> <b>__startProcess</b>(<i>program, arguments, environment=None, workingDir=None</i>) - <p> Private method to start the debugger client process. </p> + <dl> <dt><i>program</i> (str)</dt> @@ -533,10 +530,10 @@ <a NAME="DebuggerInterfacePython.__writeJsonCommandToSocket" ID="DebuggerInterfacePython.__writeJsonCommandToSocket"></a> <h4>DebuggerInterfacePython.__writeJsonCommandToSocket</h4> <b>__writeJsonCommandToSocket</b>(<i>cmd, sock</i>) - <p> Private method to write a JSON command to the socket. </p> + <dl> <dt><i>cmd</i> (str)</dt> @@ -551,10 +548,10 @@ <a NAME="DebuggerInterfacePython.getClientCapabilities" ID="DebuggerInterfacePython.getClientCapabilities"></a> <h4>DebuggerInterfacePython.getClientCapabilities</h4> <b>getClientCapabilities</b>(<i></i>) - <p> Public method to retrieve the debug clients capabilities. </p> + <dl> <dt>Return:</dt> <dd> @@ -570,10 +567,10 @@ <a NAME="DebuggerInterfacePython.getDebuggerIds" ID="DebuggerInterfacePython.getDebuggerIds"></a> <h4>DebuggerInterfacePython.getDebuggerIds</h4> <b>getDebuggerIds</b>(<i></i>) - <p> Public method to return the IDs of the connected debugger backends. </p> + <dl> <dt>Return:</dt> <dd> @@ -589,10 +586,10 @@ <a NAME="DebuggerInterfacePython.isConnected" ID="DebuggerInterfacePython.isConnected"></a> <h4>DebuggerInterfacePython.isConnected</h4> <b>isConnected</b>(<i></i>) - <p> Public method to test, if a debug client has connected. </p> + <dl> <dt>Return:</dt> <dd> @@ -608,10 +605,10 @@ <a NAME="DebuggerInterfacePython.newConnection" ID="DebuggerInterfacePython.newConnection"></a> <h4>DebuggerInterfacePython.newConnection</h4> <b>newConnection</b>(<i>sock</i>) - <p> Public slot to handle a new connection. </p> + <dl> <dt><i>sock</i> (QTcpSocket)</dt> @@ -634,17 +631,17 @@ <a NAME="DebuggerInterfacePython.remoteBanner" ID="DebuggerInterfacePython.remoteBanner"></a> <h4>DebuggerInterfacePython.remoteBanner</h4> <b>remoteBanner</b>(<i></i>) - <p> Public slot to get the banner info of the remote client. </p> + <a NAME="DebuggerInterfacePython.remoteBreakpoint" ID="DebuggerInterfacePython.remoteBreakpoint"></a> <h4>DebuggerInterfacePython.remoteBreakpoint</h4> <b>remoteBreakpoint</b>(<i>debuggerId, fn, line, setBreakpoint, cond=None, temp=False</i>) - <p> Public method to set or clear a breakpoint. </p> + <dl> <dt><i>debuggerId</i> (str)</dt> @@ -675,10 +672,10 @@ <a NAME="DebuggerInterfacePython.remoteBreakpointEnable" ID="DebuggerInterfacePython.remoteBreakpointEnable"></a> <h4>DebuggerInterfacePython.remoteBreakpointEnable</h4> <b>remoteBreakpointEnable</b>(<i>debuggerId, fn, line, enable</i>) - <p> Public method to enable or disable a breakpoint. </p> + <dl> <dt><i>debuggerId</i> (str)</dt> @@ -701,10 +698,10 @@ <a NAME="DebuggerInterfacePython.remoteBreakpointIgnore" ID="DebuggerInterfacePython.remoteBreakpointIgnore"></a> <h4>DebuggerInterfacePython.remoteBreakpointIgnore</h4> <b>remoteBreakpointIgnore</b>(<i>debuggerId, fn, line, count</i>) - <p> Public method to ignore a breakpoint the next couple of occurrences. </p> + <dl> <dt><i>debuggerId</i> (str)</dt> @@ -727,10 +724,10 @@ <a NAME="DebuggerInterfacePython.remoteCapabilities" ID="DebuggerInterfacePython.remoteCapabilities"></a> <h4>DebuggerInterfacePython.remoteCapabilities</h4> <b>remoteCapabilities</b>(<i>debuggerId</i>) - <p> Public slot to get the debug clients capabilities. </p> + <dl> <dt><i>debuggerId</i> (str)</dt> @@ -741,10 +738,10 @@ <a NAME="DebuggerInterfacePython.remoteClientDisassembly" ID="DebuggerInterfacePython.remoteClientDisassembly"></a> <h4>DebuggerInterfacePython.remoteClientDisassembly</h4> <b>remoteClientDisassembly</b>(<i>debuggerId</i>) - <p> Public method to ask the client for the latest traceback disassembly. </p> + <dl> <dt><i>debuggerId</i> (str)</dt> @@ -755,10 +752,10 @@ <a NAME="DebuggerInterfacePython.remoteClientSetFilter" ID="DebuggerInterfacePython.remoteClientSetFilter"></a> <h4>DebuggerInterfacePython.remoteClientSetFilter</h4> <b>remoteClientSetFilter</b>(<i>debuggerId, scope, filterStr</i>) - <p> Public method to set a variables filter list. </p> + <dl> <dt><i>debuggerId</i> (str)</dt> @@ -777,10 +774,10 @@ <a NAME="DebuggerInterfacePython.remoteClientStack" ID="DebuggerInterfacePython.remoteClientStack"></a> <h4>DebuggerInterfacePython.remoteClientStack</h4> <b>remoteClientStack</b>(<i>debuggerId</i>) - <p> Public method to request the stack of the main thread. </p> + <dl> <dt><i>debuggerId</i> (str)</dt> @@ -791,10 +788,10 @@ <a NAME="DebuggerInterfacePython.remoteClientVariable" ID="DebuggerInterfacePython.remoteClientVariable"></a> <h4>DebuggerInterfacePython.remoteClientVariable</h4> <b>remoteClientVariable</b>(<i>debuggerId, scope, filterList, var, framenr=0, maxSize=0</i>) - <p> Public method to request the variables of the debugged program. </p> + <dl> <dt><i>debuggerId</i> (str)</dt> @@ -827,10 +824,10 @@ <a NAME="DebuggerInterfacePython.remoteClientVariables" ID="DebuggerInterfacePython.remoteClientVariables"></a> <h4>DebuggerInterfacePython.remoteClientVariables</h4> <b>remoteClientVariables</b>(<i>debuggerId, scope, filterList, framenr=0, maxSize=0</i>) - <p> Public method to request the variables of the debugged program. </p> + <dl> <dt><i>debuggerId</i> (str)</dt> @@ -859,11 +856,11 @@ <a NAME="DebuggerInterfacePython.remoteCompletion" ID="DebuggerInterfacePython.remoteCompletion"></a> <h4>DebuggerInterfacePython.remoteCompletion</h4> <b>remoteCompletion</b>(<i>debuggerId, text</i>) - <p> Public slot to get the a list of possible commandline completions from the remote client. </p> + <dl> <dt><i>debuggerId</i> (str)</dt> @@ -878,10 +875,10 @@ <a NAME="DebuggerInterfacePython.remoteContinue" ID="DebuggerInterfacePython.remoteContinue"></a> <h4>DebuggerInterfacePython.remoteContinue</h4> <b>remoteContinue</b>(<i>debuggerId, special=False</i>) - <p> Public method to continue the debugged program. </p> + <dl> <dt><i>debuggerId</i> (str)</dt> @@ -896,11 +893,11 @@ <a NAME="DebuggerInterfacePython.remoteContinueUntil" ID="DebuggerInterfacePython.remoteContinueUntil"></a> <h4>DebuggerInterfacePython.remoteContinueUntil</h4> <b>remoteContinueUntil</b>(<i>debuggerId, line</i>) - <p> Public method to continue the debugged program to the given line or until returning from the current frame. </p> + <dl> <dt><i>debuggerId</i> (str)</dt> @@ -915,10 +912,10 @@ <a NAME="DebuggerInterfacePython.remoteCoverage" ID="DebuggerInterfacePython.remoteCoverage"></a> <h4>DebuggerInterfacePython.remoteCoverage</h4> <b>remoteCoverage</b>(<i>fn, argv, wd, erase=False</i>) - <p> Public method to load a new program to collect coverage data. </p> + <dl> <dt><i>fn</i> (str)</dt> @@ -942,10 +939,10 @@ <a NAME="DebuggerInterfacePython.remoteEnvironment" ID="DebuggerInterfacePython.remoteEnvironment"></a> <h4>DebuggerInterfacePython.remoteEnvironment</h4> <b>remoteEnvironment</b>(<i>env</i>) - <p> Public method to set the environment for a program to debug, run, ... </p> + <dl> <dt><i>env</i> (dict)</dt> @@ -956,10 +953,10 @@ <a NAME="DebuggerInterfacePython.remoteLoad" ID="DebuggerInterfacePython.remoteLoad"></a> <h4>DebuggerInterfacePython.remoteLoad</h4> <b>remoteLoad</b>(<i>fn, argv, wd, traceInterpreter=False, autoContinue=True, enableMultiprocess=False, reportAllExceptions=False, </i>) - <p> Public method to load a new program to debug. </p> + <dl> <dt><i>fn</i> (str)</dt> @@ -998,10 +995,10 @@ <a NAME="DebuggerInterfacePython.remoteMoveIP" ID="DebuggerInterfacePython.remoteMoveIP"></a> <h4>DebuggerInterfacePython.remoteMoveIP</h4> <b>remoteMoveIP</b>(<i>debuggerId, line</i>) - <p> Public method to move the instruction pointer to a different line. </p> + <dl> <dt><i>debuggerId</i> (str)</dt> @@ -1016,7 +1013,6 @@ <a NAME="DebuggerInterfacePython.remoteNoDebugList" ID="DebuggerInterfacePython.remoteNoDebugList"></a> <h4>DebuggerInterfacePython.remoteNoDebugList</h4> <b>remoteNoDebugList</b>(<i>debuggerId, noDebugList</i>) - <p> Public method to set a list of programs not to be debugged. </p> @@ -1024,6 +1020,7 @@ The programs given in the list will not be run under the control of the multi process debugger. </p> + <dl> <dt><i>debuggerId</i> (str)</dt> @@ -1038,10 +1035,10 @@ <a NAME="DebuggerInterfacePython.remoteProfile" ID="DebuggerInterfacePython.remoteProfile"></a> <h4>DebuggerInterfacePython.remoteProfile</h4> <b>remoteProfile</b>(<i>fn, argv, wd, erase=False</i>) - <p> Public method to load a new program to collect profiling data. </p> + <dl> <dt><i>fn</i> (str)</dt> @@ -1065,10 +1062,10 @@ <a NAME="DebuggerInterfacePython.remoteRawInput" ID="DebuggerInterfacePython.remoteRawInput"></a> <h4>DebuggerInterfacePython.remoteRawInput</h4> <b>remoteRawInput</b>(<i>debuggerId, inputString</i>) - <p> Public method to send the raw input to the debugged program. </p> + <dl> <dt><i>debuggerId</i> (str)</dt> @@ -1083,10 +1080,10 @@ <a NAME="DebuggerInterfacePython.remoteRun" ID="DebuggerInterfacePython.remoteRun"></a> <h4>DebuggerInterfacePython.remoteRun</h4> <b>remoteRun</b>(<i>fn, argv, wd</i>) - <p> Public method to load a new program to run. </p> + <dl> <dt><i>fn</i> (str)</dt> @@ -1105,10 +1102,10 @@ <a NAME="DebuggerInterfacePython.remoteSetThread" ID="DebuggerInterfacePython.remoteSetThread"></a> <h4>DebuggerInterfacePython.remoteSetThread</h4> <b>remoteSetThread</b>(<i>debuggerId, tid</i>) - <p> Public method to request to set the given thread as current thread. </p> + <dl> <dt><i>debuggerId</i> (str)</dt> @@ -1123,10 +1120,10 @@ <a NAME="DebuggerInterfacePython.remoteStatement" ID="DebuggerInterfacePython.remoteStatement"></a> <h4>DebuggerInterfacePython.remoteStatement</h4> <b>remoteStatement</b>(<i>debuggerId, stmt</i>) - <p> Public method to execute a Python statement. </p> + <dl> <dt><i>debuggerId</i> (str)</dt> @@ -1141,10 +1138,10 @@ <a NAME="DebuggerInterfacePython.remoteStep" ID="DebuggerInterfacePython.remoteStep"></a> <h4>DebuggerInterfacePython.remoteStep</h4> <b>remoteStep</b>(<i>debuggerId</i>) - <p> Public method to single step the debugged program. </p> + <dl> <dt><i>debuggerId</i> (str)</dt> @@ -1155,10 +1152,10 @@ <a NAME="DebuggerInterfacePython.remoteStepOut" ID="DebuggerInterfacePython.remoteStepOut"></a> <h4>DebuggerInterfacePython.remoteStepOut</h4> <b>remoteStepOut</b>(<i>debuggerId</i>) - <p> Public method to step out the debugged program. </p> + <dl> <dt><i>debuggerId</i> (str)</dt> @@ -1169,10 +1166,10 @@ <a NAME="DebuggerInterfacePython.remoteStepOver" ID="DebuggerInterfacePython.remoteStepOver"></a> <h4>DebuggerInterfacePython.remoteStepOver</h4> <b>remoteStepOver</b>(<i>debuggerId</i>) - <p> Public method to step over the debugged program. </p> + <dl> <dt><i>debuggerId</i> (str)</dt> @@ -1183,10 +1180,10 @@ <a NAME="DebuggerInterfacePython.remoteStepQuit" ID="DebuggerInterfacePython.remoteStepQuit"></a> <h4>DebuggerInterfacePython.remoteStepQuit</h4> <b>remoteStepQuit</b>(<i>debuggerId</i>) - <p> Public method to stop the debugged program. </p> + <dl> <dt><i>debuggerId</i> (str)</dt> @@ -1197,10 +1194,10 @@ <a NAME="DebuggerInterfacePython.remoteThreadList" ID="DebuggerInterfacePython.remoteThreadList"></a> <h4>DebuggerInterfacePython.remoteThreadList</h4> <b>remoteThreadList</b>(<i>debuggerId</i>) - <p> Public method to request the list of threads from the client. </p> + <dl> <dt><i>debuggerId</i> (str)</dt> @@ -1211,10 +1208,10 @@ <a NAME="DebuggerInterfacePython.remoteWatchpoint" ID="DebuggerInterfacePython.remoteWatchpoint"></a> <h4>DebuggerInterfacePython.remoteWatchpoint</h4> <b>remoteWatchpoint</b>(<i>debuggerId, cond, setWatch, temp=False</i>) - <p> Public method to set or clear a watch expression. </p> + <dl> <dt><i>debuggerId</i> (str)</dt> @@ -1237,10 +1234,10 @@ <a NAME="DebuggerInterfacePython.remoteWatchpointEnable" ID="DebuggerInterfacePython.remoteWatchpointEnable"></a> <h4>DebuggerInterfacePython.remoteWatchpointEnable</h4> <b>remoteWatchpointEnable</b>(<i>debuggerId, cond, enable</i>) - <p> Public method to enable or disable a watch expression. </p> + <dl> <dt><i>debuggerId</i> (str)</dt> @@ -1259,11 +1256,11 @@ <a NAME="DebuggerInterfacePython.remoteWatchpointIgnore" ID="DebuggerInterfacePython.remoteWatchpointIgnore"></a> <h4>DebuggerInterfacePython.remoteWatchpointIgnore</h4> <b>remoteWatchpointIgnore</b>(<i>debuggerId, cond, count</i>) - <p> Public method to ignore a watch expression the next couple of occurrences. </p> + <dl> <dt><i>debuggerId</i> (str)</dt> @@ -1282,10 +1279,10 @@ <a NAME="DebuggerInterfacePython.setCallTraceEnabled" ID="DebuggerInterfacePython.setCallTraceEnabled"></a> <h4>DebuggerInterfacePython.setCallTraceEnabled</h4> <b>setCallTraceEnabled</b>(<i>debuggerId, on</i>) - <p> Public method to set the call trace state. </p> + <dl> <dt><i>debuggerId</i> (str)</dt> @@ -1300,7 +1297,6 @@ <a NAME="DebuggerInterfacePython.shutdown" ID="DebuggerInterfacePython.shutdown"></a> <h4>DebuggerInterfacePython.shutdown</h4> <b>shutdown</b>(<i></i>) - <p> Public method to cleanly shut down. </p> @@ -1308,13 +1304,14 @@ It closes our sockets and shuts down the debug clients. (Needed on Win OS) </p> + <a NAME="DebuggerInterfacePython.startRemote" ID="DebuggerInterfacePython.startRemote"></a> <h4>DebuggerInterfacePython.startRemote</h4> <b>startRemote</b>(<i>port, runInConsole, venvName, originalPathString, workingDir=None, configOverride=None, </i>) - <p> Public method to start a remote Python interpreter. </p> + <dl> <dt><i>port</i> (int)</dt> @@ -1360,10 +1357,10 @@ <a NAME="DebuggerInterfacePython.startRemoteForProject" ID="DebuggerInterfacePython.startRemoteForProject"></a> <h4>DebuggerInterfacePython.startRemoteForProject</h4> <b>startRemoteForProject</b>(<i>port, runInConsole, venvName, originalPathString, workingDir=None, configOverride=None, </i>) - <p> Public method to start a remote Python interpreter for a project. </p> + <dl> <dt><i>port</i> (int)</dt> @@ -1412,13 +1409,13 @@ <a NAME="createDebuggerInterfacePython3" ID="createDebuggerInterfacePython3"></a> <h2>createDebuggerInterfacePython3</h2> <b>createDebuggerInterfacePython3</b>(<i>debugServer, passive</i>) - <p> Module function to create a debugger interface instance. </p> <p> </p> + <dl> <dt><i>debugServer</i> (DebugServer)</dt> @@ -1448,11 +1445,11 @@ <a NAME="getRegistryData" ID="getRegistryData"></a> <h2>getRegistryData</h2> <b>getRegistryData</b>(<i></i>) - <p> Module function to get characterizing data for the supported debugger interfaces. </p> + <dl> <dt>Return:</dt> <dd> @@ -1469,4 +1466,4 @@ </dl> <div align="right"><a href="#top">Up</a></div> <hr /> -</body></html> \ No newline at end of file +</body></html>