summaryrefslogtreecommitdiffhomepage
path: root/documentation/jsapi
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/jsapi')
-rw-r--r--documentation/jsapi/LuCI.Class.html2322
-rw-r--r--documentation/jsapi/LuCI.Headers.html1495
-rw-r--r--documentation/jsapi/LuCI.Network.Device.html3440
-rw-r--r--documentation/jsapi/LuCI.Network.Hosts.html2421
-rw-r--r--documentation/jsapi/LuCI.Network.Protocol.html5394
-rw-r--r--documentation/jsapi/LuCI.Network.WifiDevice.html2787
-rw-r--r--documentation/jsapi/LuCI.Network.WifiNetwork.html4908
-rw-r--r--documentation/jsapi/LuCI.Network.html7032
-rw-r--r--documentation/jsapi/LuCI.Poll.html1878
-rw-r--r--documentation/jsapi/LuCI.Request.html2774
-rw-r--r--documentation/jsapi/LuCI.Request.poll.html1997
-rw-r--r--documentation/jsapi/LuCI.Response.html1855
-rw-r--r--documentation/jsapi/LuCI.XHR.html2047
-rw-r--r--documentation/jsapi/LuCI.dom.html3878
-rw-r--r--documentation/jsapi/LuCI.fs.html2987
-rw-r--r--documentation/jsapi/LuCI.html5023
-rw-r--r--documentation/jsapi/LuCI.rpc.html3225
-rw-r--r--documentation/jsapi/LuCI.uci.html4773
-rw-r--r--documentation/jsapi/LuCI.view.html2083
-rw-r--r--documentation/jsapi/fonts/OpenSans-Bold-webfont.eotbin19544 -> 0 bytes
-rw-r--r--documentation/jsapi/fonts/OpenSans-Bold-webfont.svg1830
-rw-r--r--documentation/jsapi/fonts/OpenSans-Bold-webfont.woffbin22432 -> 0 bytes
-rw-r--r--documentation/jsapi/fonts/OpenSans-BoldItalic-webfont.eotbin20133 -> 0 bytes
-rw-r--r--documentation/jsapi/fonts/OpenSans-BoldItalic-webfont.svg1830
-rw-r--r--documentation/jsapi/fonts/OpenSans-BoldItalic-webfont.woffbin23048 -> 0 bytes
-rw-r--r--documentation/jsapi/fonts/OpenSans-Italic-webfont.eotbin20265 -> 0 bytes
-rw-r--r--documentation/jsapi/fonts/OpenSans-Italic-webfont.svg1830
-rw-r--r--documentation/jsapi/fonts/OpenSans-Italic-webfont.woffbin23188 -> 0 bytes
-rw-r--r--documentation/jsapi/fonts/OpenSans-Light-webfont.eotbin19514 -> 0 bytes
-rw-r--r--documentation/jsapi/fonts/OpenSans-Light-webfont.svg1831
-rw-r--r--documentation/jsapi/fonts/OpenSans-Light-webfont.woffbin22248 -> 0 bytes
-rw-r--r--documentation/jsapi/fonts/OpenSans-LightItalic-webfont.eotbin20535 -> 0 bytes
-rw-r--r--documentation/jsapi/fonts/OpenSans-LightItalic-webfont.svg1835
-rw-r--r--documentation/jsapi/fonts/OpenSans-LightItalic-webfont.woffbin23400 -> 0 bytes
-rw-r--r--documentation/jsapi/fonts/OpenSans-Regular-webfont.eotbin19836 -> 0 bytes
-rw-r--r--documentation/jsapi/fonts/OpenSans-Regular-webfont.svg1831
-rw-r--r--documentation/jsapi/fonts/OpenSans-Regular-webfont.woffbin22660 -> 0 bytes
-rw-r--r--documentation/jsapi/fs.js.html350
-rw-r--r--documentation/jsapi/index.html1131
-rw-r--r--documentation/jsapi/luci.js.html3125
-rw-r--r--documentation/jsapi/network.js.html4038
-rw-r--r--documentation/jsapi/rpc.js.html528
-rw-r--r--documentation/jsapi/scripts/linenumber.js25
-rw-r--r--documentation/jsapi/scripts/prettify/Apache-License-2.0.txt202
-rw-r--r--documentation/jsapi/scripts/prettify/lang-css.js2
-rw-r--r--documentation/jsapi/scripts/prettify/prettify.js28
-rw-r--r--documentation/jsapi/styles/jsdoc-default.css358
-rw-r--r--documentation/jsapi/styles/prettify-jsdoc.css111
-rw-r--r--documentation/jsapi/styles/prettify-tomorrow.css132
-rw-r--r--documentation/jsapi/uci.js.html994
50 files changed, 0 insertions, 84330 deletions
diff --git a/documentation/jsapi/LuCI.Class.html b/documentation/jsapi/LuCI.Class.html
deleted file mode 100644
index 28916f113e..0000000000
--- a/documentation/jsapi/LuCI.Class.html
+++ /dev/null
@@ -1,2322 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <meta charset="utf-8">
- <title>Class: Class</title>
-
-
- <script src="scripts/prettify/prettify.js"></script>
- <script src="scripts/prettify/lang-css.js"></script>
- <script src="scripts/jquery.min.js"></script>
- <!--[if lt IE 9]>
- <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
- <![endif]-->
- <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
- <link type="text/css" rel="stylesheet" href="styles/bootstrap.min.css">
- <link type="text/css" rel="stylesheet" href="styles/jaguar.css">
-
-
- <script>
- var config = {"monospaceLinks":true,"cleverLinks":true,"default":{}};
- </script>
-
-
-
-</head>
-<body>
-<div id="wrap" class="clearfix">
-
-<div class="navigation">
- <h3 class="applicationName"><a href="index.html"></a></h3>
-
- <div class="search">
- <input id="search" type="text" class="form-control input-sm" placeholder="Search Documentations">
- </div>
- <ul class="list">
-
- <li class="item" data-name="LuCI">
- <span class="title">
- <a href="LuCI.html">LuCI</a>
-
- </span>
- <ul class="members itemMembers">
-
- <span class="subtitle">Members</span>
-
- <li data-name="LuCI#env"><a href="LuCI.html#env">env</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.requestCallbackFn"><a href="LuCI.html#.requestCallbackFn">requestCallbackFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI#bind"><a href="LuCI.html#bind">bind</a></li>
-
- <li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
-
- <li data-name="LuCI#get"><a href="LuCI.html#get">get</a></li>
-
- <li data-name="LuCI#halt"><a href="LuCI.html#halt">halt</a></li>
-
- <li data-name="LuCI#hasSystemFeature"><a href="LuCI.html#hasSystemFeature">hasSystemFeature</a></li>
-
- <li data-name="LuCI#isObject"><a href="LuCI.html#isObject">isObject</a></li>
-
- <li data-name="LuCI#location"><a href="LuCI.html#location">location</a></li>
-
- <li data-name="LuCI#path"><a href="LuCI.html#path">path</a></li>
-
- <li data-name="LuCI#poll"><a href="LuCI.html#poll">poll</a></li>
-
- <li data-name="LuCI#post"><a href="LuCI.html#post">post</a></li>
-
- <li data-name="LuCI#raise"><a href="LuCI.html#raise">raise</a></li>
-
- <li data-name="LuCI#require"><a href="LuCI.html#require">require</a></li>
-
- <li data-name="LuCI#resolveDefault"><a href="LuCI.html#resolveDefault">resolveDefault</a></li>
-
- <li data-name="LuCI#resource"><a href="LuCI.html#resource">resource</a></li>
-
- <li data-name="LuCI#run"><a href="LuCI.html#run">run</a></li>
-
- <li data-name="LuCI#sortedKeys"><a href="LuCI.html#sortedKeys">sortedKeys</a></li>
-
- <li data-name="LuCI#stop"><a href="LuCI.html#stop">stop</a></li>
-
- <li data-name="LuCI#toArray"><a href="LuCI.html#toArray">toArray</a></li>
-
- <li data-name="LuCI#url"><a href="LuCI.html#url">url</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Class">
- <span class="title">
- <a href="LuCI.Class.html">LuCI.Class</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Class.extend"><a href="LuCI.Class.html#.extend">extend</a></li>
-
- <li data-name="LuCI.Class.instantiate"><a href="LuCI.Class.html#.instantiate">instantiate</a></li>
-
- <li data-name="LuCI.Class.isSubclass"><a href="LuCI.Class.html#.isSubclass">isSubclass</a></li>
-
- <li data-name="LuCI.Class.singleton"><a href="LuCI.Class.html#.singleton">singleton</a></li>
-
- <li data-name="LuCI.Class#super"><a href="LuCI.Class.html#super">super</a></li>
-
- <li data-name="LuCI.Class#varargs"><a href="LuCI.Class.html#varargs">varargs</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.dom">
- <span class="title">
- <a href="LuCI.dom.html">LuCI.dom</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.dom~ignoreCallbackFn"><a href="LuCI.dom.html#~ignoreCallbackFn">ignoreCallbackFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.dom#append"><a href="LuCI.dom.html#append">append</a></li>
-
- <li data-name="LuCI.dom#attr"><a href="LuCI.dom.html#attr">attr</a></li>
-
- <li data-name="LuCI.dom#bindClassInstance"><a href="LuCI.dom.html#bindClassInstance">bindClassInstance</a></li>
-
- <li data-name="LuCI.dom#callClassMethod"><a href="LuCI.dom.html#callClassMethod">callClassMethod</a></li>
-
- <li data-name="LuCI.dom#content"><a href="LuCI.dom.html#content">content</a></li>
-
- <li data-name="LuCI.dom#create"><a href="LuCI.dom.html#create">create</a></li>
-
- <li data-name="LuCI.dom#data"><a href="LuCI.dom.html#data">data</a></li>
-
- <li data-name="LuCI.dom#elem"><a href="LuCI.dom.html#elem">elem</a></li>
-
- <li data-name="LuCI.dom#findClassInstance"><a href="LuCI.dom.html#findClassInstance">findClassInstance</a></li>
-
- <li data-name="LuCI.dom#isEmpty"><a href="LuCI.dom.html#isEmpty">isEmpty</a></li>
-
- <li data-name="LuCI.dom#matches"><a href="LuCI.dom.html#matches">matches</a></li>
-
- <li data-name="LuCI.dom#parent"><a href="LuCI.dom.html#parent">parent</a></li>
-
- <li data-name="LuCI.dom#parse"><a href="LuCI.dom.html#parse">parse</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.fs">
- <span class="title">
- <a href="LuCI.fs.html">LuCI.fs</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.fs.FileExecResult"><a href="LuCI.fs.html#.FileExecResult">FileExecResult</a></li>
-
- <li data-name="LuCI.fs.FileStatEntry"><a href="LuCI.fs.html#.FileStatEntry">FileStatEntry</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.fs#exec"><a href="LuCI.fs.html#exec">exec</a></li>
-
- <li data-name="LuCI.fs#lines"><a href="LuCI.fs.html#lines">lines</a></li>
-
- <li data-name="LuCI.fs#list"><a href="LuCI.fs.html#list">list</a></li>
-
- <li data-name="LuCI.fs#read"><a href="LuCI.fs.html#read">read</a></li>
-
- <li data-name="LuCI.fs#remove"><a href="LuCI.fs.html#remove">remove</a></li>
-
- <li data-name="LuCI.fs#stat"><a href="LuCI.fs.html#stat">stat</a></li>
-
- <li data-name="LuCI.fs#trimmed"><a href="LuCI.fs.html#trimmed">trimmed</a></li>
-
- <li data-name="LuCI.fs#write"><a href="LuCI.fs.html#write">write</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Headers">
- <span class="title">
- <a href="LuCI.Headers.html">LuCI.Headers</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Headers#get"><a href="LuCI.Headers.html#get">get</a></li>
-
- <li data-name="LuCI.Headers#has"><a href="LuCI.Headers.html#has">has</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network">
- <span class="title">
- <a href="LuCI.Network.html">LuCI.Network</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.Network.SwitchTopology"><a href="LuCI.Network.html#.SwitchTopology">SwitchTopology</a></li>
-
- <li data-name="LuCI.Network.WifiEncryption"><a href="LuCI.Network.html#.WifiEncryption">WifiEncryption</a></li>
-
- <li data-name="LuCI.Network.WifiPeerEntry"><a href="LuCI.Network.html#.WifiPeerEntry">WifiPeerEntry</a></li>
-
- <li data-name="LuCI.Network.WifiRateEntry"><a href="LuCI.Network.html#.WifiRateEntry">WifiRateEntry</a></li>
-
- <li data-name="LuCI.Network.WifiScanResult"><a href="LuCI.Network.html#.WifiScanResult">WifiScanResult</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network#addNetwork"><a href="LuCI.Network.html#addNetwork">addNetwork</a></li>
-
- <li data-name="LuCI.Network#addWifiNetwork"><a href="LuCI.Network.html#addWifiNetwork">addWifiNetwork</a></li>
-
- <li data-name="LuCI.Network#deleteNetwork"><a href="LuCI.Network.html#deleteNetwork">deleteNetwork</a></li>
-
- <li data-name="LuCI.Network#deleteWifiNetwork"><a href="LuCI.Network.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
-
- <li data-name="LuCI.Network#flushCache"><a href="LuCI.Network.html#flushCache">flushCache</a></li>
-
- <li data-name="LuCI.Network#formatWifiEncryption"><a href="LuCI.Network.html#formatWifiEncryption">formatWifiEncryption</a></li>
-
- <li data-name="LuCI.Network#getDevice"><a href="LuCI.Network.html#getDevice">getDevice</a></li>
-
- <li data-name="LuCI.Network#getDevices"><a href="LuCI.Network.html#getDevices">getDevices</a></li>
-
- <li data-name="LuCI.Network#getDSLModemType"><a href="LuCI.Network.html#getDSLModemType">getDSLModemType</a></li>
-
- <li data-name="LuCI.Network#getHostHints"><a href="LuCI.Network.html#getHostHints">getHostHints</a></li>
-
- <li data-name="LuCI.Network#getIfnameOf"><a href="LuCI.Network.html#getIfnameOf">getIfnameOf</a></li>
-
- <li data-name="LuCI.Network#getNetwork"><a href="LuCI.Network.html#getNetwork">getNetwork</a></li>
-
- <li data-name="LuCI.Network#getNetworks"><a href="LuCI.Network.html#getNetworks">getNetworks</a></li>
-
- <li data-name="LuCI.Network#getProtocol"><a href="LuCI.Network.html#getProtocol">getProtocol</a></li>
-
- <li data-name="LuCI.Network#getProtocols"><a href="LuCI.Network.html#getProtocols">getProtocols</a></li>
-
- <li data-name="LuCI.Network#getSwitchTopologies"><a href="LuCI.Network.html#getSwitchTopologies">getSwitchTopologies</a></li>
-
- <li data-name="LuCI.Network#getWAN6Networks"><a href="LuCI.Network.html#getWAN6Networks">getWAN6Networks</a></li>
-
- <li data-name="LuCI.Network#getWANNetworks"><a href="LuCI.Network.html#getWANNetworks">getWANNetworks</a></li>
-
- <li data-name="LuCI.Network#getWifiDevice"><a href="LuCI.Network.html#getWifiDevice">getWifiDevice</a></li>
-
- <li data-name="LuCI.Network#getWifiDevices"><a href="LuCI.Network.html#getWifiDevices">getWifiDevices</a></li>
-
- <li data-name="LuCI.Network#getWifiNetwork"><a href="LuCI.Network.html#getWifiNetwork">getWifiNetwork</a></li>
-
- <li data-name="LuCI.Network#isIgnoredDevice"><a href="LuCI.Network.html#isIgnoredDevice">isIgnoredDevice</a></li>
-
- <li data-name="LuCI.Network#maskToPrefix"><a href="LuCI.Network.html#maskToPrefix">maskToPrefix</a></li>
-
- <li data-name="LuCI.Network#prefixToMask"><a href="LuCI.Network.html#prefixToMask">prefixToMask</a></li>
-
- <li data-name="LuCI.Network#registerErrorCode"><a href="LuCI.Network.html#registerErrorCode">registerErrorCode</a></li>
-
- <li data-name="LuCI.Network#registerPatternVirtual"><a href="LuCI.Network.html#registerPatternVirtual">registerPatternVirtual</a></li>
-
- <li data-name="LuCI.Network#registerProtocol"><a href="LuCI.Network.html#registerProtocol">registerProtocol</a></li>
-
- <li data-name="LuCI.Network#renameNetwork"><a href="LuCI.Network.html#renameNetwork">renameNetwork</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.Device">
- <span class="title">
- <a href="LuCI.Network.Device.html">LuCI.Network.Device</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.Device#getBridgeID"><a href="LuCI.Network.Device.html#getBridgeID">getBridgeID</a></li>
-
- <li data-name="LuCI.Network.Device#getBridgeSTP"><a href="LuCI.Network.Device.html#getBridgeSTP">getBridgeSTP</a></li>
-
- <li data-name="LuCI.Network.Device#getI18n"><a href="LuCI.Network.Device.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.Device#getIP6Addrs"><a href="LuCI.Network.Device.html#getIP6Addrs">getIP6Addrs</a></li>
-
- <li data-name="LuCI.Network.Device#getIPAddrs"><a href="LuCI.Network.Device.html#getIPAddrs">getIPAddrs</a></li>
-
- <li data-name="LuCI.Network.Device#getMAC"><a href="LuCI.Network.Device.html#getMAC">getMAC</a></li>
-
- <li data-name="LuCI.Network.Device#getMTU"><a href="LuCI.Network.Device.html#getMTU">getMTU</a></li>
-
- <li data-name="LuCI.Network.Device#getName"><a href="LuCI.Network.Device.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.Device#getNetwork"><a href="LuCI.Network.Device.html#getNetwork">getNetwork</a></li>
-
- <li data-name="LuCI.Network.Device#getNetworks"><a href="LuCI.Network.Device.html#getNetworks">getNetworks</a></li>
-
- <li data-name="LuCI.Network.Device#getPorts"><a href="LuCI.Network.Device.html#getPorts">getPorts</a></li>
-
- <li data-name="LuCI.Network.Device#getRXBytes"><a href="LuCI.Network.Device.html#getRXBytes">getRXBytes</a></li>
-
- <li data-name="LuCI.Network.Device#getRXPackets"><a href="LuCI.Network.Device.html#getRXPackets">getRXPackets</a></li>
-
- <li data-name="LuCI.Network.Device#getShortName"><a href="LuCI.Network.Device.html#getShortName">getShortName</a></li>
-
- <li data-name="LuCI.Network.Device#getTXBytes"><a href="LuCI.Network.Device.html#getTXBytes">getTXBytes</a></li>
-
- <li data-name="LuCI.Network.Device#getTXPackets"><a href="LuCI.Network.Device.html#getTXPackets">getTXPackets</a></li>
-
- <li data-name="LuCI.Network.Device#getType"><a href="LuCI.Network.Device.html#getType">getType</a></li>
-
- <li data-name="LuCI.Network.Device#getTypeI18n"><a href="LuCI.Network.Device.html#getTypeI18n">getTypeI18n</a></li>
-
- <li data-name="LuCI.Network.Device#getWifiNetwork"><a href="LuCI.Network.Device.html#getWifiNetwork">getWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.Device#isBridge"><a href="LuCI.Network.Device.html#isBridge">isBridge</a></li>
-
- <li data-name="LuCI.Network.Device#isBridgePort"><a href="LuCI.Network.Device.html#isBridgePort">isBridgePort</a></li>
-
- <li data-name="LuCI.Network.Device#isUp"><a href="LuCI.Network.Device.html#isUp">isUp</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.Hosts">
- <span class="title">
- <a href="LuCI.Network.Hosts.html">LuCI.Network.Hosts</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.Hosts#getHostnameByIP6Addr"><a href="LuCI.Network.Hosts.html#getHostnameByIP6Addr">getHostnameByIP6Addr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getHostnameByIPAddr"><a href="LuCI.Network.Hosts.html#getHostnameByIPAddr">getHostnameByIPAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getHostnameByMACAddr"><a href="LuCI.Network.Hosts.html#getHostnameByMACAddr">getHostnameByMACAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getIP6AddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIP6AddrByMACAddr">getIP6AddrByMACAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getIPAddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIPAddrByMACAddr">getIPAddrByMACAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getMACAddrByIP6Addr"><a href="LuCI.Network.Hosts.html#getMACAddrByIP6Addr">getMACAddrByIP6Addr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getMACAddrByIPAddr"><a href="LuCI.Network.Hosts.html#getMACAddrByIPAddr">getMACAddrByIPAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getMACHints"><a href="LuCI.Network.Hosts.html#getMACHints">getMACHints</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.Protocol">
- <span class="title">
- <a href="LuCI.Network.Protocol.html">LuCI.Network.Protocol</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.Protocol#addDevice"><a href="LuCI.Network.Protocol.html#addDevice">addDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#containsDevice"><a href="LuCI.Network.Protocol.html#containsDevice">containsDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#deleteDevice"><a href="LuCI.Network.Protocol.html#deleteDevice">deleteDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#get"><a href="LuCI.Network.Protocol.html#get">get</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDevice"><a href="LuCI.Network.Protocol.html#getDevice">getDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDevices"><a href="LuCI.Network.Protocol.html#getDevices">getDevices</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDNS6Addrs"><a href="LuCI.Network.Protocol.html#getDNS6Addrs">getDNS6Addrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDNSAddrs"><a href="LuCI.Network.Protocol.html#getDNSAddrs">getDNSAddrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getErrors"><a href="LuCI.Network.Protocol.html#getErrors">getErrors</a></li>
-
- <li data-name="LuCI.Network.Protocol#getExpiry"><a href="LuCI.Network.Protocol.html#getExpiry">getExpiry</a></li>
-
- <li data-name="LuCI.Network.Protocol#getGateway6Addr"><a href="LuCI.Network.Protocol.html#getGateway6Addr">getGateway6Addr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getGatewayAddr"><a href="LuCI.Network.Protocol.html#getGatewayAddr">getGatewayAddr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getI18n"><a href="LuCI.Network.Protocol.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIfname"><a href="LuCI.Network.Protocol.html#getIfname">getIfname</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIP6Addr"><a href="LuCI.Network.Protocol.html#getIP6Addr">getIP6Addr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIP6Addrs"><a href="LuCI.Network.Protocol.html#getIP6Addrs">getIP6Addrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIP6Prefix"><a href="LuCI.Network.Protocol.html#getIP6Prefix">getIP6Prefix</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIPAddr"><a href="LuCI.Network.Protocol.html#getIPAddr">getIPAddr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIPAddrs"><a href="LuCI.Network.Protocol.html#getIPAddrs">getIPAddrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getL2Device"><a href="LuCI.Network.Protocol.html#getL2Device">getL2Device</a></li>
-
- <li data-name="LuCI.Network.Protocol#getL3Device"><a href="LuCI.Network.Protocol.html#getL3Device">getL3Device</a></li>
-
- <li data-name="LuCI.Network.Protocol#getMetric"><a href="LuCI.Network.Protocol.html#getMetric">getMetric</a></li>
-
- <li data-name="LuCI.Network.Protocol#getName"><a href="LuCI.Network.Protocol.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.Protocol#getNetmask"><a href="LuCI.Network.Protocol.html#getNetmask">getNetmask</a></li>
-
- <li data-name="LuCI.Network.Protocol#getOpkgPackage"><a href="LuCI.Network.Protocol.html#getOpkgPackage">getOpkgPackage</a></li>
-
- <li data-name="LuCI.Network.Protocol#getProtocol"><a href="LuCI.Network.Protocol.html#getProtocol">getProtocol</a></li>
-
- <li data-name="LuCI.Network.Protocol#getType"><a href="LuCI.Network.Protocol.html#getType">getType</a></li>
-
- <li data-name="LuCI.Network.Protocol#getUptime"><a href="LuCI.Network.Protocol.html#getUptime">getUptime</a></li>
-
- <li data-name="LuCI.Network.Protocol#getZoneName"><a href="LuCI.Network.Protocol.html#getZoneName">getZoneName</a></li>
-
- <li data-name="LuCI.Network.Protocol#isAlias"><a href="LuCI.Network.Protocol.html#isAlias">isAlias</a></li>
-
- <li data-name="LuCI.Network.Protocol#isBridge"><a href="LuCI.Network.Protocol.html#isBridge">isBridge</a></li>
-
- <li data-name="LuCI.Network.Protocol#isDynamic"><a href="LuCI.Network.Protocol.html#isDynamic">isDynamic</a></li>
-
- <li data-name="LuCI.Network.Protocol#isEmpty"><a href="LuCI.Network.Protocol.html#isEmpty">isEmpty</a></li>
-
- <li data-name="LuCI.Network.Protocol#isFloating"><a href="LuCI.Network.Protocol.html#isFloating">isFloating</a></li>
-
- <li data-name="LuCI.Network.Protocol#isInstalled"><a href="LuCI.Network.Protocol.html#isInstalled">isInstalled</a></li>
-
- <li data-name="LuCI.Network.Protocol#isUp"><a href="LuCI.Network.Protocol.html#isUp">isUp</a></li>
-
- <li data-name="LuCI.Network.Protocol#isVirtual"><a href="LuCI.Network.Protocol.html#isVirtual">isVirtual</a></li>
-
- <li data-name="LuCI.Network.Protocol#set"><a href="LuCI.Network.Protocol.html#set">set</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.WifiDevice">
- <span class="title">
- <a href="LuCI.Network.WifiDevice.html">LuCI.Network.WifiDevice</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.WifiDevice#addWifiNetwork"><a href="LuCI.Network.WifiDevice.html#addWifiNetwork">addWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#deleteWifiNetwork"><a href="LuCI.Network.WifiDevice.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#get"><a href="LuCI.Network.WifiDevice.html#get">get</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getHTModes"><a href="LuCI.Network.WifiDevice.html#getHTModes">getHTModes</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getHWModes"><a href="LuCI.Network.WifiDevice.html#getHWModes">getHWModes</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getI18n"><a href="LuCI.Network.WifiDevice.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getName"><a href="LuCI.Network.WifiDevice.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getScanList"><a href="LuCI.Network.WifiDevice.html#getScanList">getScanList</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getWifiNetwork"><a href="LuCI.Network.WifiDevice.html#getWifiNetwork">getWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getWifiNetworks"><a href="LuCI.Network.WifiDevice.html#getWifiNetworks">getWifiNetworks</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#isDisabled"><a href="LuCI.Network.WifiDevice.html#isDisabled">isDisabled</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#isUp"><a href="LuCI.Network.WifiDevice.html#isUp">isUp</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#set"><a href="LuCI.Network.WifiDevice.html#set">set</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.WifiNetwork">
- <span class="title">
- <a href="LuCI.Network.WifiNetwork.html">LuCI.Network.WifiNetwork</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.WifiNetwork#get"><a href="LuCI.Network.WifiNetwork.html#get">get</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveBSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveBSSID">getActiveBSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveEncryption"><a href="LuCI.Network.WifiNetwork.html#getActiveEncryption">getActiveEncryption</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveMode"><a href="LuCI.Network.WifiNetwork.html#getActiveMode">getActiveMode</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveModeI18n"><a href="LuCI.Network.WifiNetwork.html#getActiveModeI18n">getActiveModeI18n</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveSSID">getActiveSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getAssocList"><a href="LuCI.Network.WifiNetwork.html#getAssocList">getAssocList</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getBitRate"><a href="LuCI.Network.WifiNetwork.html#getBitRate">getBitRate</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getBSSID"><a href="LuCI.Network.WifiNetwork.html#getBSSID">getBSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getChannel"><a href="LuCI.Network.WifiNetwork.html#getChannel">getChannel</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getCountryCode"><a href="LuCI.Network.WifiNetwork.html#getCountryCode">getCountryCode</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getDevice"><a href="LuCI.Network.WifiNetwork.html#getDevice">getDevice</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getFrequency"><a href="LuCI.Network.WifiNetwork.html#getFrequency">getFrequency</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getI18n"><a href="LuCI.Network.WifiNetwork.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getID"><a href="LuCI.Network.WifiNetwork.html#getID">getID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getIfname"><a href="LuCI.Network.WifiNetwork.html#getIfname">getIfname</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getMeshID"><a href="LuCI.Network.WifiNetwork.html#getMeshID">getMeshID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getMode"><a href="LuCI.Network.WifiNetwork.html#getMode">getMode</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getName"><a href="LuCI.Network.WifiNetwork.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNetwork"><a href="LuCI.Network.WifiNetwork.html#getNetwork">getNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNetworkNames"><a href="LuCI.Network.WifiNetwork.html#getNetworkNames">getNetworkNames</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNetworks"><a href="LuCI.Network.WifiNetwork.html#getNetworks">getNetworks</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNoise"><a href="LuCI.Network.WifiNetwork.html#getNoise">getNoise</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getShortName"><a href="LuCI.Network.WifiNetwork.html#getShortName">getShortName</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSignal"><a href="LuCI.Network.WifiNetwork.html#getSignal">getSignal</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSignalLevel"><a href="LuCI.Network.WifiNetwork.html#getSignalLevel">getSignalLevel</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSignalPercent"><a href="LuCI.Network.WifiNetwork.html#getSignalPercent">getSignalPercent</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSSID"><a href="LuCI.Network.WifiNetwork.html#getSSID">getSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getTXPower"><a href="LuCI.Network.WifiNetwork.html#getTXPower">getTXPower</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getTXPowerOffset"><a href="LuCI.Network.WifiNetwork.html#getTXPowerOffset">getTXPowerOffset</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getWifiDevice"><a href="LuCI.Network.WifiNetwork.html#getWifiDevice">getWifiDevice</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getWifiDeviceName"><a href="LuCI.Network.WifiNetwork.html#getWifiDeviceName">getWifiDeviceName</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#isDisabled"><a href="LuCI.Network.WifiNetwork.html#isDisabled">isDisabled</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#isUp"><a href="LuCI.Network.WifiNetwork.html#isUp">isUp</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#set"><a href="LuCI.Network.WifiNetwork.html#set">set</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Poll">
- <span class="title">
- <a href="LuCI.Poll.html">LuCI.Poll</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Poll#active"><a href="LuCI.Poll.html#active">active</a></li>
-
- <li data-name="LuCI.Poll#add"><a href="LuCI.Poll.html#add">add</a></li>
-
- <li data-name="LuCI.Poll#remove"><a href="LuCI.Poll.html#remove">remove</a></li>
-
- <li data-name="LuCI.Poll#start"><a href="LuCI.Poll.html#start">start</a></li>
-
- <li data-name="LuCI.Poll#stop"><a href="LuCI.Poll.html#stop">stop</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Request">
- <span class="title">
- <a href="LuCI.Request.html">LuCI.Request</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.Request.interceptorFn"><a href="LuCI.Request.html#.interceptorFn">interceptorFn</a></li>
-
- <li data-name="LuCI.Request.RequestOptions"><a href="LuCI.Request.html#.RequestOptions">RequestOptions</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Request#addInterceptor"><a href="LuCI.Request.html#addInterceptor">addInterceptor</a></li>
-
- <li data-name="LuCI.Request#expandURL"><a href="LuCI.Request.html#expandURL">expandURL</a></li>
-
- <li data-name="LuCI.Request#get"><a href="LuCI.Request.html#get">get</a></li>
-
- <li data-name="LuCI.Request#post"><a href="LuCI.Request.html#post">post</a></li>
-
- <li data-name="LuCI.Request#removeInterceptor"><a href="LuCI.Request.html#removeInterceptor">removeInterceptor</a></li>
-
- <li data-name="LuCI.Request#request"><a href="LuCI.Request.html#request">request</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Request.poll">
- <span class="title">
- <a href="LuCI.Request.poll.html">LuCI.Request.poll</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.Request.poll~callbackFn"><a href="LuCI.Request.poll.html#~callbackFn">callbackFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Request.poll#active"><a href="LuCI.Request.poll.html#active">active</a></li>
-
- <li data-name="LuCI.Request.poll#add"><a href="LuCI.Request.poll.html#add">add</a></li>
-
- <li data-name="LuCI.Request.poll#remove"><a href="LuCI.Request.poll.html#remove">remove</a></li>
-
- <li data-name="LuCI.Request.poll#start"><a href="LuCI.Request.poll.html#start">start</a></li>
-
- <li data-name="LuCI.Request.poll#stop"><a href="LuCI.Request.poll.html#stop">stop</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Response">
- <span class="title">
- <a href="LuCI.Response.html">LuCI.Response</a>
-
- </span>
- <ul class="members itemMembers">
-
- <span class="subtitle">Members</span>
-
- <li data-name="LuCI.Response#duration"><a href="LuCI.Response.html#duration">duration</a></li>
-
- <li data-name="LuCI.Response#headers"><a href="LuCI.Response.html#headers">headers</a></li>
-
- <li data-name="LuCI.Response#ok"><a href="LuCI.Response.html#ok">ok</a></li>
-
- <li data-name="LuCI.Response#status"><a href="LuCI.Response.html#status">status</a></li>
-
- <li data-name="LuCI.Response#statusText"><a href="LuCI.Response.html#statusText">statusText</a></li>
-
- <li data-name="LuCI.Response#url"><a href="LuCI.Response.html#url">url</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Response#clone"><a href="LuCI.Response.html#clone">clone</a></li>
-
- <li data-name="LuCI.Response#json"><a href="LuCI.Response.html#json">json</a></li>
-
- <li data-name="LuCI.Response#text"><a href="LuCI.Response.html#text">text</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.rpc">
- <span class="title">
- <a href="LuCI.rpc.html">LuCI.rpc</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.rpc.DeclareOptions"><a href="LuCI.rpc.html#.DeclareOptions">DeclareOptions</a></li>
-
- <li data-name="LuCI.rpc~filterFn"><a href="LuCI.rpc.html#~filterFn">filterFn</a></li>
-
- <li data-name="LuCI.rpc~interceptorFn"><a href="LuCI.rpc.html#~interceptorFn">interceptorFn</a></li>
-
- <li data-name="LuCI.rpc~invokeFn"><a href="LuCI.rpc.html#~invokeFn">invokeFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.rpc#addInterceptor"><a href="LuCI.rpc.html#addInterceptor">addInterceptor</a></li>
-
- <li data-name="LuCI.rpc#declare"><a href="LuCI.rpc.html#declare">declare</a></li>
-
- <li data-name="LuCI.rpc#getBaseURL"><a href="LuCI.rpc.html#getBaseURL">getBaseURL</a></li>
-
- <li data-name="LuCI.rpc#getSessionID"><a href="LuCI.rpc.html#getSessionID">getSessionID</a></li>
-
- <li data-name="LuCI.rpc#getStatusText"><a href="LuCI.rpc.html#getStatusText">getStatusText</a></li>
-
- <li data-name="LuCI.rpc#list"><a href="LuCI.rpc.html#list">list</a></li>
-
- <li data-name="LuCI.rpc#removeInterceptor"><a href="LuCI.rpc.html#removeInterceptor">removeInterceptor</a></li>
-
- <li data-name="LuCI.rpc#setBaseURL"><a href="LuCI.rpc.html#setBaseURL">setBaseURL</a></li>
-
- <li data-name="LuCI.rpc#setSessionID"><a href="LuCI.rpc.html#setSessionID">setSessionID</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.uci">
- <span class="title">
- <a href="LuCI.uci.html">LuCI.uci</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.uci.ChangeRecord"><a href="LuCI.uci.html#.ChangeRecord">ChangeRecord</a></li>
-
- <li data-name="LuCI.uci.SectionObject"><a href="LuCI.uci.html#.SectionObject">SectionObject</a></li>
-
- <li data-name="LuCI.uci~sectionsFn"><a href="LuCI.uci.html#~sectionsFn">sectionsFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.uci#add"><a href="LuCI.uci.html#add">add</a></li>
-
- <li data-name="LuCI.uci#apply"><a href="LuCI.uci.html#apply">apply</a></li>
-
- <li data-name="LuCI.uci#changes"><a href="LuCI.uci.html#changes">changes</a></li>
-
- <li data-name="LuCI.uci#createSID"><a href="LuCI.uci.html#createSID">createSID</a></li>
-
- <li data-name="LuCI.uci#get"><a href="LuCI.uci.html#get">get</a></li>
-
- <li data-name="LuCI.uci#get_first"><a href="LuCI.uci.html#get_first">get_first</a></li>
-
- <li data-name="LuCI.uci#load"><a href="LuCI.uci.html#load">load</a></li>
-
- <li data-name="LuCI.uci#move"><a href="LuCI.uci.html#move">move</a></li>
-
- <li data-name="LuCI.uci#remove"><a href="LuCI.uci.html#remove">remove</a></li>
-
- <li data-name="LuCI.uci#resolveSID"><a href="LuCI.uci.html#resolveSID">resolveSID</a></li>
-
- <li data-name="LuCI.uci#save"><a href="LuCI.uci.html#save">save</a></li>
-
- <li data-name="LuCI.uci#sections"><a href="LuCI.uci.html#sections">sections</a></li>
-
- <li data-name="LuCI.uci#set"><a href="LuCI.uci.html#set">set</a></li>
-
- <li data-name="LuCI.uci#set_first"><a href="LuCI.uci.html#set_first">set_first</a></li>
-
- <li data-name="LuCI.uci#unload"><a href="LuCI.uci.html#unload">unload</a></li>
-
- <li data-name="LuCI.uci#unset"><a href="LuCI.uci.html#unset">unset</a></li>
-
- <li data-name="LuCI.uci#unset_first"><a href="LuCI.uci.html#unset_first">unset_first</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.view">
- <span class="title">
- <a href="LuCI.view.html">LuCI.view</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.view#addFooter"><a href="LuCI.view.html#addFooter">addFooter</a></li>
-
- <li data-name="LuCI.view#handleReset"><a href="LuCI.view.html#handleReset">handleReset</a></li>
-
- <li data-name="LuCI.view#handleSave"><a href="LuCI.view.html#handleSave">handleSave</a></li>
-
- <li data-name="LuCI.view#handleSaveApply"><a href="LuCI.view.html#handleSaveApply">handleSaveApply</a></li>
-
- <li data-name="LuCI.view#load"><a href="LuCI.view.html#load">load</a></li>
-
- <li data-name="LuCI.view#render"><a href="LuCI.view.html#render">render</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.XHR">
- <span class="title">
- <a href="LuCI.XHR.html">LuCI.XHR</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.XHR#abort"><a href="LuCI.XHR.html#abort">abort</a></li>
-
- <li data-name="LuCI.XHR#busy"><a href="LuCI.XHR.html#busy">busy</a></li>
-
- <li data-name="LuCI.XHR#cancel"><a href="LuCI.XHR.html#cancel">cancel</a></li>
-
- <li data-name="LuCI.XHR#get"><a href="LuCI.XHR.html#get">get</a></li>
-
- <li data-name="LuCI.XHR#post"><a href="LuCI.XHR.html#post">post</a></li>
-
- <li data-name="LuCI.XHR#send_form"><a href="LuCI.XHR.html#send_form">send_form</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- </ul>
-</div>
- <div class="main">
- <h1 class="page-title" data-filename="LuCI.Class.html">Class: Class</h1>
-
-
-
-
-<section>
-
-<header>
- <h2>
- <span class="ancestors"><a href="LuCI.html">LuCI</a>.</span>
-
- Class
- </h2>
-
- <div class="class-description"><p><code>LuCI.Class</code> is the abstract base class all LuCI classes inherit from.</p>
-<p>It provides simple means to create subclasses of given classes and
-implements prototypal inheritance.</p></div>
-
-</header>
-
-<article>
- <div class="container-overview">
-
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="Class">
-
- new LuCI.Class<span class="signature">()</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 59
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dd>
-
-
- </div>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- <h3 class="subsection-title">Methods</h3>
-
- <dl>
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id=".extend">
-
- <span class="type-signature static">static</span>LuCI.Class.extend<span class="signature">(properties)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{<a href="LuCI.Class.html">LuCI.Class</a>}</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 87
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Extends this base class with the properties described in
-<code>properties</code> and returns a new subclassed Class instance</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>properties</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">Object.&lt;string, *></span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>An object describing the properties to add to the new
-subclass.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- <a href="LuCI.Class.html">LuCI.Class</a>
-
-
- </td>
- <td class="description last">Returns a new LuCI.Class sublassed from this class, extended
-by the given properties and with its prototype set to this base
-class to enable inheritance. The resulting value represents a
-class constructor and can be instantiated with <code>new</code>.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id=".instantiate">
-
- <span class="type-signature static">static</span>LuCI.Class.instantiate<span class="signature">(params, <span class="optional">new_args</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{<a href="LuCI.Class.html">LuCI.Class</a>}</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 169
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Calls the class constructor using <code>new</code> with the given argument
-array being passed as variadic parameters to the constructor.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>params</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">Array.&lt;*></span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
-
-
-
-
- <p>An array of arbitrary values which will be passed as arguments
-to the constructor function.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>new_args</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">*</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
- <span class="repeatable">repeatable</span>
-
-
- <p>Specifies arguments to be passed to the subclass constructor
-as-is in order to instantiate the new subclass.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- <a href="LuCI.Class.html">LuCI.Class</a>
-
-
- </td>
- <td class="description last">Returns a new LuCI.Class instance extended by the given
-properties with its prototype set to this base class to
-enable inheritance.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id=".isSubclass">
-
- <span class="type-signature static">static</span>LuCI.Class.isSubclass<span class="signature">(classValue)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 195
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Checks whether the given class value is a subclass of this class.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>classValue</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type"><a href="LuCI.Class.html">LuCI.Class</a></span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The class object to test.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- boolean
-
-
- </td>
- <td class="description last">Returns <code>true</code> when the given <code>classValue</code> is a subclass of this
-class or <code>false</code> if the given value is not a valid class or not
-a subclass of this class'.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id=".singleton">
-
- <span class="type-signature static">static</span>LuCI.Class.singleton<span class="signature">(properties, <span class="optional">new_args</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{<a href="LuCI.Class.html">LuCI.Class</a>}</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 145
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Extends this base class with the properties described in
-<code>properties</code>, instantiates the resulting subclass using
-the additional optional arguments passed to this function
-and returns the resulting subclassed Class instance.</p>
-<p>This function serves as a convenience shortcut for
-<a href="LuCI.Class.html#.extend"><code>Class.extend()</code></a> and subsequent
-<code>new</code>.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>properties</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">Object.&lt;string, *></span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
-
-
-
-
- <p>An object describing the properties to add to the new
-subclass.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>new_args</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">*</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
- <span class="repeatable">repeatable</span>
-
-
- <p>Specifies arguments to be passed to the subclass constructor
-as-is in order to instantiate the new subclass.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- <a href="LuCI.Class.html">LuCI.Class</a>
-
-
- </td>
- <td class="description last">Returns a new LuCI.Class instance extended by the given
-properties with its prototype set to this base class to
-enable inheritance.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="super">
-
- super<span class="signature">(key, <span class="optional">callArgs</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{*|null}</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 267
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Walks up the parent class chain and looks for a class member
-called <code>key</code> in any of the parent classes this class inherits
-from. Returns the member value of the superclass or calls the
-member as function and returns its return value when the
-optional <code>callArgs</code> array is given.</p>
-<p>This function has two signatures and is sensitive to the
-amount of arguments passed to it:</p>
-<ul>
-<li><code>super('key')</code> -
-Returns the value of <code>key</code> when found within one of the
-parent classes.</li>
-<li><code>super('key', ['arg1', 'arg2'])</code> -
-Calls the <code>key()</code> method with parameters <code>arg1</code> and <code>arg2</code>
-when found within one of the parent classes.</li>
-</ul>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>key</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
-
-
-
-
- <p>The name of the superclass member to retrieve.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>callArgs</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">Array.&lt;*></span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
-
- <p>An optional array of function call parameters to use. When
-this parameter is specified, the found member value is called
-as function using the values of this array as arguments.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
- <h5>Throws:</h5>
-
-
-
-<dl>
- <dt>
- <div class="param-desc">
- <p>Throws a <code>ReferenceError</code> when <code>callArgs</code> are specified and
-the found member named by <code>key</code> is not a function value.</p>
- </div>
- </dt>
- <dt>
- <dl>
- <dt>
- Type
- </dt>
- <dd>
-
-<span class="param-type">ReferenceError</span>
-
-
- </dd>
- </dl>
- </dt>
-</dl>
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- *
- |
-
- null
-
-
- </td>
- <td class="description last">Returns the value of the found member or the return value of
-the call to the found method. Returns <code>null</code> when no member
-was found in the parent class chain or when the call to the
-superclass method returned <code>null</code>.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="varargs">
-
- varargs<span class="signature">(args, offset, <span class="optional">extra_args</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Array.&lt;*>}</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 225
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Extract all values from the given argument array beginning from
-<code>offset</code> and prepend any further given optional parameters to
-the beginning of the resulting array copy.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>args</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">Array.&lt;*></span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
-
-
-
-
- <p>The array to extract the values from.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>offset</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">number</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
-
-
-
-
- <p>The offset from which to extract the values. An offset of <code>0</code>
-would copy all values till the end.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>extra_args</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">*</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
- <span class="repeatable">repeatable</span>
-
-
- <p>Extra arguments to add to prepend to the resultung array.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Array.&lt;*>
-
-
- </td>
- <td class="description last">Returns a new array consisting of the optional extra arguments
-and the values extracted from the <code>args</code> array beginning with
-<code>offset</code>.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
- </dl>
-
-
-
-
-
-
-
-</article>
-
-</section>
-
-
-
-
-
-
-
- <footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Nov 05 2019 10:17:12 GMT+0100 (Central European Standard Time)
- </footer>
- </div>
-</div>
-<script>prettyPrint();</script>
-<script src="scripts/jaguar.js"></script>
-</body>
-</html> \ No newline at end of file
diff --git a/documentation/jsapi/LuCI.Headers.html b/documentation/jsapi/LuCI.Headers.html
deleted file mode 100644
index efb898bbf4..0000000000
--- a/documentation/jsapi/LuCI.Headers.html
+++ /dev/null
@@ -1,1495 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <meta charset="utf-8">
- <title>Class: Headers</title>
-
-
- <script src="scripts/prettify/prettify.js"></script>
- <script src="scripts/prettify/lang-css.js"></script>
- <script src="scripts/jquery.min.js"></script>
- <!--[if lt IE 9]>
- <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
- <![endif]-->
- <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
- <link type="text/css" rel="stylesheet" href="styles/bootstrap.min.css">
- <link type="text/css" rel="stylesheet" href="styles/jaguar.css">
-
-
- <script>
- var config = {"monospaceLinks":true,"cleverLinks":true,"default":{}};
- </script>
-
-
-
-</head>
-<body>
-<div id="wrap" class="clearfix">
-
-<div class="navigation">
- <h3 class="applicationName"><a href="index.html"></a></h3>
-
- <div class="search">
- <input id="search" type="text" class="form-control input-sm" placeholder="Search Documentations">
- </div>
- <ul class="list">
-
- <li class="item" data-name="LuCI">
- <span class="title">
- <a href="LuCI.html">LuCI</a>
-
- </span>
- <ul class="members itemMembers">
-
- <span class="subtitle">Members</span>
-
- <li data-name="LuCI#env"><a href="LuCI.html#env">env</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.requestCallbackFn"><a href="LuCI.html#.requestCallbackFn">requestCallbackFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI#bind"><a href="LuCI.html#bind">bind</a></li>
-
- <li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
-
- <li data-name="LuCI#get"><a href="LuCI.html#get">get</a></li>
-
- <li data-name="LuCI#halt"><a href="LuCI.html#halt">halt</a></li>
-
- <li data-name="LuCI#hasSystemFeature"><a href="LuCI.html#hasSystemFeature">hasSystemFeature</a></li>
-
- <li data-name="LuCI#isObject"><a href="LuCI.html#isObject">isObject</a></li>
-
- <li data-name="LuCI#location"><a href="LuCI.html#location">location</a></li>
-
- <li data-name="LuCI#path"><a href="LuCI.html#path">path</a></li>
-
- <li data-name="LuCI#poll"><a href="LuCI.html#poll">poll</a></li>
-
- <li data-name="LuCI#post"><a href="LuCI.html#post">post</a></li>
-
- <li data-name="LuCI#raise"><a href="LuCI.html#raise">raise</a></li>
-
- <li data-name="LuCI#require"><a href="LuCI.html#require">require</a></li>
-
- <li data-name="LuCI#resolveDefault"><a href="LuCI.html#resolveDefault">resolveDefault</a></li>
-
- <li data-name="LuCI#resource"><a href="LuCI.html#resource">resource</a></li>
-
- <li data-name="LuCI#run"><a href="LuCI.html#run">run</a></li>
-
- <li data-name="LuCI#sortedKeys"><a href="LuCI.html#sortedKeys">sortedKeys</a></li>
-
- <li data-name="LuCI#stop"><a href="LuCI.html#stop">stop</a></li>
-
- <li data-name="LuCI#toArray"><a href="LuCI.html#toArray">toArray</a></li>
-
- <li data-name="LuCI#url"><a href="LuCI.html#url">url</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Class">
- <span class="title">
- <a href="LuCI.Class.html">LuCI.Class</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Class.extend"><a href="LuCI.Class.html#.extend">extend</a></li>
-
- <li data-name="LuCI.Class.instantiate"><a href="LuCI.Class.html#.instantiate">instantiate</a></li>
-
- <li data-name="LuCI.Class.isSubclass"><a href="LuCI.Class.html#.isSubclass">isSubclass</a></li>
-
- <li data-name="LuCI.Class.singleton"><a href="LuCI.Class.html#.singleton">singleton</a></li>
-
- <li data-name="LuCI.Class#super"><a href="LuCI.Class.html#super">super</a></li>
-
- <li data-name="LuCI.Class#varargs"><a href="LuCI.Class.html#varargs">varargs</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.dom">
- <span class="title">
- <a href="LuCI.dom.html">LuCI.dom</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.dom~ignoreCallbackFn"><a href="LuCI.dom.html#~ignoreCallbackFn">ignoreCallbackFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.dom#append"><a href="LuCI.dom.html#append">append</a></li>
-
- <li data-name="LuCI.dom#attr"><a href="LuCI.dom.html#attr">attr</a></li>
-
- <li data-name="LuCI.dom#bindClassInstance"><a href="LuCI.dom.html#bindClassInstance">bindClassInstance</a></li>
-
- <li data-name="LuCI.dom#callClassMethod"><a href="LuCI.dom.html#callClassMethod">callClassMethod</a></li>
-
- <li data-name="LuCI.dom#content"><a href="LuCI.dom.html#content">content</a></li>
-
- <li data-name="LuCI.dom#create"><a href="LuCI.dom.html#create">create</a></li>
-
- <li data-name="LuCI.dom#data"><a href="LuCI.dom.html#data">data</a></li>
-
- <li data-name="LuCI.dom#elem"><a href="LuCI.dom.html#elem">elem</a></li>
-
- <li data-name="LuCI.dom#findClassInstance"><a href="LuCI.dom.html#findClassInstance">findClassInstance</a></li>
-
- <li data-name="LuCI.dom#isEmpty"><a href="LuCI.dom.html#isEmpty">isEmpty</a></li>
-
- <li data-name="LuCI.dom#matches"><a href="LuCI.dom.html#matches">matches</a></li>
-
- <li data-name="LuCI.dom#parent"><a href="LuCI.dom.html#parent">parent</a></li>
-
- <li data-name="LuCI.dom#parse"><a href="LuCI.dom.html#parse">parse</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.fs">
- <span class="title">
- <a href="LuCI.fs.html">LuCI.fs</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.fs.FileExecResult"><a href="LuCI.fs.html#.FileExecResult">FileExecResult</a></li>
-
- <li data-name="LuCI.fs.FileStatEntry"><a href="LuCI.fs.html#.FileStatEntry">FileStatEntry</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.fs#exec"><a href="LuCI.fs.html#exec">exec</a></li>
-
- <li data-name="LuCI.fs#lines"><a href="LuCI.fs.html#lines">lines</a></li>
-
- <li data-name="LuCI.fs#list"><a href="LuCI.fs.html#list">list</a></li>
-
- <li data-name="LuCI.fs#read"><a href="LuCI.fs.html#read">read</a></li>
-
- <li data-name="LuCI.fs#remove"><a href="LuCI.fs.html#remove">remove</a></li>
-
- <li data-name="LuCI.fs#stat"><a href="LuCI.fs.html#stat">stat</a></li>
-
- <li data-name="LuCI.fs#trimmed"><a href="LuCI.fs.html#trimmed">trimmed</a></li>
-
- <li data-name="LuCI.fs#write"><a href="LuCI.fs.html#write">write</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Headers">
- <span class="title">
- <a href="LuCI.Headers.html">LuCI.Headers</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Headers#get"><a href="LuCI.Headers.html#get">get</a></li>
-
- <li data-name="LuCI.Headers#has"><a href="LuCI.Headers.html#has">has</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network">
- <span class="title">
- <a href="LuCI.Network.html">LuCI.Network</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.Network.SwitchTopology"><a href="LuCI.Network.html#.SwitchTopology">SwitchTopology</a></li>
-
- <li data-name="LuCI.Network.WifiEncryption"><a href="LuCI.Network.html#.WifiEncryption">WifiEncryption</a></li>
-
- <li data-name="LuCI.Network.WifiPeerEntry"><a href="LuCI.Network.html#.WifiPeerEntry">WifiPeerEntry</a></li>
-
- <li data-name="LuCI.Network.WifiRateEntry"><a href="LuCI.Network.html#.WifiRateEntry">WifiRateEntry</a></li>
-
- <li data-name="LuCI.Network.WifiScanResult"><a href="LuCI.Network.html#.WifiScanResult">WifiScanResult</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network#addNetwork"><a href="LuCI.Network.html#addNetwork">addNetwork</a></li>
-
- <li data-name="LuCI.Network#addWifiNetwork"><a href="LuCI.Network.html#addWifiNetwork">addWifiNetwork</a></li>
-
- <li data-name="LuCI.Network#deleteNetwork"><a href="LuCI.Network.html#deleteNetwork">deleteNetwork</a></li>
-
- <li data-name="LuCI.Network#deleteWifiNetwork"><a href="LuCI.Network.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
-
- <li data-name="LuCI.Network#flushCache"><a href="LuCI.Network.html#flushCache">flushCache</a></li>
-
- <li data-name="LuCI.Network#formatWifiEncryption"><a href="LuCI.Network.html#formatWifiEncryption">formatWifiEncryption</a></li>
-
- <li data-name="LuCI.Network#getDevice"><a href="LuCI.Network.html#getDevice">getDevice</a></li>
-
- <li data-name="LuCI.Network#getDevices"><a href="LuCI.Network.html#getDevices">getDevices</a></li>
-
- <li data-name="LuCI.Network#getDSLModemType"><a href="LuCI.Network.html#getDSLModemType">getDSLModemType</a></li>
-
- <li data-name="LuCI.Network#getHostHints"><a href="LuCI.Network.html#getHostHints">getHostHints</a></li>
-
- <li data-name="LuCI.Network#getIfnameOf"><a href="LuCI.Network.html#getIfnameOf">getIfnameOf</a></li>
-
- <li data-name="LuCI.Network#getNetwork"><a href="LuCI.Network.html#getNetwork">getNetwork</a></li>
-
- <li data-name="LuCI.Network#getNetworks"><a href="LuCI.Network.html#getNetworks">getNetworks</a></li>
-
- <li data-name="LuCI.Network#getProtocol"><a href="LuCI.Network.html#getProtocol">getProtocol</a></li>
-
- <li data-name="LuCI.Network#getProtocols"><a href="LuCI.Network.html#getProtocols">getProtocols</a></li>
-
- <li data-name="LuCI.Network#getSwitchTopologies"><a href="LuCI.Network.html#getSwitchTopologies">getSwitchTopologies</a></li>
-
- <li data-name="LuCI.Network#getWAN6Networks"><a href="LuCI.Network.html#getWAN6Networks">getWAN6Networks</a></li>
-
- <li data-name="LuCI.Network#getWANNetworks"><a href="LuCI.Network.html#getWANNetworks">getWANNetworks</a></li>
-
- <li data-name="LuCI.Network#getWifiDevice"><a href="LuCI.Network.html#getWifiDevice">getWifiDevice</a></li>
-
- <li data-name="LuCI.Network#getWifiDevices"><a href="LuCI.Network.html#getWifiDevices">getWifiDevices</a></li>
-
- <li data-name="LuCI.Network#getWifiNetwork"><a href="LuCI.Network.html#getWifiNetwork">getWifiNetwork</a></li>
-
- <li data-name="LuCI.Network#isIgnoredDevice"><a href="LuCI.Network.html#isIgnoredDevice">isIgnoredDevice</a></li>
-
- <li data-name="LuCI.Network#maskToPrefix"><a href="LuCI.Network.html#maskToPrefix">maskToPrefix</a></li>
-
- <li data-name="LuCI.Network#prefixToMask"><a href="LuCI.Network.html#prefixToMask">prefixToMask</a></li>
-
- <li data-name="LuCI.Network#registerErrorCode"><a href="LuCI.Network.html#registerErrorCode">registerErrorCode</a></li>
-
- <li data-name="LuCI.Network#registerPatternVirtual"><a href="LuCI.Network.html#registerPatternVirtual">registerPatternVirtual</a></li>
-
- <li data-name="LuCI.Network#registerProtocol"><a href="LuCI.Network.html#registerProtocol">registerProtocol</a></li>
-
- <li data-name="LuCI.Network#renameNetwork"><a href="LuCI.Network.html#renameNetwork">renameNetwork</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.Device">
- <span class="title">
- <a href="LuCI.Network.Device.html">LuCI.Network.Device</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.Device#getBridgeID"><a href="LuCI.Network.Device.html#getBridgeID">getBridgeID</a></li>
-
- <li data-name="LuCI.Network.Device#getBridgeSTP"><a href="LuCI.Network.Device.html#getBridgeSTP">getBridgeSTP</a></li>
-
- <li data-name="LuCI.Network.Device#getI18n"><a href="LuCI.Network.Device.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.Device#getIP6Addrs"><a href="LuCI.Network.Device.html#getIP6Addrs">getIP6Addrs</a></li>
-
- <li data-name="LuCI.Network.Device#getIPAddrs"><a href="LuCI.Network.Device.html#getIPAddrs">getIPAddrs</a></li>
-
- <li data-name="LuCI.Network.Device#getMAC"><a href="LuCI.Network.Device.html#getMAC">getMAC</a></li>
-
- <li data-name="LuCI.Network.Device#getMTU"><a href="LuCI.Network.Device.html#getMTU">getMTU</a></li>
-
- <li data-name="LuCI.Network.Device#getName"><a href="LuCI.Network.Device.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.Device#getNetwork"><a href="LuCI.Network.Device.html#getNetwork">getNetwork</a></li>
-
- <li data-name="LuCI.Network.Device#getNetworks"><a href="LuCI.Network.Device.html#getNetworks">getNetworks</a></li>
-
- <li data-name="LuCI.Network.Device#getPorts"><a href="LuCI.Network.Device.html#getPorts">getPorts</a></li>
-
- <li data-name="LuCI.Network.Device#getRXBytes"><a href="LuCI.Network.Device.html#getRXBytes">getRXBytes</a></li>
-
- <li data-name="LuCI.Network.Device#getRXPackets"><a href="LuCI.Network.Device.html#getRXPackets">getRXPackets</a></li>
-
- <li data-name="LuCI.Network.Device#getShortName"><a href="LuCI.Network.Device.html#getShortName">getShortName</a></li>
-
- <li data-name="LuCI.Network.Device#getTXBytes"><a href="LuCI.Network.Device.html#getTXBytes">getTXBytes</a></li>
-
- <li data-name="LuCI.Network.Device#getTXPackets"><a href="LuCI.Network.Device.html#getTXPackets">getTXPackets</a></li>
-
- <li data-name="LuCI.Network.Device#getType"><a href="LuCI.Network.Device.html#getType">getType</a></li>
-
- <li data-name="LuCI.Network.Device#getTypeI18n"><a href="LuCI.Network.Device.html#getTypeI18n">getTypeI18n</a></li>
-
- <li data-name="LuCI.Network.Device#getWifiNetwork"><a href="LuCI.Network.Device.html#getWifiNetwork">getWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.Device#isBridge"><a href="LuCI.Network.Device.html#isBridge">isBridge</a></li>
-
- <li data-name="LuCI.Network.Device#isBridgePort"><a href="LuCI.Network.Device.html#isBridgePort">isBridgePort</a></li>
-
- <li data-name="LuCI.Network.Device#isUp"><a href="LuCI.Network.Device.html#isUp">isUp</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.Hosts">
- <span class="title">
- <a href="LuCI.Network.Hosts.html">LuCI.Network.Hosts</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.Hosts#getHostnameByIP6Addr"><a href="LuCI.Network.Hosts.html#getHostnameByIP6Addr">getHostnameByIP6Addr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getHostnameByIPAddr"><a href="LuCI.Network.Hosts.html#getHostnameByIPAddr">getHostnameByIPAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getHostnameByMACAddr"><a href="LuCI.Network.Hosts.html#getHostnameByMACAddr">getHostnameByMACAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getIP6AddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIP6AddrByMACAddr">getIP6AddrByMACAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getIPAddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIPAddrByMACAddr">getIPAddrByMACAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getMACAddrByIP6Addr"><a href="LuCI.Network.Hosts.html#getMACAddrByIP6Addr">getMACAddrByIP6Addr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getMACAddrByIPAddr"><a href="LuCI.Network.Hosts.html#getMACAddrByIPAddr">getMACAddrByIPAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getMACHints"><a href="LuCI.Network.Hosts.html#getMACHints">getMACHints</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.Protocol">
- <span class="title">
- <a href="LuCI.Network.Protocol.html">LuCI.Network.Protocol</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.Protocol#addDevice"><a href="LuCI.Network.Protocol.html#addDevice">addDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#containsDevice"><a href="LuCI.Network.Protocol.html#containsDevice">containsDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#deleteDevice"><a href="LuCI.Network.Protocol.html#deleteDevice">deleteDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#get"><a href="LuCI.Network.Protocol.html#get">get</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDevice"><a href="LuCI.Network.Protocol.html#getDevice">getDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDevices"><a href="LuCI.Network.Protocol.html#getDevices">getDevices</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDNS6Addrs"><a href="LuCI.Network.Protocol.html#getDNS6Addrs">getDNS6Addrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDNSAddrs"><a href="LuCI.Network.Protocol.html#getDNSAddrs">getDNSAddrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getErrors"><a href="LuCI.Network.Protocol.html#getErrors">getErrors</a></li>
-
- <li data-name="LuCI.Network.Protocol#getExpiry"><a href="LuCI.Network.Protocol.html#getExpiry">getExpiry</a></li>
-
- <li data-name="LuCI.Network.Protocol#getGateway6Addr"><a href="LuCI.Network.Protocol.html#getGateway6Addr">getGateway6Addr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getGatewayAddr"><a href="LuCI.Network.Protocol.html#getGatewayAddr">getGatewayAddr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getI18n"><a href="LuCI.Network.Protocol.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIfname"><a href="LuCI.Network.Protocol.html#getIfname">getIfname</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIP6Addr"><a href="LuCI.Network.Protocol.html#getIP6Addr">getIP6Addr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIP6Addrs"><a href="LuCI.Network.Protocol.html#getIP6Addrs">getIP6Addrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIP6Prefix"><a href="LuCI.Network.Protocol.html#getIP6Prefix">getIP6Prefix</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIPAddr"><a href="LuCI.Network.Protocol.html#getIPAddr">getIPAddr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIPAddrs"><a href="LuCI.Network.Protocol.html#getIPAddrs">getIPAddrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getL2Device"><a href="LuCI.Network.Protocol.html#getL2Device">getL2Device</a></li>
-
- <li data-name="LuCI.Network.Protocol#getL3Device"><a href="LuCI.Network.Protocol.html#getL3Device">getL3Device</a></li>
-
- <li data-name="LuCI.Network.Protocol#getMetric"><a href="LuCI.Network.Protocol.html#getMetric">getMetric</a></li>
-
- <li data-name="LuCI.Network.Protocol#getName"><a href="LuCI.Network.Protocol.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.Protocol#getNetmask"><a href="LuCI.Network.Protocol.html#getNetmask">getNetmask</a></li>
-
- <li data-name="LuCI.Network.Protocol#getOpkgPackage"><a href="LuCI.Network.Protocol.html#getOpkgPackage">getOpkgPackage</a></li>
-
- <li data-name="LuCI.Network.Protocol#getProtocol"><a href="LuCI.Network.Protocol.html#getProtocol">getProtocol</a></li>
-
- <li data-name="LuCI.Network.Protocol#getType"><a href="LuCI.Network.Protocol.html#getType">getType</a></li>
-
- <li data-name="LuCI.Network.Protocol#getUptime"><a href="LuCI.Network.Protocol.html#getUptime">getUptime</a></li>
-
- <li data-name="LuCI.Network.Protocol#getZoneName"><a href="LuCI.Network.Protocol.html#getZoneName">getZoneName</a></li>
-
- <li data-name="LuCI.Network.Protocol#isAlias"><a href="LuCI.Network.Protocol.html#isAlias">isAlias</a></li>
-
- <li data-name="LuCI.Network.Protocol#isBridge"><a href="LuCI.Network.Protocol.html#isBridge">isBridge</a></li>
-
- <li data-name="LuCI.Network.Protocol#isDynamic"><a href="LuCI.Network.Protocol.html#isDynamic">isDynamic</a></li>
-
- <li data-name="LuCI.Network.Protocol#isEmpty"><a href="LuCI.Network.Protocol.html#isEmpty">isEmpty</a></li>
-
- <li data-name="LuCI.Network.Protocol#isFloating"><a href="LuCI.Network.Protocol.html#isFloating">isFloating</a></li>
-
- <li data-name="LuCI.Network.Protocol#isInstalled"><a href="LuCI.Network.Protocol.html#isInstalled">isInstalled</a></li>
-
- <li data-name="LuCI.Network.Protocol#isUp"><a href="LuCI.Network.Protocol.html#isUp">isUp</a></li>
-
- <li data-name="LuCI.Network.Protocol#isVirtual"><a href="LuCI.Network.Protocol.html#isVirtual">isVirtual</a></li>
-
- <li data-name="LuCI.Network.Protocol#set"><a href="LuCI.Network.Protocol.html#set">set</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.WifiDevice">
- <span class="title">
- <a href="LuCI.Network.WifiDevice.html">LuCI.Network.WifiDevice</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.WifiDevice#addWifiNetwork"><a href="LuCI.Network.WifiDevice.html#addWifiNetwork">addWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#deleteWifiNetwork"><a href="LuCI.Network.WifiDevice.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#get"><a href="LuCI.Network.WifiDevice.html#get">get</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getHTModes"><a href="LuCI.Network.WifiDevice.html#getHTModes">getHTModes</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getHWModes"><a href="LuCI.Network.WifiDevice.html#getHWModes">getHWModes</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getI18n"><a href="LuCI.Network.WifiDevice.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getName"><a href="LuCI.Network.WifiDevice.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getScanList"><a href="LuCI.Network.WifiDevice.html#getScanList">getScanList</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getWifiNetwork"><a href="LuCI.Network.WifiDevice.html#getWifiNetwork">getWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getWifiNetworks"><a href="LuCI.Network.WifiDevice.html#getWifiNetworks">getWifiNetworks</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#isDisabled"><a href="LuCI.Network.WifiDevice.html#isDisabled">isDisabled</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#isUp"><a href="LuCI.Network.WifiDevice.html#isUp">isUp</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#set"><a href="LuCI.Network.WifiDevice.html#set">set</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.WifiNetwork">
- <span class="title">
- <a href="LuCI.Network.WifiNetwork.html">LuCI.Network.WifiNetwork</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.WifiNetwork#get"><a href="LuCI.Network.WifiNetwork.html#get">get</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveBSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveBSSID">getActiveBSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveEncryption"><a href="LuCI.Network.WifiNetwork.html#getActiveEncryption">getActiveEncryption</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveMode"><a href="LuCI.Network.WifiNetwork.html#getActiveMode">getActiveMode</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveModeI18n"><a href="LuCI.Network.WifiNetwork.html#getActiveModeI18n">getActiveModeI18n</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveSSID">getActiveSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getAssocList"><a href="LuCI.Network.WifiNetwork.html#getAssocList">getAssocList</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getBitRate"><a href="LuCI.Network.WifiNetwork.html#getBitRate">getBitRate</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getBSSID"><a href="LuCI.Network.WifiNetwork.html#getBSSID">getBSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getChannel"><a href="LuCI.Network.WifiNetwork.html#getChannel">getChannel</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getCountryCode"><a href="LuCI.Network.WifiNetwork.html#getCountryCode">getCountryCode</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getDevice"><a href="LuCI.Network.WifiNetwork.html#getDevice">getDevice</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getFrequency"><a href="LuCI.Network.WifiNetwork.html#getFrequency">getFrequency</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getI18n"><a href="LuCI.Network.WifiNetwork.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getID"><a href="LuCI.Network.WifiNetwork.html#getID">getID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getIfname"><a href="LuCI.Network.WifiNetwork.html#getIfname">getIfname</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getMeshID"><a href="LuCI.Network.WifiNetwork.html#getMeshID">getMeshID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getMode"><a href="LuCI.Network.WifiNetwork.html#getMode">getMode</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getName"><a href="LuCI.Network.WifiNetwork.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNetwork"><a href="LuCI.Network.WifiNetwork.html#getNetwork">getNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNetworkNames"><a href="LuCI.Network.WifiNetwork.html#getNetworkNames">getNetworkNames</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNetworks"><a href="LuCI.Network.WifiNetwork.html#getNetworks">getNetworks</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNoise"><a href="LuCI.Network.WifiNetwork.html#getNoise">getNoise</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getShortName"><a href="LuCI.Network.WifiNetwork.html#getShortName">getShortName</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSignal"><a href="LuCI.Network.WifiNetwork.html#getSignal">getSignal</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSignalLevel"><a href="LuCI.Network.WifiNetwork.html#getSignalLevel">getSignalLevel</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSignalPercent"><a href="LuCI.Network.WifiNetwork.html#getSignalPercent">getSignalPercent</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSSID"><a href="LuCI.Network.WifiNetwork.html#getSSID">getSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getTXPower"><a href="LuCI.Network.WifiNetwork.html#getTXPower">getTXPower</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getTXPowerOffset"><a href="LuCI.Network.WifiNetwork.html#getTXPowerOffset">getTXPowerOffset</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getWifiDevice"><a href="LuCI.Network.WifiNetwork.html#getWifiDevice">getWifiDevice</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getWifiDeviceName"><a href="LuCI.Network.WifiNetwork.html#getWifiDeviceName">getWifiDeviceName</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#isDisabled"><a href="LuCI.Network.WifiNetwork.html#isDisabled">isDisabled</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#isUp"><a href="LuCI.Network.WifiNetwork.html#isUp">isUp</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#set"><a href="LuCI.Network.WifiNetwork.html#set">set</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Poll">
- <span class="title">
- <a href="LuCI.Poll.html">LuCI.Poll</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Poll#active"><a href="LuCI.Poll.html#active">active</a></li>
-
- <li data-name="LuCI.Poll#add"><a href="LuCI.Poll.html#add">add</a></li>
-
- <li data-name="LuCI.Poll#remove"><a href="LuCI.Poll.html#remove">remove</a></li>
-
- <li data-name="LuCI.Poll#start"><a href="LuCI.Poll.html#start">start</a></li>
-
- <li data-name="LuCI.Poll#stop"><a href="LuCI.Poll.html#stop">stop</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Request">
- <span class="title">
- <a href="LuCI.Request.html">LuCI.Request</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.Request.interceptorFn"><a href="LuCI.Request.html#.interceptorFn">interceptorFn</a></li>
-
- <li data-name="LuCI.Request.RequestOptions"><a href="LuCI.Request.html#.RequestOptions">RequestOptions</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Request#addInterceptor"><a href="LuCI.Request.html#addInterceptor">addInterceptor</a></li>
-
- <li data-name="LuCI.Request#expandURL"><a href="LuCI.Request.html#expandURL">expandURL</a></li>
-
- <li data-name="LuCI.Request#get"><a href="LuCI.Request.html#get">get</a></li>
-
- <li data-name="LuCI.Request#post"><a href="LuCI.Request.html#post">post</a></li>
-
- <li data-name="LuCI.Request#removeInterceptor"><a href="LuCI.Request.html#removeInterceptor">removeInterceptor</a></li>
-
- <li data-name="LuCI.Request#request"><a href="LuCI.Request.html#request">request</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Request.poll">
- <span class="title">
- <a href="LuCI.Request.poll.html">LuCI.Request.poll</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.Request.poll~callbackFn"><a href="LuCI.Request.poll.html#~callbackFn">callbackFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Request.poll#active"><a href="LuCI.Request.poll.html#active">active</a></li>
-
- <li data-name="LuCI.Request.poll#add"><a href="LuCI.Request.poll.html#add">add</a></li>
-
- <li data-name="LuCI.Request.poll#remove"><a href="LuCI.Request.poll.html#remove">remove</a></li>
-
- <li data-name="LuCI.Request.poll#start"><a href="LuCI.Request.poll.html#start">start</a></li>
-
- <li data-name="LuCI.Request.poll#stop"><a href="LuCI.Request.poll.html#stop">stop</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Response">
- <span class="title">
- <a href="LuCI.Response.html">LuCI.Response</a>
-
- </span>
- <ul class="members itemMembers">
-
- <span class="subtitle">Members</span>
-
- <li data-name="LuCI.Response#duration"><a href="LuCI.Response.html#duration">duration</a></li>
-
- <li data-name="LuCI.Response#headers"><a href="LuCI.Response.html#headers">headers</a></li>
-
- <li data-name="LuCI.Response#ok"><a href="LuCI.Response.html#ok">ok</a></li>
-
- <li data-name="LuCI.Response#status"><a href="LuCI.Response.html#status">status</a></li>
-
- <li data-name="LuCI.Response#statusText"><a href="LuCI.Response.html#statusText">statusText</a></li>
-
- <li data-name="LuCI.Response#url"><a href="LuCI.Response.html#url">url</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Response#clone"><a href="LuCI.Response.html#clone">clone</a></li>
-
- <li data-name="LuCI.Response#json"><a href="LuCI.Response.html#json">json</a></li>
-
- <li data-name="LuCI.Response#text"><a href="LuCI.Response.html#text">text</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.rpc">
- <span class="title">
- <a href="LuCI.rpc.html">LuCI.rpc</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.rpc.DeclareOptions"><a href="LuCI.rpc.html#.DeclareOptions">DeclareOptions</a></li>
-
- <li data-name="LuCI.rpc~filterFn"><a href="LuCI.rpc.html#~filterFn">filterFn</a></li>
-
- <li data-name="LuCI.rpc~interceptorFn"><a href="LuCI.rpc.html#~interceptorFn">interceptorFn</a></li>
-
- <li data-name="LuCI.rpc~invokeFn"><a href="LuCI.rpc.html#~invokeFn">invokeFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.rpc#addInterceptor"><a href="LuCI.rpc.html#addInterceptor">addInterceptor</a></li>
-
- <li data-name="LuCI.rpc#declare"><a href="LuCI.rpc.html#declare">declare</a></li>
-
- <li data-name="LuCI.rpc#getBaseURL"><a href="LuCI.rpc.html#getBaseURL">getBaseURL</a></li>
-
- <li data-name="LuCI.rpc#getSessionID"><a href="LuCI.rpc.html#getSessionID">getSessionID</a></li>
-
- <li data-name="LuCI.rpc#getStatusText"><a href="LuCI.rpc.html#getStatusText">getStatusText</a></li>
-
- <li data-name="LuCI.rpc#list"><a href="LuCI.rpc.html#list">list</a></li>
-
- <li data-name="LuCI.rpc#removeInterceptor"><a href="LuCI.rpc.html#removeInterceptor">removeInterceptor</a></li>
-
- <li data-name="LuCI.rpc#setBaseURL"><a href="LuCI.rpc.html#setBaseURL">setBaseURL</a></li>
-
- <li data-name="LuCI.rpc#setSessionID"><a href="LuCI.rpc.html#setSessionID">setSessionID</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.uci">
- <span class="title">
- <a href="LuCI.uci.html">LuCI.uci</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.uci.ChangeRecord"><a href="LuCI.uci.html#.ChangeRecord">ChangeRecord</a></li>
-
- <li data-name="LuCI.uci.SectionObject"><a href="LuCI.uci.html#.SectionObject">SectionObject</a></li>
-
- <li data-name="LuCI.uci~sectionsFn"><a href="LuCI.uci.html#~sectionsFn">sectionsFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.uci#add"><a href="LuCI.uci.html#add">add</a></li>
-
- <li data-name="LuCI.uci#apply"><a href="LuCI.uci.html#apply">apply</a></li>
-
- <li data-name="LuCI.uci#changes"><a href="LuCI.uci.html#changes">changes</a></li>
-
- <li data-name="LuCI.uci#createSID"><a href="LuCI.uci.html#createSID">createSID</a></li>
-
- <li data-name="LuCI.uci#get"><a href="LuCI.uci.html#get">get</a></li>
-
- <li data-name="LuCI.uci#get_first"><a href="LuCI.uci.html#get_first">get_first</a></li>
-
- <li data-name="LuCI.uci#load"><a href="LuCI.uci.html#load">load</a></li>
-
- <li data-name="LuCI.uci#move"><a href="LuCI.uci.html#move">move</a></li>
-
- <li data-name="LuCI.uci#remove"><a href="LuCI.uci.html#remove">remove</a></li>
-
- <li data-name="LuCI.uci#resolveSID"><a href="LuCI.uci.html#resolveSID">resolveSID</a></li>
-
- <li data-name="LuCI.uci#save"><a href="LuCI.uci.html#save">save</a></li>
-
- <li data-name="LuCI.uci#sections"><a href="LuCI.uci.html#sections">sections</a></li>
-
- <li data-name="LuCI.uci#set"><a href="LuCI.uci.html#set">set</a></li>
-
- <li data-name="LuCI.uci#set_first"><a href="LuCI.uci.html#set_first">set_first</a></li>
-
- <li data-name="LuCI.uci#unload"><a href="LuCI.uci.html#unload">unload</a></li>
-
- <li data-name="LuCI.uci#unset"><a href="LuCI.uci.html#unset">unset</a></li>
-
- <li data-name="LuCI.uci#unset_first"><a href="LuCI.uci.html#unset_first">unset_first</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.view">
- <span class="title">
- <a href="LuCI.view.html">LuCI.view</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.view#addFooter"><a href="LuCI.view.html#addFooter">addFooter</a></li>
-
- <li data-name="LuCI.view#handleReset"><a href="LuCI.view.html#handleReset">handleReset</a></li>
-
- <li data-name="LuCI.view#handleSave"><a href="LuCI.view.html#handleSave">handleSave</a></li>
-
- <li data-name="LuCI.view#handleSaveApply"><a href="LuCI.view.html#handleSaveApply">handleSaveApply</a></li>
-
- <li data-name="LuCI.view#load"><a href="LuCI.view.html#load">load</a></li>
-
- <li data-name="LuCI.view#render"><a href="LuCI.view.html#render">render</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.XHR">
- <span class="title">
- <a href="LuCI.XHR.html">LuCI.XHR</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.XHR#abort"><a href="LuCI.XHR.html#abort">abort</a></li>
-
- <li data-name="LuCI.XHR#busy"><a href="LuCI.XHR.html#busy">busy</a></li>
-
- <li data-name="LuCI.XHR#cancel"><a href="LuCI.XHR.html#cancel">cancel</a></li>
-
- <li data-name="LuCI.XHR#get"><a href="LuCI.XHR.html#get">get</a></li>
-
- <li data-name="LuCI.XHR#post"><a href="LuCI.XHR.html#post">post</a></li>
-
- <li data-name="LuCI.XHR#send_form"><a href="LuCI.XHR.html#send_form">send_form</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- </ul>
-</div>
- <div class="main">
- <h1 class="page-title" data-filename="LuCI.Headers.html">Class: Headers</h1>
-
-
-
-
-<section>
-
-<header>
- <h2>
- <span class="ancestors"><a href="LuCI.html">LuCI</a>.</span>
-
- Headers
- </h2>
-
- <div class="class-description"><p>The <code>Headers</code> class is an internal utility class exposed in HTTP
-response objects using the <code>response.headers</code> property.</p></div>
-
-</header>
-
-<article>
- <div class="container-overview">
-
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="Headers">
-
- new LuCI.Headers<span class="signature">()</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 324
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dd>
-
-
- </div>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- <h3 class="subsection-title">Methods</h3>
-
- <dl>
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="get">
-
- get<span class="signature">(name)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{string|null}</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 363
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Returns the value of the given header name.
-Note: Header-Names are case-insensitive.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>name</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The header name to read</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- string
- |
-
- null
-
-
- </td>
- <td class="description last">The value of the given header name or <code>null</code> if the header isn't present.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="has">
-
- has<span class="signature">(name)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 347
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Checks whether the given header name is present.
-Note: Header-Names are case-insensitive.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>name</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The header name to check</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- boolean
-
-
- </td>
- <td class="description last">Returns <code>true</code> if the header name is present, <code>false</code> otherwise</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
- </dl>
-
-
-
-
-
-
-
-</article>
-
-</section>
-
-
-
-
-
-
-
- <footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Nov 05 2019 10:17:12 GMT+0100 (Central European Standard Time)
- </footer>
- </div>
-</div>
-<script>prettyPrint();</script>
-<script src="scripts/jaguar.js"></script>
-</body>
-</html> \ No newline at end of file
diff --git a/documentation/jsapi/LuCI.Network.Device.html b/documentation/jsapi/LuCI.Network.Device.html
deleted file mode 100644
index 71d88df22f..0000000000
--- a/documentation/jsapi/LuCI.Network.Device.html
+++ /dev/null
@@ -1,3440 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <meta charset="utf-8">
- <title>Class: Device</title>
-
-
- <script src="scripts/prettify/prettify.js"></script>
- <script src="scripts/prettify/lang-css.js"></script>
- <script src="scripts/jquery.min.js"></script>
- <!--[if lt IE 9]>
- <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
- <![endif]-->
- <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
- <link type="text/css" rel="stylesheet" href="styles/bootstrap.min.css">
- <link type="text/css" rel="stylesheet" href="styles/jaguar.css">
-
-
- <script>
- var config = {"monospaceLinks":true,"cleverLinks":true,"default":{}};
- </script>
-
-
-
-</head>
-<body>
-<div id="wrap" class="clearfix">
-
-<div class="navigation">
- <h3 class="applicationName"><a href="index.html"></a></h3>
-
- <div class="search">
- <input id="search" type="text" class="form-control input-sm" placeholder="Search Documentations">
- </div>
- <ul class="list">
-
- <li class="item" data-name="LuCI">
- <span class="title">
- <a href="LuCI.html">LuCI</a>
-
- </span>
- <ul class="members itemMembers">
-
- <span class="subtitle">Members</span>
-
- <li data-name="LuCI#env"><a href="LuCI.html#env">env</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.requestCallbackFn"><a href="LuCI.html#.requestCallbackFn">requestCallbackFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI#bind"><a href="LuCI.html#bind">bind</a></li>
-
- <li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
-
- <li data-name="LuCI#get"><a href="LuCI.html#get">get</a></li>
-
- <li data-name="LuCI#halt"><a href="LuCI.html#halt">halt</a></li>
-
- <li data-name="LuCI#hasSystemFeature"><a href="LuCI.html#hasSystemFeature">hasSystemFeature</a></li>
-
- <li data-name="LuCI#isObject"><a href="LuCI.html#isObject">isObject</a></li>
-
- <li data-name="LuCI#location"><a href="LuCI.html#location">location</a></li>
-
- <li data-name="LuCI#path"><a href="LuCI.html#path">path</a></li>
-
- <li data-name="LuCI#poll"><a href="LuCI.html#poll">poll</a></li>
-
- <li data-name="LuCI#post"><a href="LuCI.html#post">post</a></li>
-
- <li data-name="LuCI#raise"><a href="LuCI.html#raise">raise</a></li>
-
- <li data-name="LuCI#require"><a href="LuCI.html#require">require</a></li>
-
- <li data-name="LuCI#resolveDefault"><a href="LuCI.html#resolveDefault">resolveDefault</a></li>
-
- <li data-name="LuCI#resource"><a href="LuCI.html#resource">resource</a></li>
-
- <li data-name="LuCI#run"><a href="LuCI.html#run">run</a></li>
-
- <li data-name="LuCI#sortedKeys"><a href="LuCI.html#sortedKeys">sortedKeys</a></li>
-
- <li data-name="LuCI#stop"><a href="LuCI.html#stop">stop</a></li>
-
- <li data-name="LuCI#toArray"><a href="LuCI.html#toArray">toArray</a></li>
-
- <li data-name="LuCI#url"><a href="LuCI.html#url">url</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Class">
- <span class="title">
- <a href="LuCI.Class.html">LuCI.Class</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Class.extend"><a href="LuCI.Class.html#.extend">extend</a></li>
-
- <li data-name="LuCI.Class.instantiate"><a href="LuCI.Class.html#.instantiate">instantiate</a></li>
-
- <li data-name="LuCI.Class.isSubclass"><a href="LuCI.Class.html#.isSubclass">isSubclass</a></li>
-
- <li data-name="LuCI.Class.singleton"><a href="LuCI.Class.html#.singleton">singleton</a></li>
-
- <li data-name="LuCI.Class#super"><a href="LuCI.Class.html#super">super</a></li>
-
- <li data-name="LuCI.Class#varargs"><a href="LuCI.Class.html#varargs">varargs</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.dom">
- <span class="title">
- <a href="LuCI.dom.html">LuCI.dom</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.dom~ignoreCallbackFn"><a href="LuCI.dom.html#~ignoreCallbackFn">ignoreCallbackFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.dom#append"><a href="LuCI.dom.html#append">append</a></li>
-
- <li data-name="LuCI.dom#attr"><a href="LuCI.dom.html#attr">attr</a></li>
-
- <li data-name="LuCI.dom#bindClassInstance"><a href="LuCI.dom.html#bindClassInstance">bindClassInstance</a></li>
-
- <li data-name="LuCI.dom#callClassMethod"><a href="LuCI.dom.html#callClassMethod">callClassMethod</a></li>
-
- <li data-name="LuCI.dom#content"><a href="LuCI.dom.html#content">content</a></li>
-
- <li data-name="LuCI.dom#create"><a href="LuCI.dom.html#create">create</a></li>
-
- <li data-name="LuCI.dom#data"><a href="LuCI.dom.html#data">data</a></li>
-
- <li data-name="LuCI.dom#elem"><a href="LuCI.dom.html#elem">elem</a></li>
-
- <li data-name="LuCI.dom#findClassInstance"><a href="LuCI.dom.html#findClassInstance">findClassInstance</a></li>
-
- <li data-name="LuCI.dom#isEmpty"><a href="LuCI.dom.html#isEmpty">isEmpty</a></li>
-
- <li data-name="LuCI.dom#matches"><a href="LuCI.dom.html#matches">matches</a></li>
-
- <li data-name="LuCI.dom#parent"><a href="LuCI.dom.html#parent">parent</a></li>
-
- <li data-name="LuCI.dom#parse"><a href="LuCI.dom.html#parse">parse</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.fs">
- <span class="title">
- <a href="LuCI.fs.html">LuCI.fs</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.fs.FileExecResult"><a href="LuCI.fs.html#.FileExecResult">FileExecResult</a></li>
-
- <li data-name="LuCI.fs.FileStatEntry"><a href="LuCI.fs.html#.FileStatEntry">FileStatEntry</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.fs#exec"><a href="LuCI.fs.html#exec">exec</a></li>
-
- <li data-name="LuCI.fs#lines"><a href="LuCI.fs.html#lines">lines</a></li>
-
- <li data-name="LuCI.fs#list"><a href="LuCI.fs.html#list">list</a></li>
-
- <li data-name="LuCI.fs#read"><a href="LuCI.fs.html#read">read</a></li>
-
- <li data-name="LuCI.fs#remove"><a href="LuCI.fs.html#remove">remove</a></li>
-
- <li data-name="LuCI.fs#stat"><a href="LuCI.fs.html#stat">stat</a></li>
-
- <li data-name="LuCI.fs#trimmed"><a href="LuCI.fs.html#trimmed">trimmed</a></li>
-
- <li data-name="LuCI.fs#write"><a href="LuCI.fs.html#write">write</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Headers">
- <span class="title">
- <a href="LuCI.Headers.html">LuCI.Headers</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Headers#get"><a href="LuCI.Headers.html#get">get</a></li>
-
- <li data-name="LuCI.Headers#has"><a href="LuCI.Headers.html#has">has</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network">
- <span class="title">
- <a href="LuCI.Network.html">LuCI.Network</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.Network.SwitchTopology"><a href="LuCI.Network.html#.SwitchTopology">SwitchTopology</a></li>
-
- <li data-name="LuCI.Network.WifiEncryption"><a href="LuCI.Network.html#.WifiEncryption">WifiEncryption</a></li>
-
- <li data-name="LuCI.Network.WifiPeerEntry"><a href="LuCI.Network.html#.WifiPeerEntry">WifiPeerEntry</a></li>
-
- <li data-name="LuCI.Network.WifiRateEntry"><a href="LuCI.Network.html#.WifiRateEntry">WifiRateEntry</a></li>
-
- <li data-name="LuCI.Network.WifiScanResult"><a href="LuCI.Network.html#.WifiScanResult">WifiScanResult</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network#addNetwork"><a href="LuCI.Network.html#addNetwork">addNetwork</a></li>
-
- <li data-name="LuCI.Network#addWifiNetwork"><a href="LuCI.Network.html#addWifiNetwork">addWifiNetwork</a></li>
-
- <li data-name="LuCI.Network#deleteNetwork"><a href="LuCI.Network.html#deleteNetwork">deleteNetwork</a></li>
-
- <li data-name="LuCI.Network#deleteWifiNetwork"><a href="LuCI.Network.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
-
- <li data-name="LuCI.Network#flushCache"><a href="LuCI.Network.html#flushCache">flushCache</a></li>
-
- <li data-name="LuCI.Network#formatWifiEncryption"><a href="LuCI.Network.html#formatWifiEncryption">formatWifiEncryption</a></li>
-
- <li data-name="LuCI.Network#getDevice"><a href="LuCI.Network.html#getDevice">getDevice</a></li>
-
- <li data-name="LuCI.Network#getDevices"><a href="LuCI.Network.html#getDevices">getDevices</a></li>
-
- <li data-name="LuCI.Network#getDSLModemType"><a href="LuCI.Network.html#getDSLModemType">getDSLModemType</a></li>
-
- <li data-name="LuCI.Network#getHostHints"><a href="LuCI.Network.html#getHostHints">getHostHints</a></li>
-
- <li data-name="LuCI.Network#getIfnameOf"><a href="LuCI.Network.html#getIfnameOf">getIfnameOf</a></li>
-
- <li data-name="LuCI.Network#getNetwork"><a href="LuCI.Network.html#getNetwork">getNetwork</a></li>
-
- <li data-name="LuCI.Network#getNetworks"><a href="LuCI.Network.html#getNetworks">getNetworks</a></li>
-
- <li data-name="LuCI.Network#getProtocol"><a href="LuCI.Network.html#getProtocol">getProtocol</a></li>
-
- <li data-name="LuCI.Network#getProtocols"><a href="LuCI.Network.html#getProtocols">getProtocols</a></li>
-
- <li data-name="LuCI.Network#getSwitchTopologies"><a href="LuCI.Network.html#getSwitchTopologies">getSwitchTopologies</a></li>
-
- <li data-name="LuCI.Network#getWAN6Networks"><a href="LuCI.Network.html#getWAN6Networks">getWAN6Networks</a></li>
-
- <li data-name="LuCI.Network#getWANNetworks"><a href="LuCI.Network.html#getWANNetworks">getWANNetworks</a></li>
-
- <li data-name="LuCI.Network#getWifiDevice"><a href="LuCI.Network.html#getWifiDevice">getWifiDevice</a></li>
-
- <li data-name="LuCI.Network#getWifiDevices"><a href="LuCI.Network.html#getWifiDevices">getWifiDevices</a></li>
-
- <li data-name="LuCI.Network#getWifiNetwork"><a href="LuCI.Network.html#getWifiNetwork">getWifiNetwork</a></li>
-
- <li data-name="LuCI.Network#isIgnoredDevice"><a href="LuCI.Network.html#isIgnoredDevice">isIgnoredDevice</a></li>
-
- <li data-name="LuCI.Network#maskToPrefix"><a href="LuCI.Network.html#maskToPrefix">maskToPrefix</a></li>
-
- <li data-name="LuCI.Network#prefixToMask"><a href="LuCI.Network.html#prefixToMask">prefixToMask</a></li>
-
- <li data-name="LuCI.Network#registerErrorCode"><a href="LuCI.Network.html#registerErrorCode">registerErrorCode</a></li>
-
- <li data-name="LuCI.Network#registerPatternVirtual"><a href="LuCI.Network.html#registerPatternVirtual">registerPatternVirtual</a></li>
-
- <li data-name="LuCI.Network#registerProtocol"><a href="LuCI.Network.html#registerProtocol">registerProtocol</a></li>
-
- <li data-name="LuCI.Network#renameNetwork"><a href="LuCI.Network.html#renameNetwork">renameNetwork</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.Device">
- <span class="title">
- <a href="LuCI.Network.Device.html">LuCI.Network.Device</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.Device#getBridgeID"><a href="LuCI.Network.Device.html#getBridgeID">getBridgeID</a></li>
-
- <li data-name="LuCI.Network.Device#getBridgeSTP"><a href="LuCI.Network.Device.html#getBridgeSTP">getBridgeSTP</a></li>
-
- <li data-name="LuCI.Network.Device#getI18n"><a href="LuCI.Network.Device.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.Device#getIP6Addrs"><a href="LuCI.Network.Device.html#getIP6Addrs">getIP6Addrs</a></li>
-
- <li data-name="LuCI.Network.Device#getIPAddrs"><a href="LuCI.Network.Device.html#getIPAddrs">getIPAddrs</a></li>
-
- <li data-name="LuCI.Network.Device#getMAC"><a href="LuCI.Network.Device.html#getMAC">getMAC</a></li>
-
- <li data-name="LuCI.Network.Device#getMTU"><a href="LuCI.Network.Device.html#getMTU">getMTU</a></li>
-
- <li data-name="LuCI.Network.Device#getName"><a href="LuCI.Network.Device.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.Device#getNetwork"><a href="LuCI.Network.Device.html#getNetwork">getNetwork</a></li>
-
- <li data-name="LuCI.Network.Device#getNetworks"><a href="LuCI.Network.Device.html#getNetworks">getNetworks</a></li>
-
- <li data-name="LuCI.Network.Device#getPorts"><a href="LuCI.Network.Device.html#getPorts">getPorts</a></li>
-
- <li data-name="LuCI.Network.Device#getRXBytes"><a href="LuCI.Network.Device.html#getRXBytes">getRXBytes</a></li>
-
- <li data-name="LuCI.Network.Device#getRXPackets"><a href="LuCI.Network.Device.html#getRXPackets">getRXPackets</a></li>
-
- <li data-name="LuCI.Network.Device#getShortName"><a href="LuCI.Network.Device.html#getShortName">getShortName</a></li>
-
- <li data-name="LuCI.Network.Device#getTXBytes"><a href="LuCI.Network.Device.html#getTXBytes">getTXBytes</a></li>
-
- <li data-name="LuCI.Network.Device#getTXPackets"><a href="LuCI.Network.Device.html#getTXPackets">getTXPackets</a></li>
-
- <li data-name="LuCI.Network.Device#getType"><a href="LuCI.Network.Device.html#getType">getType</a></li>
-
- <li data-name="LuCI.Network.Device#getTypeI18n"><a href="LuCI.Network.Device.html#getTypeI18n">getTypeI18n</a></li>
-
- <li data-name="LuCI.Network.Device#getWifiNetwork"><a href="LuCI.Network.Device.html#getWifiNetwork">getWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.Device#isBridge"><a href="LuCI.Network.Device.html#isBridge">isBridge</a></li>
-
- <li data-name="LuCI.Network.Device#isBridgePort"><a href="LuCI.Network.Device.html#isBridgePort">isBridgePort</a></li>
-
- <li data-name="LuCI.Network.Device#isUp"><a href="LuCI.Network.Device.html#isUp">isUp</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.Hosts">
- <span class="title">
- <a href="LuCI.Network.Hosts.html">LuCI.Network.Hosts</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.Hosts#getHostnameByIP6Addr"><a href="LuCI.Network.Hosts.html#getHostnameByIP6Addr">getHostnameByIP6Addr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getHostnameByIPAddr"><a href="LuCI.Network.Hosts.html#getHostnameByIPAddr">getHostnameByIPAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getHostnameByMACAddr"><a href="LuCI.Network.Hosts.html#getHostnameByMACAddr">getHostnameByMACAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getIP6AddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIP6AddrByMACAddr">getIP6AddrByMACAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getIPAddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIPAddrByMACAddr">getIPAddrByMACAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getMACAddrByIP6Addr"><a href="LuCI.Network.Hosts.html#getMACAddrByIP6Addr">getMACAddrByIP6Addr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getMACAddrByIPAddr"><a href="LuCI.Network.Hosts.html#getMACAddrByIPAddr">getMACAddrByIPAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getMACHints"><a href="LuCI.Network.Hosts.html#getMACHints">getMACHints</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.Protocol">
- <span class="title">
- <a href="LuCI.Network.Protocol.html">LuCI.Network.Protocol</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.Protocol#addDevice"><a href="LuCI.Network.Protocol.html#addDevice">addDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#containsDevice"><a href="LuCI.Network.Protocol.html#containsDevice">containsDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#deleteDevice"><a href="LuCI.Network.Protocol.html#deleteDevice">deleteDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#get"><a href="LuCI.Network.Protocol.html#get">get</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDevice"><a href="LuCI.Network.Protocol.html#getDevice">getDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDevices"><a href="LuCI.Network.Protocol.html#getDevices">getDevices</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDNS6Addrs"><a href="LuCI.Network.Protocol.html#getDNS6Addrs">getDNS6Addrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDNSAddrs"><a href="LuCI.Network.Protocol.html#getDNSAddrs">getDNSAddrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getErrors"><a href="LuCI.Network.Protocol.html#getErrors">getErrors</a></li>
-
- <li data-name="LuCI.Network.Protocol#getExpiry"><a href="LuCI.Network.Protocol.html#getExpiry">getExpiry</a></li>
-
- <li data-name="LuCI.Network.Protocol#getGateway6Addr"><a href="LuCI.Network.Protocol.html#getGateway6Addr">getGateway6Addr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getGatewayAddr"><a href="LuCI.Network.Protocol.html#getGatewayAddr">getGatewayAddr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getI18n"><a href="LuCI.Network.Protocol.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIfname"><a href="LuCI.Network.Protocol.html#getIfname">getIfname</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIP6Addr"><a href="LuCI.Network.Protocol.html#getIP6Addr">getIP6Addr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIP6Addrs"><a href="LuCI.Network.Protocol.html#getIP6Addrs">getIP6Addrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIP6Prefix"><a href="LuCI.Network.Protocol.html#getIP6Prefix">getIP6Prefix</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIPAddr"><a href="LuCI.Network.Protocol.html#getIPAddr">getIPAddr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIPAddrs"><a href="LuCI.Network.Protocol.html#getIPAddrs">getIPAddrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getL2Device"><a href="LuCI.Network.Protocol.html#getL2Device">getL2Device</a></li>
-
- <li data-name="LuCI.Network.Protocol#getL3Device"><a href="LuCI.Network.Protocol.html#getL3Device">getL3Device</a></li>
-
- <li data-name="LuCI.Network.Protocol#getMetric"><a href="LuCI.Network.Protocol.html#getMetric">getMetric</a></li>
-
- <li data-name="LuCI.Network.Protocol#getName"><a href="LuCI.Network.Protocol.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.Protocol#getNetmask"><a href="LuCI.Network.Protocol.html#getNetmask">getNetmask</a></li>
-
- <li data-name="LuCI.Network.Protocol#getOpkgPackage"><a href="LuCI.Network.Protocol.html#getOpkgPackage">getOpkgPackage</a></li>
-
- <li data-name="LuCI.Network.Protocol#getProtocol"><a href="LuCI.Network.Protocol.html#getProtocol">getProtocol</a></li>
-
- <li data-name="LuCI.Network.Protocol#getType"><a href="LuCI.Network.Protocol.html#getType">getType</a></li>
-
- <li data-name="LuCI.Network.Protocol#getUptime"><a href="LuCI.Network.Protocol.html#getUptime">getUptime</a></li>
-
- <li data-name="LuCI.Network.Protocol#getZoneName"><a href="LuCI.Network.Protocol.html#getZoneName">getZoneName</a></li>
-
- <li data-name="LuCI.Network.Protocol#isAlias"><a href="LuCI.Network.Protocol.html#isAlias">isAlias</a></li>
-
- <li data-name="LuCI.Network.Protocol#isBridge"><a href="LuCI.Network.Protocol.html#isBridge">isBridge</a></li>
-
- <li data-name="LuCI.Network.Protocol#isDynamic"><a href="LuCI.Network.Protocol.html#isDynamic">isDynamic</a></li>
-
- <li data-name="LuCI.Network.Protocol#isEmpty"><a href="LuCI.Network.Protocol.html#isEmpty">isEmpty</a></li>
-
- <li data-name="LuCI.Network.Protocol#isFloating"><a href="LuCI.Network.Protocol.html#isFloating">isFloating</a></li>
-
- <li data-name="LuCI.Network.Protocol#isInstalled"><a href="LuCI.Network.Protocol.html#isInstalled">isInstalled</a></li>
-
- <li data-name="LuCI.Network.Protocol#isUp"><a href="LuCI.Network.Protocol.html#isUp">isUp</a></li>
-
- <li data-name="LuCI.Network.Protocol#isVirtual"><a href="LuCI.Network.Protocol.html#isVirtual">isVirtual</a></li>
-
- <li data-name="LuCI.Network.Protocol#set"><a href="LuCI.Network.Protocol.html#set">set</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.WifiDevice">
- <span class="title">
- <a href="LuCI.Network.WifiDevice.html">LuCI.Network.WifiDevice</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.WifiDevice#addWifiNetwork"><a href="LuCI.Network.WifiDevice.html#addWifiNetwork">addWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#deleteWifiNetwork"><a href="LuCI.Network.WifiDevice.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#get"><a href="LuCI.Network.WifiDevice.html#get">get</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getHTModes"><a href="LuCI.Network.WifiDevice.html#getHTModes">getHTModes</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getHWModes"><a href="LuCI.Network.WifiDevice.html#getHWModes">getHWModes</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getI18n"><a href="LuCI.Network.WifiDevice.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getName"><a href="LuCI.Network.WifiDevice.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getScanList"><a href="LuCI.Network.WifiDevice.html#getScanList">getScanList</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getWifiNetwork"><a href="LuCI.Network.WifiDevice.html#getWifiNetwork">getWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getWifiNetworks"><a href="LuCI.Network.WifiDevice.html#getWifiNetworks">getWifiNetworks</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#isDisabled"><a href="LuCI.Network.WifiDevice.html#isDisabled">isDisabled</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#isUp"><a href="LuCI.Network.WifiDevice.html#isUp">isUp</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#set"><a href="LuCI.Network.WifiDevice.html#set">set</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.WifiNetwork">
- <span class="title">
- <a href="LuCI.Network.WifiNetwork.html">LuCI.Network.WifiNetwork</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.WifiNetwork#get"><a href="LuCI.Network.WifiNetwork.html#get">get</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveBSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveBSSID">getActiveBSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveEncryption"><a href="LuCI.Network.WifiNetwork.html#getActiveEncryption">getActiveEncryption</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveMode"><a href="LuCI.Network.WifiNetwork.html#getActiveMode">getActiveMode</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveModeI18n"><a href="LuCI.Network.WifiNetwork.html#getActiveModeI18n">getActiveModeI18n</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveSSID">getActiveSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getAssocList"><a href="LuCI.Network.WifiNetwork.html#getAssocList">getAssocList</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getBitRate"><a href="LuCI.Network.WifiNetwork.html#getBitRate">getBitRate</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getBSSID"><a href="LuCI.Network.WifiNetwork.html#getBSSID">getBSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getChannel"><a href="LuCI.Network.WifiNetwork.html#getChannel">getChannel</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getCountryCode"><a href="LuCI.Network.WifiNetwork.html#getCountryCode">getCountryCode</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getDevice"><a href="LuCI.Network.WifiNetwork.html#getDevice">getDevice</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getFrequency"><a href="LuCI.Network.WifiNetwork.html#getFrequency">getFrequency</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getI18n"><a href="LuCI.Network.WifiNetwork.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getID"><a href="LuCI.Network.WifiNetwork.html#getID">getID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getIfname"><a href="LuCI.Network.WifiNetwork.html#getIfname">getIfname</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getMeshID"><a href="LuCI.Network.WifiNetwork.html#getMeshID">getMeshID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getMode"><a href="LuCI.Network.WifiNetwork.html#getMode">getMode</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getName"><a href="LuCI.Network.WifiNetwork.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNetwork"><a href="LuCI.Network.WifiNetwork.html#getNetwork">getNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNetworkNames"><a href="LuCI.Network.WifiNetwork.html#getNetworkNames">getNetworkNames</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNetworks"><a href="LuCI.Network.WifiNetwork.html#getNetworks">getNetworks</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNoise"><a href="LuCI.Network.WifiNetwork.html#getNoise">getNoise</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getShortName"><a href="LuCI.Network.WifiNetwork.html#getShortName">getShortName</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSignal"><a href="LuCI.Network.WifiNetwork.html#getSignal">getSignal</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSignalLevel"><a href="LuCI.Network.WifiNetwork.html#getSignalLevel">getSignalLevel</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSignalPercent"><a href="LuCI.Network.WifiNetwork.html#getSignalPercent">getSignalPercent</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSSID"><a href="LuCI.Network.WifiNetwork.html#getSSID">getSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getTXPower"><a href="LuCI.Network.WifiNetwork.html#getTXPower">getTXPower</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getTXPowerOffset"><a href="LuCI.Network.WifiNetwork.html#getTXPowerOffset">getTXPowerOffset</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getWifiDevice"><a href="LuCI.Network.WifiNetwork.html#getWifiDevice">getWifiDevice</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getWifiDeviceName"><a href="LuCI.Network.WifiNetwork.html#getWifiDeviceName">getWifiDeviceName</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#isDisabled"><a href="LuCI.Network.WifiNetwork.html#isDisabled">isDisabled</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#isUp"><a href="LuCI.Network.WifiNetwork.html#isUp">isUp</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#set"><a href="LuCI.Network.WifiNetwork.html#set">set</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Poll">
- <span class="title">
- <a href="LuCI.Poll.html">LuCI.Poll</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Poll#active"><a href="LuCI.Poll.html#active">active</a></li>
-
- <li data-name="LuCI.Poll#add"><a href="LuCI.Poll.html#add">add</a></li>
-
- <li data-name="LuCI.Poll#remove"><a href="LuCI.Poll.html#remove">remove</a></li>
-
- <li data-name="LuCI.Poll#start"><a href="LuCI.Poll.html#start">start</a></li>
-
- <li data-name="LuCI.Poll#stop"><a href="LuCI.Poll.html#stop">stop</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Request">
- <span class="title">
- <a href="LuCI.Request.html">LuCI.Request</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.Request.interceptorFn"><a href="LuCI.Request.html#.interceptorFn">interceptorFn</a></li>
-
- <li data-name="LuCI.Request.RequestOptions"><a href="LuCI.Request.html#.RequestOptions">RequestOptions</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Request#addInterceptor"><a href="LuCI.Request.html#addInterceptor">addInterceptor</a></li>
-
- <li data-name="LuCI.Request#expandURL"><a href="LuCI.Request.html#expandURL">expandURL</a></li>
-
- <li data-name="LuCI.Request#get"><a href="LuCI.Request.html#get">get</a></li>
-
- <li data-name="LuCI.Request#post"><a href="LuCI.Request.html#post">post</a></li>
-
- <li data-name="LuCI.Request#removeInterceptor"><a href="LuCI.Request.html#removeInterceptor">removeInterceptor</a></li>
-
- <li data-name="LuCI.Request#request"><a href="LuCI.Request.html#request">request</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Request.poll">
- <span class="title">
- <a href="LuCI.Request.poll.html">LuCI.Request.poll</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.Request.poll~callbackFn"><a href="LuCI.Request.poll.html#~callbackFn">callbackFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Request.poll#active"><a href="LuCI.Request.poll.html#active">active</a></li>
-
- <li data-name="LuCI.Request.poll#add"><a href="LuCI.Request.poll.html#add">add</a></li>
-
- <li data-name="LuCI.Request.poll#remove"><a href="LuCI.Request.poll.html#remove">remove</a></li>
-
- <li data-name="LuCI.Request.poll#start"><a href="LuCI.Request.poll.html#start">start</a></li>
-
- <li data-name="LuCI.Request.poll#stop"><a href="LuCI.Request.poll.html#stop">stop</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Response">
- <span class="title">
- <a href="LuCI.Response.html">LuCI.Response</a>
-
- </span>
- <ul class="members itemMembers">
-
- <span class="subtitle">Members</span>
-
- <li data-name="LuCI.Response#duration"><a href="LuCI.Response.html#duration">duration</a></li>
-
- <li data-name="LuCI.Response#headers"><a href="LuCI.Response.html#headers">headers</a></li>
-
- <li data-name="LuCI.Response#ok"><a href="LuCI.Response.html#ok">ok</a></li>
-
- <li data-name="LuCI.Response#status"><a href="LuCI.Response.html#status">status</a></li>
-
- <li data-name="LuCI.Response#statusText"><a href="LuCI.Response.html#statusText">statusText</a></li>
-
- <li data-name="LuCI.Response#url"><a href="LuCI.Response.html#url">url</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Response#clone"><a href="LuCI.Response.html#clone">clone</a></li>
-
- <li data-name="LuCI.Response#json"><a href="LuCI.Response.html#json">json</a></li>
-
- <li data-name="LuCI.Response#text"><a href="LuCI.Response.html#text">text</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.rpc">
- <span class="title">
- <a href="LuCI.rpc.html">LuCI.rpc</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.rpc.DeclareOptions"><a href="LuCI.rpc.html#.DeclareOptions">DeclareOptions</a></li>
-
- <li data-name="LuCI.rpc~filterFn"><a href="LuCI.rpc.html#~filterFn">filterFn</a></li>
-
- <li data-name="LuCI.rpc~interceptorFn"><a href="LuCI.rpc.html#~interceptorFn">interceptorFn</a></li>
-
- <li data-name="LuCI.rpc~invokeFn"><a href="LuCI.rpc.html#~invokeFn">invokeFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.rpc#addInterceptor"><a href="LuCI.rpc.html#addInterceptor">addInterceptor</a></li>
-
- <li data-name="LuCI.rpc#declare"><a href="LuCI.rpc.html#declare">declare</a></li>
-
- <li data-name="LuCI.rpc#getBaseURL"><a href="LuCI.rpc.html#getBaseURL">getBaseURL</a></li>
-
- <li data-name="LuCI.rpc#getSessionID"><a href="LuCI.rpc.html#getSessionID">getSessionID</a></li>
-
- <li data-name="LuCI.rpc#getStatusText"><a href="LuCI.rpc.html#getStatusText">getStatusText</a></li>
-
- <li data-name="LuCI.rpc#list"><a href="LuCI.rpc.html#list">list</a></li>
-
- <li data-name="LuCI.rpc#removeInterceptor"><a href="LuCI.rpc.html#removeInterceptor">removeInterceptor</a></li>
-
- <li data-name="LuCI.rpc#setBaseURL"><a href="LuCI.rpc.html#setBaseURL">setBaseURL</a></li>
-
- <li data-name="LuCI.rpc#setSessionID"><a href="LuCI.rpc.html#setSessionID">setSessionID</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.uci">
- <span class="title">
- <a href="LuCI.uci.html">LuCI.uci</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.uci.ChangeRecord"><a href="LuCI.uci.html#.ChangeRecord">ChangeRecord</a></li>
-
- <li data-name="LuCI.uci.SectionObject"><a href="LuCI.uci.html#.SectionObject">SectionObject</a></li>
-
- <li data-name="LuCI.uci~sectionsFn"><a href="LuCI.uci.html#~sectionsFn">sectionsFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.uci#add"><a href="LuCI.uci.html#add">add</a></li>
-
- <li data-name="LuCI.uci#apply"><a href="LuCI.uci.html#apply">apply</a></li>
-
- <li data-name="LuCI.uci#changes"><a href="LuCI.uci.html#changes">changes</a></li>
-
- <li data-name="LuCI.uci#createSID"><a href="LuCI.uci.html#createSID">createSID</a></li>
-
- <li data-name="LuCI.uci#get"><a href="LuCI.uci.html#get">get</a></li>
-
- <li data-name="LuCI.uci#get_first"><a href="LuCI.uci.html#get_first">get_first</a></li>
-
- <li data-name="LuCI.uci#load"><a href="LuCI.uci.html#load">load</a></li>
-
- <li data-name="LuCI.uci#move"><a href="LuCI.uci.html#move">move</a></li>
-
- <li data-name="LuCI.uci#remove"><a href="LuCI.uci.html#remove">remove</a></li>
-
- <li data-name="LuCI.uci#resolveSID"><a href="LuCI.uci.html#resolveSID">resolveSID</a></li>
-
- <li data-name="LuCI.uci#save"><a href="LuCI.uci.html#save">save</a></li>
-
- <li data-name="LuCI.uci#sections"><a href="LuCI.uci.html#sections">sections</a></li>
-
- <li data-name="LuCI.uci#set"><a href="LuCI.uci.html#set">set</a></li>
-
- <li data-name="LuCI.uci#set_first"><a href="LuCI.uci.html#set_first">set_first</a></li>
-
- <li data-name="LuCI.uci#unload"><a href="LuCI.uci.html#unload">unload</a></li>
-
- <li data-name="LuCI.uci#unset"><a href="LuCI.uci.html#unset">unset</a></li>
-
- <li data-name="LuCI.uci#unset_first"><a href="LuCI.uci.html#unset_first">unset_first</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.view">
- <span class="title">
- <a href="LuCI.view.html">LuCI.view</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.view#addFooter"><a href="LuCI.view.html#addFooter">addFooter</a></li>
-
- <li data-name="LuCI.view#handleReset"><a href="LuCI.view.html#handleReset">handleReset</a></li>
-
- <li data-name="LuCI.view#handleSave"><a href="LuCI.view.html#handleSave">handleSave</a></li>
-
- <li data-name="LuCI.view#handleSaveApply"><a href="LuCI.view.html#handleSaveApply">handleSaveApply</a></li>
-
- <li data-name="LuCI.view#load"><a href="LuCI.view.html#load">load</a></li>
-
- <li data-name="LuCI.view#render"><a href="LuCI.view.html#render">render</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.XHR">
- <span class="title">
- <a href="LuCI.XHR.html">LuCI.XHR</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.XHR#abort"><a href="LuCI.XHR.html#abort">abort</a></li>
-
- <li data-name="LuCI.XHR#busy"><a href="LuCI.XHR.html#busy">busy</a></li>
-
- <li data-name="LuCI.XHR#cancel"><a href="LuCI.XHR.html#cancel">cancel</a></li>
-
- <li data-name="LuCI.XHR#get"><a href="LuCI.XHR.html#get">get</a></li>
-
- <li data-name="LuCI.XHR#post"><a href="LuCI.XHR.html#post">post</a></li>
-
- <li data-name="LuCI.XHR#send_form"><a href="LuCI.XHR.html#send_form">send_form</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- </ul>
-</div>
- <div class="main">
- <h1 class="page-title" data-filename="LuCI.Network.Device.html">Class: Device</h1>
-
-
-
-
-<section>
-
-<header>
- <h2>
- <span class="ancestors"><a href="LuCI.html">LuCI</a><a href="LuCI.Network.html">.Network</a>.</span>
-
- Device
- </h2>
-
- <div class="class-description"><p>A <code>Network.Device</code> class instance represents an underlying Linux network
-device and allows querying device details such as packet statistics or MTU.</p></div>
-
-</header>
-
-<article>
- <div class="container-overview">
-
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="Device">
-
- new LuCI.Network.Device<span class="signature">()</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 2593
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dd>
-
-
- </div>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- <h3 class="subsection-title">Methods</h3>
-
- <dl>
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getBridgeID">
-
- getBridgeID<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{null|string}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 2800
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Get the bridge ID</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- null
- |
-
- string
-
-
- </td>
- <td class="description last">Returns the ID of this network bridge or <code>null</code> if this network
-device is not a Linux bridge.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getBridgeSTP">
-
- getBridgeSTP<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 2812
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Get the bridge STP setting</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- boolean
-
-
- </td>
- <td class="description last">Returns <code>true</code> when this device is a Linux bridge and has <code>stp</code>
-enabled, else <code>false</code>.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getI18n">
-
- getI18n<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{string}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 2727
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Get a long description string for the device.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- string
-
-
- </td>
- <td class="description last">Returns a string containing the type description and device name
-for non-wifi devices or operation mode and ssid for wifi ones.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getIP6Addrs">
-
- getIP6Addrs<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Array.&lt;string>}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 2671
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Get the IPv6 addresses configured on the device.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Array.&lt;string>
-
-
- </td>
- <td class="description last">Returns an array of IPv6 address strings.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getIPAddrs">
-
- getIPAddrs<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Array.&lt;string>}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 2660
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Get the IPv4 addresses configured on the device.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Array.&lt;string>
-
-
- </td>
- <td class="description last">Returns an array of IPv4 address strings.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getMAC">
-
- getMAC<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{null|string}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 2639
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Get the MAC address of the device.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- null
- |
-
- string
-
-
- </td>
- <td class="description last">Returns the MAC address of the device or <code>null</code> if not applicable,
-e.g. for non-ethernet tunnel devices.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getMTU">
-
- getMTU<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{number}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 2650
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Get the MTU of the device.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- number
-
-
- </td>
- <td class="description last">Returns the MTU of the device.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getName">
-
- getName<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{string}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 2628
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Get the name of the network device.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- string
-
-
- </td>
- <td class="description last">Returns the name of the device, e.g. <code>eth0</code> or <code>wlan0</code>.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getNetwork">
-
- getNetwork<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{null|<a href="LuCI.Network.Protocol.html">LuCI.Network.Protocol</a>}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 2907
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Get the primary logical interface this device is assigned to.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- null
- |
-
- <a href="LuCI.Network.Protocol.html">LuCI.Network.Protocol</a>
-
-
- </td>
- <td class="description last">Returns a <code>Network.Protocol</code> instance representing the logical
-interface this device is attached to or <code>null</code> if it is not
-assigned to any logical interface.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getNetworks">
-
- getNetworks<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Array.&lt;<a href="LuCI.Network.Protocol.html">LuCI.Network.Protocol</a>>}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 2918
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Get the logical interfaces this device is assigned to.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Array.&lt;<a href="LuCI.Network.Protocol.html">LuCI.Network.Protocol</a>>
-
-
- </td>
- <td class="description last">Returns an array of <code>Network.Protocol</code> instances representing the
-logical interfaces this device is assigned to.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getPorts">
-
- getPorts<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{null|Array.&lt;<a href="LuCI.Network.Device.html">LuCI.Network.Device</a>>}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 2778
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Get the associated bridge ports of the device.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- null
- |
-
- Array.&lt;<a href="LuCI.Network.Device.html">LuCI.Network.Device</a>>
-
-
- </td>
- <td class="description last">Returns an array of <code>Network.Device</code> instances representing the ports
-(slave interfaces) of the bridge or <code>null</code> when this device isn't
-a Linux bridge.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getRXBytes">
-
- getRXBytes<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{number}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 2872
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Get the amount of received bytes.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- number
-
-
- </td>
- <td class="description last">Returns the amount of bytes received by the network device.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getRXPackets">
-
- getRXPackets<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{number}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 2894
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Get the amount of received packets.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- number
-
-
- </td>
- <td class="description last">Returns the amount of packets received by the network device.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getShortName">
-
- getShortName<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{string}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 2713
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Get a short description string for the device.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- string
-
-
- </td>
- <td class="description last">Returns the device name for non-wifi devices or a string containing
-the operation mode and SSID for wifi devices.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getTXBytes">
-
- getTXBytes<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{number}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 2861
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Get the amount of transmitted bytes.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- number
-
-
- </td>
- <td class="description last">Returns the amount of bytes transmitted by the network device.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getTXPackets">
-
- getTXPackets<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{number}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 2883
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Get the amount of transmitted packets.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- number
-
-
- </td>
- <td class="description last">Returns the amount of packets transmitted by the network device.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getType">
-
- getType<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{string}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 2689
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Get the type of the device..</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- string
-
-
- </td>
- <td class="description last">Returns a string describing the type of the network device:
-<ul>
-<li><code>alias</code> if it is an abstract alias device (<code>@</code> notation)</li>
-<li><code>wifi</code> if it is a wireless interface (e.g. <code>wlan0</code>)</li>
-<li><code>bridge</code> if it is a bridge device (e.g. <code>br-lan</code>)</li>
-<li><code>tunnel</code> if it is a tun or tap device (e.g. <code>tun0</code>)</li>
-<li><code>vlan</code> if it is a vlan device (e.g. <code>eth0.1</code>)</li>
-<li><code>switch</code> if it is a switch device (e.g.<code>eth1</code> connected to switch0)</li>
-<li><code>ethernet</code> for all other device types</li>
-</ul></td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getTypeI18n">
-
- getTypeI18n<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{string}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 2745
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Get a string describing the device type.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- string
-
-
- </td>
- <td class="description last">Returns a string describing the type, e.g. &quot;Wireless Adapter&quot; or
-&quot;Bridge&quot;.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getWifiNetwork">
-
- getWifiNetwork<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{null|<a href="LuCI.Network.WifiNetwork.html">LuCI.Network.WifiNetwork</a>}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 2942
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Get the related wireless network this device is related to.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- null
- |
-
- <a href="LuCI.Network.WifiNetwork.html">LuCI.Network.WifiNetwork</a>
-
-
- </td>
- <td class="description last">Returns a <code>Network.WifiNetwork</code> instance representing the wireless
-network corresponding to this network device or <code>null</code> if this device
-is not a wireless device.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="isBridge">
-
- isBridge<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 2840
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Checks whether this device is a Linux bridge.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- boolean
-
-
- </td>
- <td class="description last">Returns <code>true</code> when the network device is present and a Linux bridge,
-else <code>false</code>.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="isBridgePort">
-
- isBridgePort<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 2851
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Checks whether this device is part of a Linux bridge.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- boolean
-
-
- </td>
- <td class="description last">Returns <code>true</code> when this network device is part of a bridge,
-else <code>false</code>.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="isUp">
-
- isUp<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 2824
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Checks whether this device is up.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- boolean
-
-
- </td>
- <td class="description last">Returns <code>true</code> when the associated device is running pr <code>false</code>
-when it is down or absent.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
- </dl>
-
-
-
-
-
-
-
-</article>
-
-</section>
-
-
-
-
-
-
-
- <footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Nov 05 2019 10:17:12 GMT+0100 (Central European Standard Time)
- </footer>
- </div>
-</div>
-<script>prettyPrint();</script>
-<script src="scripts/jaguar.js"></script>
-</body>
-</html> \ No newline at end of file
diff --git a/documentation/jsapi/LuCI.Network.Hosts.html b/documentation/jsapi/LuCI.Network.Hosts.html
deleted file mode 100644
index fc392d8802..0000000000
--- a/documentation/jsapi/LuCI.Network.Hosts.html
+++ /dev/null
@@ -1,2421 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <meta charset="utf-8">
- <title>Class: Hosts</title>
-
-
- <script src="scripts/prettify/prettify.js"></script>
- <script src="scripts/prettify/lang-css.js"></script>
- <script src="scripts/jquery.min.js"></script>
- <!--[if lt IE 9]>
- <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
- <![endif]-->
- <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
- <link type="text/css" rel="stylesheet" href="styles/bootstrap.min.css">
- <link type="text/css" rel="stylesheet" href="styles/jaguar.css">
-
-
- <script>
- var config = {"monospaceLinks":true,"cleverLinks":true,"default":{}};
- </script>
-
-
-
-</head>
-<body>
-<div id="wrap" class="clearfix">
-
-<div class="navigation">
- <h3 class="applicationName"><a href="index.html"></a></h3>
-
- <div class="search">
- <input id="search" type="text" class="form-control input-sm" placeholder="Search Documentations">
- </div>
- <ul class="list">
-
- <li class="item" data-name="LuCI">
- <span class="title">
- <a href="LuCI.html">LuCI</a>
-
- </span>
- <ul class="members itemMembers">
-
- <span class="subtitle">Members</span>
-
- <li data-name="LuCI#env"><a href="LuCI.html#env">env</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.requestCallbackFn"><a href="LuCI.html#.requestCallbackFn">requestCallbackFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI#bind"><a href="LuCI.html#bind">bind</a></li>
-
- <li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
-
- <li data-name="LuCI#get"><a href="LuCI.html#get">get</a></li>
-
- <li data-name="LuCI#halt"><a href="LuCI.html#halt">halt</a></li>
-
- <li data-name="LuCI#hasSystemFeature"><a href="LuCI.html#hasSystemFeature">hasSystemFeature</a></li>
-
- <li data-name="LuCI#isObject"><a href="LuCI.html#isObject">isObject</a></li>
-
- <li data-name="LuCI#location"><a href="LuCI.html#location">location</a></li>
-
- <li data-name="LuCI#path"><a href="LuCI.html#path">path</a></li>
-
- <li data-name="LuCI#poll"><a href="LuCI.html#poll">poll</a></li>
-
- <li data-name="LuCI#post"><a href="LuCI.html#post">post</a></li>
-
- <li data-name="LuCI#raise"><a href="LuCI.html#raise">raise</a></li>
-
- <li data-name="LuCI#require"><a href="LuCI.html#require">require</a></li>
-
- <li data-name="LuCI#resolveDefault"><a href="LuCI.html#resolveDefault">resolveDefault</a></li>
-
- <li data-name="LuCI#resource"><a href="LuCI.html#resource">resource</a></li>
-
- <li data-name="LuCI#run"><a href="LuCI.html#run">run</a></li>
-
- <li data-name="LuCI#sortedKeys"><a href="LuCI.html#sortedKeys">sortedKeys</a></li>
-
- <li data-name="LuCI#stop"><a href="LuCI.html#stop">stop</a></li>
-
- <li data-name="LuCI#toArray"><a href="LuCI.html#toArray">toArray</a></li>
-
- <li data-name="LuCI#url"><a href="LuCI.html#url">url</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Class">
- <span class="title">
- <a href="LuCI.Class.html">LuCI.Class</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Class.extend"><a href="LuCI.Class.html#.extend">extend</a></li>
-
- <li data-name="LuCI.Class.instantiate"><a href="LuCI.Class.html#.instantiate">instantiate</a></li>
-
- <li data-name="LuCI.Class.isSubclass"><a href="LuCI.Class.html#.isSubclass">isSubclass</a></li>
-
- <li data-name="LuCI.Class.singleton"><a href="LuCI.Class.html#.singleton">singleton</a></li>
-
- <li data-name="LuCI.Class#super"><a href="LuCI.Class.html#super">super</a></li>
-
- <li data-name="LuCI.Class#varargs"><a href="LuCI.Class.html#varargs">varargs</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.dom">
- <span class="title">
- <a href="LuCI.dom.html">LuCI.dom</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.dom~ignoreCallbackFn"><a href="LuCI.dom.html#~ignoreCallbackFn">ignoreCallbackFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.dom#append"><a href="LuCI.dom.html#append">append</a></li>
-
- <li data-name="LuCI.dom#attr"><a href="LuCI.dom.html#attr">attr</a></li>
-
- <li data-name="LuCI.dom#bindClassInstance"><a href="LuCI.dom.html#bindClassInstance">bindClassInstance</a></li>
-
- <li data-name="LuCI.dom#callClassMethod"><a href="LuCI.dom.html#callClassMethod">callClassMethod</a></li>
-
- <li data-name="LuCI.dom#content"><a href="LuCI.dom.html#content">content</a></li>
-
- <li data-name="LuCI.dom#create"><a href="LuCI.dom.html#create">create</a></li>
-
- <li data-name="LuCI.dom#data"><a href="LuCI.dom.html#data">data</a></li>
-
- <li data-name="LuCI.dom#elem"><a href="LuCI.dom.html#elem">elem</a></li>
-
- <li data-name="LuCI.dom#findClassInstance"><a href="LuCI.dom.html#findClassInstance">findClassInstance</a></li>
-
- <li data-name="LuCI.dom#isEmpty"><a href="LuCI.dom.html#isEmpty">isEmpty</a></li>
-
- <li data-name="LuCI.dom#matches"><a href="LuCI.dom.html#matches">matches</a></li>
-
- <li data-name="LuCI.dom#parent"><a href="LuCI.dom.html#parent">parent</a></li>
-
- <li data-name="LuCI.dom#parse"><a href="LuCI.dom.html#parse">parse</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.fs">
- <span class="title">
- <a href="LuCI.fs.html">LuCI.fs</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.fs.FileExecResult"><a href="LuCI.fs.html#.FileExecResult">FileExecResult</a></li>
-
- <li data-name="LuCI.fs.FileStatEntry"><a href="LuCI.fs.html#.FileStatEntry">FileStatEntry</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.fs#exec"><a href="LuCI.fs.html#exec">exec</a></li>
-
- <li data-name="LuCI.fs#lines"><a href="LuCI.fs.html#lines">lines</a></li>
-
- <li data-name="LuCI.fs#list"><a href="LuCI.fs.html#list">list</a></li>
-
- <li data-name="LuCI.fs#read"><a href="LuCI.fs.html#read">read</a></li>
-
- <li data-name="LuCI.fs#remove"><a href="LuCI.fs.html#remove">remove</a></li>
-
- <li data-name="LuCI.fs#stat"><a href="LuCI.fs.html#stat">stat</a></li>
-
- <li data-name="LuCI.fs#trimmed"><a href="LuCI.fs.html#trimmed">trimmed</a></li>
-
- <li data-name="LuCI.fs#write"><a href="LuCI.fs.html#write">write</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Headers">
- <span class="title">
- <a href="LuCI.Headers.html">LuCI.Headers</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Headers#get"><a href="LuCI.Headers.html#get">get</a></li>
-
- <li data-name="LuCI.Headers#has"><a href="LuCI.Headers.html#has">has</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network">
- <span class="title">
- <a href="LuCI.Network.html">LuCI.Network</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.Network.SwitchTopology"><a href="LuCI.Network.html#.SwitchTopology">SwitchTopology</a></li>
-
- <li data-name="LuCI.Network.WifiEncryption"><a href="LuCI.Network.html#.WifiEncryption">WifiEncryption</a></li>
-
- <li data-name="LuCI.Network.WifiPeerEntry"><a href="LuCI.Network.html#.WifiPeerEntry">WifiPeerEntry</a></li>
-
- <li data-name="LuCI.Network.WifiRateEntry"><a href="LuCI.Network.html#.WifiRateEntry">WifiRateEntry</a></li>
-
- <li data-name="LuCI.Network.WifiScanResult"><a href="LuCI.Network.html#.WifiScanResult">WifiScanResult</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network#addNetwork"><a href="LuCI.Network.html#addNetwork">addNetwork</a></li>
-
- <li data-name="LuCI.Network#addWifiNetwork"><a href="LuCI.Network.html#addWifiNetwork">addWifiNetwork</a></li>
-
- <li data-name="LuCI.Network#deleteNetwork"><a href="LuCI.Network.html#deleteNetwork">deleteNetwork</a></li>
-
- <li data-name="LuCI.Network#deleteWifiNetwork"><a href="LuCI.Network.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
-
- <li data-name="LuCI.Network#flushCache"><a href="LuCI.Network.html#flushCache">flushCache</a></li>
-
- <li data-name="LuCI.Network#formatWifiEncryption"><a href="LuCI.Network.html#formatWifiEncryption">formatWifiEncryption</a></li>
-
- <li data-name="LuCI.Network#getDevice"><a href="LuCI.Network.html#getDevice">getDevice</a></li>
-
- <li data-name="LuCI.Network#getDevices"><a href="LuCI.Network.html#getDevices">getDevices</a></li>
-
- <li data-name="LuCI.Network#getDSLModemType"><a href="LuCI.Network.html#getDSLModemType">getDSLModemType</a></li>
-
- <li data-name="LuCI.Network#getHostHints"><a href="LuCI.Network.html#getHostHints">getHostHints</a></li>
-
- <li data-name="LuCI.Network#getIfnameOf"><a href="LuCI.Network.html#getIfnameOf">getIfnameOf</a></li>
-
- <li data-name="LuCI.Network#getNetwork"><a href="LuCI.Network.html#getNetwork">getNetwork</a></li>
-
- <li data-name="LuCI.Network#getNetworks"><a href="LuCI.Network.html#getNetworks">getNetworks</a></li>
-
- <li data-name="LuCI.Network#getProtocol"><a href="LuCI.Network.html#getProtocol">getProtocol</a></li>
-
- <li data-name="LuCI.Network#getProtocols"><a href="LuCI.Network.html#getProtocols">getProtocols</a></li>
-
- <li data-name="LuCI.Network#getSwitchTopologies"><a href="LuCI.Network.html#getSwitchTopologies">getSwitchTopologies</a></li>
-
- <li data-name="LuCI.Network#getWAN6Networks"><a href="LuCI.Network.html#getWAN6Networks">getWAN6Networks</a></li>
-
- <li data-name="LuCI.Network#getWANNetworks"><a href="LuCI.Network.html#getWANNetworks">getWANNetworks</a></li>
-
- <li data-name="LuCI.Network#getWifiDevice"><a href="LuCI.Network.html#getWifiDevice">getWifiDevice</a></li>
-
- <li data-name="LuCI.Network#getWifiDevices"><a href="LuCI.Network.html#getWifiDevices">getWifiDevices</a></li>
-
- <li data-name="LuCI.Network#getWifiNetwork"><a href="LuCI.Network.html#getWifiNetwork">getWifiNetwork</a></li>
-
- <li data-name="LuCI.Network#isIgnoredDevice"><a href="LuCI.Network.html#isIgnoredDevice">isIgnoredDevice</a></li>
-
- <li data-name="LuCI.Network#maskToPrefix"><a href="LuCI.Network.html#maskToPrefix">maskToPrefix</a></li>
-
- <li data-name="LuCI.Network#prefixToMask"><a href="LuCI.Network.html#prefixToMask">prefixToMask</a></li>
-
- <li data-name="LuCI.Network#registerErrorCode"><a href="LuCI.Network.html#registerErrorCode">registerErrorCode</a></li>
-
- <li data-name="LuCI.Network#registerPatternVirtual"><a href="LuCI.Network.html#registerPatternVirtual">registerPatternVirtual</a></li>
-
- <li data-name="LuCI.Network#registerProtocol"><a href="LuCI.Network.html#registerProtocol">registerProtocol</a></li>
-
- <li data-name="LuCI.Network#renameNetwork"><a href="LuCI.Network.html#renameNetwork">renameNetwork</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.Device">
- <span class="title">
- <a href="LuCI.Network.Device.html">LuCI.Network.Device</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.Device#getBridgeID"><a href="LuCI.Network.Device.html#getBridgeID">getBridgeID</a></li>
-
- <li data-name="LuCI.Network.Device#getBridgeSTP"><a href="LuCI.Network.Device.html#getBridgeSTP">getBridgeSTP</a></li>
-
- <li data-name="LuCI.Network.Device#getI18n"><a href="LuCI.Network.Device.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.Device#getIP6Addrs"><a href="LuCI.Network.Device.html#getIP6Addrs">getIP6Addrs</a></li>
-
- <li data-name="LuCI.Network.Device#getIPAddrs"><a href="LuCI.Network.Device.html#getIPAddrs">getIPAddrs</a></li>
-
- <li data-name="LuCI.Network.Device#getMAC"><a href="LuCI.Network.Device.html#getMAC">getMAC</a></li>
-
- <li data-name="LuCI.Network.Device#getMTU"><a href="LuCI.Network.Device.html#getMTU">getMTU</a></li>
-
- <li data-name="LuCI.Network.Device#getName"><a href="LuCI.Network.Device.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.Device#getNetwork"><a href="LuCI.Network.Device.html#getNetwork">getNetwork</a></li>
-
- <li data-name="LuCI.Network.Device#getNetworks"><a href="LuCI.Network.Device.html#getNetworks">getNetworks</a></li>
-
- <li data-name="LuCI.Network.Device#getPorts"><a href="LuCI.Network.Device.html#getPorts">getPorts</a></li>
-
- <li data-name="LuCI.Network.Device#getRXBytes"><a href="LuCI.Network.Device.html#getRXBytes">getRXBytes</a></li>
-
- <li data-name="LuCI.Network.Device#getRXPackets"><a href="LuCI.Network.Device.html#getRXPackets">getRXPackets</a></li>
-
- <li data-name="LuCI.Network.Device#getShortName"><a href="LuCI.Network.Device.html#getShortName">getShortName</a></li>
-
- <li data-name="LuCI.Network.Device#getTXBytes"><a href="LuCI.Network.Device.html#getTXBytes">getTXBytes</a></li>
-
- <li data-name="LuCI.Network.Device#getTXPackets"><a href="LuCI.Network.Device.html#getTXPackets">getTXPackets</a></li>
-
- <li data-name="LuCI.Network.Device#getType"><a href="LuCI.Network.Device.html#getType">getType</a></li>
-
- <li data-name="LuCI.Network.Device#getTypeI18n"><a href="LuCI.Network.Device.html#getTypeI18n">getTypeI18n</a></li>
-
- <li data-name="LuCI.Network.Device#getWifiNetwork"><a href="LuCI.Network.Device.html#getWifiNetwork">getWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.Device#isBridge"><a href="LuCI.Network.Device.html#isBridge">isBridge</a></li>
-
- <li data-name="LuCI.Network.Device#isBridgePort"><a href="LuCI.Network.Device.html#isBridgePort">isBridgePort</a></li>
-
- <li data-name="LuCI.Network.Device#isUp"><a href="LuCI.Network.Device.html#isUp">isUp</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.Hosts">
- <span class="title">
- <a href="LuCI.Network.Hosts.html">LuCI.Network.Hosts</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.Hosts#getHostnameByIP6Addr"><a href="LuCI.Network.Hosts.html#getHostnameByIP6Addr">getHostnameByIP6Addr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getHostnameByIPAddr"><a href="LuCI.Network.Hosts.html#getHostnameByIPAddr">getHostnameByIPAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getHostnameByMACAddr"><a href="LuCI.Network.Hosts.html#getHostnameByMACAddr">getHostnameByMACAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getIP6AddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIP6AddrByMACAddr">getIP6AddrByMACAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getIPAddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIPAddrByMACAddr">getIPAddrByMACAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getMACAddrByIP6Addr"><a href="LuCI.Network.Hosts.html#getMACAddrByIP6Addr">getMACAddrByIP6Addr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getMACAddrByIPAddr"><a href="LuCI.Network.Hosts.html#getMACAddrByIPAddr">getMACAddrByIPAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getMACHints"><a href="LuCI.Network.Hosts.html#getMACHints">getMACHints</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.Protocol">
- <span class="title">
- <a href="LuCI.Network.Protocol.html">LuCI.Network.Protocol</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.Protocol#addDevice"><a href="LuCI.Network.Protocol.html#addDevice">addDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#containsDevice"><a href="LuCI.Network.Protocol.html#containsDevice">containsDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#deleteDevice"><a href="LuCI.Network.Protocol.html#deleteDevice">deleteDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#get"><a href="LuCI.Network.Protocol.html#get">get</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDevice"><a href="LuCI.Network.Protocol.html#getDevice">getDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDevices"><a href="LuCI.Network.Protocol.html#getDevices">getDevices</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDNS6Addrs"><a href="LuCI.Network.Protocol.html#getDNS6Addrs">getDNS6Addrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDNSAddrs"><a href="LuCI.Network.Protocol.html#getDNSAddrs">getDNSAddrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getErrors"><a href="LuCI.Network.Protocol.html#getErrors">getErrors</a></li>
-
- <li data-name="LuCI.Network.Protocol#getExpiry"><a href="LuCI.Network.Protocol.html#getExpiry">getExpiry</a></li>
-
- <li data-name="LuCI.Network.Protocol#getGateway6Addr"><a href="LuCI.Network.Protocol.html#getGateway6Addr">getGateway6Addr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getGatewayAddr"><a href="LuCI.Network.Protocol.html#getGatewayAddr">getGatewayAddr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getI18n"><a href="LuCI.Network.Protocol.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIfname"><a href="LuCI.Network.Protocol.html#getIfname">getIfname</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIP6Addr"><a href="LuCI.Network.Protocol.html#getIP6Addr">getIP6Addr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIP6Addrs"><a href="LuCI.Network.Protocol.html#getIP6Addrs">getIP6Addrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIP6Prefix"><a href="LuCI.Network.Protocol.html#getIP6Prefix">getIP6Prefix</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIPAddr"><a href="LuCI.Network.Protocol.html#getIPAddr">getIPAddr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIPAddrs"><a href="LuCI.Network.Protocol.html#getIPAddrs">getIPAddrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getL2Device"><a href="LuCI.Network.Protocol.html#getL2Device">getL2Device</a></li>
-
- <li data-name="LuCI.Network.Protocol#getL3Device"><a href="LuCI.Network.Protocol.html#getL3Device">getL3Device</a></li>
-
- <li data-name="LuCI.Network.Protocol#getMetric"><a href="LuCI.Network.Protocol.html#getMetric">getMetric</a></li>
-
- <li data-name="LuCI.Network.Protocol#getName"><a href="LuCI.Network.Protocol.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.Protocol#getNetmask"><a href="LuCI.Network.Protocol.html#getNetmask">getNetmask</a></li>
-
- <li data-name="LuCI.Network.Protocol#getOpkgPackage"><a href="LuCI.Network.Protocol.html#getOpkgPackage">getOpkgPackage</a></li>
-
- <li data-name="LuCI.Network.Protocol#getProtocol"><a href="LuCI.Network.Protocol.html#getProtocol">getProtocol</a></li>
-
- <li data-name="LuCI.Network.Protocol#getType"><a href="LuCI.Network.Protocol.html#getType">getType</a></li>
-
- <li data-name="LuCI.Network.Protocol#getUptime"><a href="LuCI.Network.Protocol.html#getUptime">getUptime</a></li>
-
- <li data-name="LuCI.Network.Protocol#getZoneName"><a href="LuCI.Network.Protocol.html#getZoneName">getZoneName</a></li>
-
- <li data-name="LuCI.Network.Protocol#isAlias"><a href="LuCI.Network.Protocol.html#isAlias">isAlias</a></li>
-
- <li data-name="LuCI.Network.Protocol#isBridge"><a href="LuCI.Network.Protocol.html#isBridge">isBridge</a></li>
-
- <li data-name="LuCI.Network.Protocol#isDynamic"><a href="LuCI.Network.Protocol.html#isDynamic">isDynamic</a></li>
-
- <li data-name="LuCI.Network.Protocol#isEmpty"><a href="LuCI.Network.Protocol.html#isEmpty">isEmpty</a></li>
-
- <li data-name="LuCI.Network.Protocol#isFloating"><a href="LuCI.Network.Protocol.html#isFloating">isFloating</a></li>
-
- <li data-name="LuCI.Network.Protocol#isInstalled"><a href="LuCI.Network.Protocol.html#isInstalled">isInstalled</a></li>
-
- <li data-name="LuCI.Network.Protocol#isUp"><a href="LuCI.Network.Protocol.html#isUp">isUp</a></li>
-
- <li data-name="LuCI.Network.Protocol#isVirtual"><a href="LuCI.Network.Protocol.html#isVirtual">isVirtual</a></li>
-
- <li data-name="LuCI.Network.Protocol#set"><a href="LuCI.Network.Protocol.html#set">set</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.WifiDevice">
- <span class="title">
- <a href="LuCI.Network.WifiDevice.html">LuCI.Network.WifiDevice</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.WifiDevice#addWifiNetwork"><a href="LuCI.Network.WifiDevice.html#addWifiNetwork">addWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#deleteWifiNetwork"><a href="LuCI.Network.WifiDevice.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#get"><a href="LuCI.Network.WifiDevice.html#get">get</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getHTModes"><a href="LuCI.Network.WifiDevice.html#getHTModes">getHTModes</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getHWModes"><a href="LuCI.Network.WifiDevice.html#getHWModes">getHWModes</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getI18n"><a href="LuCI.Network.WifiDevice.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getName"><a href="LuCI.Network.WifiDevice.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getScanList"><a href="LuCI.Network.WifiDevice.html#getScanList">getScanList</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getWifiNetwork"><a href="LuCI.Network.WifiDevice.html#getWifiNetwork">getWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getWifiNetworks"><a href="LuCI.Network.WifiDevice.html#getWifiNetworks">getWifiNetworks</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#isDisabled"><a href="LuCI.Network.WifiDevice.html#isDisabled">isDisabled</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#isUp"><a href="LuCI.Network.WifiDevice.html#isUp">isUp</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#set"><a href="LuCI.Network.WifiDevice.html#set">set</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.WifiNetwork">
- <span class="title">
- <a href="LuCI.Network.WifiNetwork.html">LuCI.Network.WifiNetwork</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.WifiNetwork#get"><a href="LuCI.Network.WifiNetwork.html#get">get</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveBSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveBSSID">getActiveBSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveEncryption"><a href="LuCI.Network.WifiNetwork.html#getActiveEncryption">getActiveEncryption</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveMode"><a href="LuCI.Network.WifiNetwork.html#getActiveMode">getActiveMode</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveModeI18n"><a href="LuCI.Network.WifiNetwork.html#getActiveModeI18n">getActiveModeI18n</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveSSID">getActiveSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getAssocList"><a href="LuCI.Network.WifiNetwork.html#getAssocList">getAssocList</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getBitRate"><a href="LuCI.Network.WifiNetwork.html#getBitRate">getBitRate</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getBSSID"><a href="LuCI.Network.WifiNetwork.html#getBSSID">getBSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getChannel"><a href="LuCI.Network.WifiNetwork.html#getChannel">getChannel</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getCountryCode"><a href="LuCI.Network.WifiNetwork.html#getCountryCode">getCountryCode</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getDevice"><a href="LuCI.Network.WifiNetwork.html#getDevice">getDevice</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getFrequency"><a href="LuCI.Network.WifiNetwork.html#getFrequency">getFrequency</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getI18n"><a href="LuCI.Network.WifiNetwork.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getID"><a href="LuCI.Network.WifiNetwork.html#getID">getID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getIfname"><a href="LuCI.Network.WifiNetwork.html#getIfname">getIfname</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getMeshID"><a href="LuCI.Network.WifiNetwork.html#getMeshID">getMeshID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getMode"><a href="LuCI.Network.WifiNetwork.html#getMode">getMode</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getName"><a href="LuCI.Network.WifiNetwork.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNetwork"><a href="LuCI.Network.WifiNetwork.html#getNetwork">getNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNetworkNames"><a href="LuCI.Network.WifiNetwork.html#getNetworkNames">getNetworkNames</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNetworks"><a href="LuCI.Network.WifiNetwork.html#getNetworks">getNetworks</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNoise"><a href="LuCI.Network.WifiNetwork.html#getNoise">getNoise</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getShortName"><a href="LuCI.Network.WifiNetwork.html#getShortName">getShortName</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSignal"><a href="LuCI.Network.WifiNetwork.html#getSignal">getSignal</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSignalLevel"><a href="LuCI.Network.WifiNetwork.html#getSignalLevel">getSignalLevel</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSignalPercent"><a href="LuCI.Network.WifiNetwork.html#getSignalPercent">getSignalPercent</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSSID"><a href="LuCI.Network.WifiNetwork.html#getSSID">getSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getTXPower"><a href="LuCI.Network.WifiNetwork.html#getTXPower">getTXPower</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getTXPowerOffset"><a href="LuCI.Network.WifiNetwork.html#getTXPowerOffset">getTXPowerOffset</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getWifiDevice"><a href="LuCI.Network.WifiNetwork.html#getWifiDevice">getWifiDevice</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getWifiDeviceName"><a href="LuCI.Network.WifiNetwork.html#getWifiDeviceName">getWifiDeviceName</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#isDisabled"><a href="LuCI.Network.WifiNetwork.html#isDisabled">isDisabled</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#isUp"><a href="LuCI.Network.WifiNetwork.html#isUp">isUp</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#set"><a href="LuCI.Network.WifiNetwork.html#set">set</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Poll">
- <span class="title">
- <a href="LuCI.Poll.html">LuCI.Poll</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Poll#active"><a href="LuCI.Poll.html#active">active</a></li>
-
- <li data-name="LuCI.Poll#add"><a href="LuCI.Poll.html#add">add</a></li>
-
- <li data-name="LuCI.Poll#remove"><a href="LuCI.Poll.html#remove">remove</a></li>
-
- <li data-name="LuCI.Poll#start"><a href="LuCI.Poll.html#start">start</a></li>
-
- <li data-name="LuCI.Poll#stop"><a href="LuCI.Poll.html#stop">stop</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Request">
- <span class="title">
- <a href="LuCI.Request.html">LuCI.Request</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.Request.interceptorFn"><a href="LuCI.Request.html#.interceptorFn">interceptorFn</a></li>
-
- <li data-name="LuCI.Request.RequestOptions"><a href="LuCI.Request.html#.RequestOptions">RequestOptions</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Request#addInterceptor"><a href="LuCI.Request.html#addInterceptor">addInterceptor</a></li>
-
- <li data-name="LuCI.Request#expandURL"><a href="LuCI.Request.html#expandURL">expandURL</a></li>
-
- <li data-name="LuCI.Request#get"><a href="LuCI.Request.html#get">get</a></li>
-
- <li data-name="LuCI.Request#post"><a href="LuCI.Request.html#post">post</a></li>
-
- <li data-name="LuCI.Request#removeInterceptor"><a href="LuCI.Request.html#removeInterceptor">removeInterceptor</a></li>
-
- <li data-name="LuCI.Request#request"><a href="LuCI.Request.html#request">request</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Request.poll">
- <span class="title">
- <a href="LuCI.Request.poll.html">LuCI.Request.poll</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.Request.poll~callbackFn"><a href="LuCI.Request.poll.html#~callbackFn">callbackFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Request.poll#active"><a href="LuCI.Request.poll.html#active">active</a></li>
-
- <li data-name="LuCI.Request.poll#add"><a href="LuCI.Request.poll.html#add">add</a></li>
-
- <li data-name="LuCI.Request.poll#remove"><a href="LuCI.Request.poll.html#remove">remove</a></li>
-
- <li data-name="LuCI.Request.poll#start"><a href="LuCI.Request.poll.html#start">start</a></li>
-
- <li data-name="LuCI.Request.poll#stop"><a href="LuCI.Request.poll.html#stop">stop</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Response">
- <span class="title">
- <a href="LuCI.Response.html">LuCI.Response</a>
-
- </span>
- <ul class="members itemMembers">
-
- <span class="subtitle">Members</span>
-
- <li data-name="LuCI.Response#duration"><a href="LuCI.Response.html#duration">duration</a></li>
-
- <li data-name="LuCI.Response#headers"><a href="LuCI.Response.html#headers">headers</a></li>
-
- <li data-name="LuCI.Response#ok"><a href="LuCI.Response.html#ok">ok</a></li>
-
- <li data-name="LuCI.Response#status"><a href="LuCI.Response.html#status">status</a></li>
-
- <li data-name="LuCI.Response#statusText"><a href="LuCI.Response.html#statusText">statusText</a></li>
-
- <li data-name="LuCI.Response#url"><a href="LuCI.Response.html#url">url</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Response#clone"><a href="LuCI.Response.html#clone">clone</a></li>
-
- <li data-name="LuCI.Response#json"><a href="LuCI.Response.html#json">json</a></li>
-
- <li data-name="LuCI.Response#text"><a href="LuCI.Response.html#text">text</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.rpc">
- <span class="title">
- <a href="LuCI.rpc.html">LuCI.rpc</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.rpc.DeclareOptions"><a href="LuCI.rpc.html#.DeclareOptions">DeclareOptions</a></li>
-
- <li data-name="LuCI.rpc~filterFn"><a href="LuCI.rpc.html#~filterFn">filterFn</a></li>
-
- <li data-name="LuCI.rpc~interceptorFn"><a href="LuCI.rpc.html#~interceptorFn">interceptorFn</a></li>
-
- <li data-name="LuCI.rpc~invokeFn"><a href="LuCI.rpc.html#~invokeFn">invokeFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.rpc#addInterceptor"><a href="LuCI.rpc.html#addInterceptor">addInterceptor</a></li>
-
- <li data-name="LuCI.rpc#declare"><a href="LuCI.rpc.html#declare">declare</a></li>
-
- <li data-name="LuCI.rpc#getBaseURL"><a href="LuCI.rpc.html#getBaseURL">getBaseURL</a></li>
-
- <li data-name="LuCI.rpc#getSessionID"><a href="LuCI.rpc.html#getSessionID">getSessionID</a></li>
-
- <li data-name="LuCI.rpc#getStatusText"><a href="LuCI.rpc.html#getStatusText">getStatusText</a></li>
-
- <li data-name="LuCI.rpc#list"><a href="LuCI.rpc.html#list">list</a></li>
-
- <li data-name="LuCI.rpc#removeInterceptor"><a href="LuCI.rpc.html#removeInterceptor">removeInterceptor</a></li>
-
- <li data-name="LuCI.rpc#setBaseURL"><a href="LuCI.rpc.html#setBaseURL">setBaseURL</a></li>
-
- <li data-name="LuCI.rpc#setSessionID"><a href="LuCI.rpc.html#setSessionID">setSessionID</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.uci">
- <span class="title">
- <a href="LuCI.uci.html">LuCI.uci</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.uci.ChangeRecord"><a href="LuCI.uci.html#.ChangeRecord">ChangeRecord</a></li>
-
- <li data-name="LuCI.uci.SectionObject"><a href="LuCI.uci.html#.SectionObject">SectionObject</a></li>
-
- <li data-name="LuCI.uci~sectionsFn"><a href="LuCI.uci.html#~sectionsFn">sectionsFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.uci#add"><a href="LuCI.uci.html#add">add</a></li>
-
- <li data-name="LuCI.uci#apply"><a href="LuCI.uci.html#apply">apply</a></li>
-
- <li data-name="LuCI.uci#changes"><a href="LuCI.uci.html#changes">changes</a></li>
-
- <li data-name="LuCI.uci#createSID"><a href="LuCI.uci.html#createSID">createSID</a></li>
-
- <li data-name="LuCI.uci#get"><a href="LuCI.uci.html#get">get</a></li>
-
- <li data-name="LuCI.uci#get_first"><a href="LuCI.uci.html#get_first">get_first</a></li>
-
- <li data-name="LuCI.uci#load"><a href="LuCI.uci.html#load">load</a></li>
-
- <li data-name="LuCI.uci#move"><a href="LuCI.uci.html#move">move</a></li>
-
- <li data-name="LuCI.uci#remove"><a href="LuCI.uci.html#remove">remove</a></li>
-
- <li data-name="LuCI.uci#resolveSID"><a href="LuCI.uci.html#resolveSID">resolveSID</a></li>
-
- <li data-name="LuCI.uci#save"><a href="LuCI.uci.html#save">save</a></li>
-
- <li data-name="LuCI.uci#sections"><a href="LuCI.uci.html#sections">sections</a></li>
-
- <li data-name="LuCI.uci#set"><a href="LuCI.uci.html#set">set</a></li>
-
- <li data-name="LuCI.uci#set_first"><a href="LuCI.uci.html#set_first">set_first</a></li>
-
- <li data-name="LuCI.uci#unload"><a href="LuCI.uci.html#unload">unload</a></li>
-
- <li data-name="LuCI.uci#unset"><a href="LuCI.uci.html#unset">unset</a></li>
-
- <li data-name="LuCI.uci#unset_first"><a href="LuCI.uci.html#unset_first">unset_first</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.view">
- <span class="title">
- <a href="LuCI.view.html">LuCI.view</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.view#addFooter"><a href="LuCI.view.html#addFooter">addFooter</a></li>
-
- <li data-name="LuCI.view#handleReset"><a href="LuCI.view.html#handleReset">handleReset</a></li>
-
- <li data-name="LuCI.view#handleSave"><a href="LuCI.view.html#handleSave">handleSave</a></li>
-
- <li data-name="LuCI.view#handleSaveApply"><a href="LuCI.view.html#handleSaveApply">handleSaveApply</a></li>
-
- <li data-name="LuCI.view#load"><a href="LuCI.view.html#load">load</a></li>
-
- <li data-name="LuCI.view#render"><a href="LuCI.view.html#render">render</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.XHR">
- <span class="title">
- <a href="LuCI.XHR.html">LuCI.XHR</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.XHR#abort"><a href="LuCI.XHR.html#abort">abort</a></li>
-
- <li data-name="LuCI.XHR#busy"><a href="LuCI.XHR.html#busy">busy</a></li>
-
- <li data-name="LuCI.XHR#cancel"><a href="LuCI.XHR.html#cancel">cancel</a></li>
-
- <li data-name="LuCI.XHR#get"><a href="LuCI.XHR.html#get">get</a></li>
-
- <li data-name="LuCI.XHR#post"><a href="LuCI.XHR.html#post">post</a></li>
-
- <li data-name="LuCI.XHR#send_form"><a href="LuCI.XHR.html#send_form">send_form</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- </ul>
-</div>
- <div class="main">
- <h1 class="page-title" data-filename="LuCI.Network.Hosts.html">Class: Hosts</h1>
-
-
-
-
-<section>
-
-<header>
- <h2>
- <span class="ancestors"><a href="LuCI.html">LuCI</a><a href="LuCI.Network.html">.Network</a>.</span>
-
- Hosts
- </h2>
-
- <div class="class-description"><p>The <code>LuCI.Network.Hosts</code> class encapsulates host information aggregated
-from multiple sources and provides convenience functions to access the
-host information by different criteria.</p></div>
-
-</header>
-
-<article>
- <div class="container-overview">
-
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="Hosts">
-
- new LuCI.Network.Hosts<span class="signature">()</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 1628
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dd>
-
-
- </div>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- <h3 class="subsection-title">Methods</h3>
-
- <dl>
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getHostnameByIP6Addr">
-
- getHostnameByIP6Addr<span class="signature">(ipaddr)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{null|string}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 1725
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Lookup the hostname associated with the given IPv6 address.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>ipaddr</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The IPv6 address to lookup.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- null
- |
-
- string
-
-
- </td>
- <td class="description last">Returns the hostname associated with the given IPv6 or <code>null</code> if
-no matching host could be found or if no hostname is known for
-the corresponding host.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getHostnameByIPAddr">
-
- getHostnameByIPAddr<span class="signature">(ipaddr)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{null|string}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 1689
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Lookup the hostname associated with the given IPv4 address.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>ipaddr</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The IPv4 address to lookup.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- null
- |
-
- string
-
-
- </td>
- <td class="description last">Returns the hostname associated with the given IPv4 or <code>null</code> if
-no matching host could be found or if no hostname is known for
-the corresponding host.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getHostnameByMACAddr">
-
- getHostnameByMACAddr<span class="signature">(mac)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{null|string}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 1644
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Lookup the hostname associated with the given MAC address.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>mac</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The MAC address to lookup.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- null
- |
-
- string
-
-
- </td>
- <td class="description last">Returns the hostname associated with the given MAC or <code>null</code> if
-no matching host could be found or if no hostname is known for
-the corresponding host.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getIP6AddrByMACAddr">
-
- getIP6AddrByMACAddr<span class="signature">(mac)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{null|string}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 1674
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Lookup the IPv6 address associated with the given MAC address.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>mac</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The MAC address to lookup.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- null
- |
-
- string
-
-
- </td>
- <td class="description last">Returns the IPv6 address associated with the given MAC or <code>null</code> if
-no matching host could be found or if no IPv6 address is known for
-the corresponding host.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getIPAddrByMACAddr">
-
- getIPAddrByMACAddr<span class="signature">(mac)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{null|string}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 1659
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Lookup the IPv4 address associated with the given MAC address.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>mac</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The MAC address to lookup.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- null
- |
-
- string
-
-
- </td>
- <td class="description last">Returns the IPv4 address associated with the given MAC or <code>null</code> if
-no matching host could be found or if no IPv4 address is known for
-the corresponding host.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getMACAddrByIP6Addr">
-
- getMACAddrByIP6Addr<span class="signature">(ipaddr)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{null|string}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 1743
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Lookup the MAC address associated with the given IPv6 address.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>ipaddr</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The IPv6 address to lookup.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- null
- |
-
- string
-
-
- </td>
- <td class="description last">Returns the MAC address associated with the given IPv6 or <code>null</code> if
-no matching host could be found or if no MAC address is known for
-the corresponding host.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getMACAddrByIPAddr">
-
- getMACAddrByIPAddr<span class="signature">(ipaddr)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{null|string}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 1707
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Lookup the MAC address associated with the given IPv4 address.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>ipaddr</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The IPv4 address to lookup.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- null
- |
-
- string
-
-
- </td>
- <td class="description last">Returns the MAC address associated with the given IPv4 or <code>null</code> if
-no matching host could be found or if no MAC address is known for
-the corresponding host.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getMACHints">
-
- getMACHints<span class="signature">(<span class="optional">preferIp6</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Array.&lt;Array.&lt;string>>}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 1771
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Return an array of (MAC address, name hint) tuples sorted by
-MAC address.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
- <th>Default</th>
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>preferIp6</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">boolean</span>
-
-
-
- </td>
-
-
- <td class="default">
-
- false
-
- </td>
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
-
- <p>Whether to prefer IPv6 addresses (<code>true</code>) or IPv4 addresses (<code>false</code>)
-as name hint when no hostname is known for a specific MAC address.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Array.&lt;Array.&lt;string>>
-
-
- </td>
- <td class="description last">Returns an array of arrays containing a name hint for each found
-MAC address on the system. The array is sorted ascending by MAC.
-Each item of the resulting array is a two element array with the
-MAC being the first element and the name hint being the second
-element. The name hint is either the hostname, an IPv4 or an IPv6
-address related to the MAC address.
-If no hostname but both IPv4 and IPv6 addresses are known, the
-<code>preferIP6</code> flag specifies whether the IPv6 or the IPv4 address
-is used as hint.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
- </dl>
-
-
-
-
-
-
-
-</article>
-
-</section>
-
-
-
-
-
-
-
- <footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Nov 05 2019 10:17:12 GMT+0100 (Central European Standard Time)
- </footer>
- </div>
-</div>
-<script>prettyPrint();</script>
-<script src="scripts/jaguar.js"></script>
-</body>
-</html> \ No newline at end of file
diff --git a/documentation/jsapi/LuCI.Network.Protocol.html b/documentation/jsapi/LuCI.Network.Protocol.html
deleted file mode 100644
index 20239bce80..0000000000
--- a/documentation/jsapi/LuCI.Network.Protocol.html
+++ /dev/null
@@ -1,5394 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <meta charset="utf-8">
- <title>Class: Protocol</title>
-
-
- <script src="scripts/prettify/prettify.js"></script>
- <script src="scripts/prettify/lang-css.js"></script>
- <script src="scripts/jquery.min.js"></script>
- <!--[if lt IE 9]>
- <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
- <![endif]-->
- <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
- <link type="text/css" rel="stylesheet" href="styles/bootstrap.min.css">
- <link type="text/css" rel="stylesheet" href="styles/jaguar.css">
-
-
- <script>
- var config = {"monospaceLinks":true,"cleverLinks":true,"default":{}};
- </script>
-
-
-
-</head>
-<body>
-<div id="wrap" class="clearfix">
-
-<div class="navigation">
- <h3 class="applicationName"><a href="index.html"></a></h3>
-
- <div class="search">
- <input id="search" type="text" class="form-control input-sm" placeholder="Search Documentations">
- </div>
- <ul class="list">
-
- <li class="item" data-name="LuCI">
- <span class="title">
- <a href="LuCI.html">LuCI</a>
-
- </span>
- <ul class="members itemMembers">
-
- <span class="subtitle">Members</span>
-
- <li data-name="LuCI#env"><a href="LuCI.html#env">env</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.requestCallbackFn"><a href="LuCI.html#.requestCallbackFn">requestCallbackFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI#bind"><a href="LuCI.html#bind">bind</a></li>
-
- <li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
-
- <li data-name="LuCI#get"><a href="LuCI.html#get">get</a></li>
-
- <li data-name="LuCI#halt"><a href="LuCI.html#halt">halt</a></li>
-
- <li data-name="LuCI#hasSystemFeature"><a href="LuCI.html#hasSystemFeature">hasSystemFeature</a></li>
-
- <li data-name="LuCI#isObject"><a href="LuCI.html#isObject">isObject</a></li>
-
- <li data-name="LuCI#location"><a href="LuCI.html#location">location</a></li>
-
- <li data-name="LuCI#path"><a href="LuCI.html#path">path</a></li>
-
- <li data-name="LuCI#poll"><a href="LuCI.html#poll">poll</a></li>
-
- <li data-name="LuCI#post"><a href="LuCI.html#post">post</a></li>
-
- <li data-name="LuCI#raise"><a href="LuCI.html#raise">raise</a></li>
-
- <li data-name="LuCI#require"><a href="LuCI.html#require">require</a></li>
-
- <li data-name="LuCI#resolveDefault"><a href="LuCI.html#resolveDefault">resolveDefault</a></li>
-
- <li data-name="LuCI#resource"><a href="LuCI.html#resource">resource</a></li>
-
- <li data-name="LuCI#run"><a href="LuCI.html#run">run</a></li>
-
- <li data-name="LuCI#sortedKeys"><a href="LuCI.html#sortedKeys">sortedKeys</a></li>
-
- <li data-name="LuCI#stop"><a href="LuCI.html#stop">stop</a></li>
-
- <li data-name="LuCI#toArray"><a href="LuCI.html#toArray">toArray</a></li>
-
- <li data-name="LuCI#url"><a href="LuCI.html#url">url</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Class">
- <span class="title">
- <a href="LuCI.Class.html">LuCI.Class</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Class.extend"><a href="LuCI.Class.html#.extend">extend</a></li>
-
- <li data-name="LuCI.Class.instantiate"><a href="LuCI.Class.html#.instantiate">instantiate</a></li>
-
- <li data-name="LuCI.Class.isSubclass"><a href="LuCI.Class.html#.isSubclass">isSubclass</a></li>
-
- <li data-name="LuCI.Class.singleton"><a href="LuCI.Class.html#.singleton">singleton</a></li>
-
- <li data-name="LuCI.Class#super"><a href="LuCI.Class.html#super">super</a></li>
-
- <li data-name="LuCI.Class#varargs"><a href="LuCI.Class.html#varargs">varargs</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.dom">
- <span class="title">
- <a href="LuCI.dom.html">LuCI.dom</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.dom~ignoreCallbackFn"><a href="LuCI.dom.html#~ignoreCallbackFn">ignoreCallbackFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.dom#append"><a href="LuCI.dom.html#append">append</a></li>
-
- <li data-name="LuCI.dom#attr"><a href="LuCI.dom.html#attr">attr</a></li>
-
- <li data-name="LuCI.dom#bindClassInstance"><a href="LuCI.dom.html#bindClassInstance">bindClassInstance</a></li>
-
- <li data-name="LuCI.dom#callClassMethod"><a href="LuCI.dom.html#callClassMethod">callClassMethod</a></li>
-
- <li data-name="LuCI.dom#content"><a href="LuCI.dom.html#content">content</a></li>
-
- <li data-name="LuCI.dom#create"><a href="LuCI.dom.html#create">create</a></li>
-
- <li data-name="LuCI.dom#data"><a href="LuCI.dom.html#data">data</a></li>
-
- <li data-name="LuCI.dom#elem"><a href="LuCI.dom.html#elem">elem</a></li>
-
- <li data-name="LuCI.dom#findClassInstance"><a href="LuCI.dom.html#findClassInstance">findClassInstance</a></li>
-
- <li data-name="LuCI.dom#isEmpty"><a href="LuCI.dom.html#isEmpty">isEmpty</a></li>
-
- <li data-name="LuCI.dom#matches"><a href="LuCI.dom.html#matches">matches</a></li>
-
- <li data-name="LuCI.dom#parent"><a href="LuCI.dom.html#parent">parent</a></li>
-
- <li data-name="LuCI.dom#parse"><a href="LuCI.dom.html#parse">parse</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.fs">
- <span class="title">
- <a href="LuCI.fs.html">LuCI.fs</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.fs.FileExecResult"><a href="LuCI.fs.html#.FileExecResult">FileExecResult</a></li>
-
- <li data-name="LuCI.fs.FileStatEntry"><a href="LuCI.fs.html#.FileStatEntry">FileStatEntry</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.fs#exec"><a href="LuCI.fs.html#exec">exec</a></li>
-
- <li data-name="LuCI.fs#lines"><a href="LuCI.fs.html#lines">lines</a></li>
-
- <li data-name="LuCI.fs#list"><a href="LuCI.fs.html#list">list</a></li>
-
- <li data-name="LuCI.fs#read"><a href="LuCI.fs.html#read">read</a></li>
-
- <li data-name="LuCI.fs#remove"><a href="LuCI.fs.html#remove">remove</a></li>
-
- <li data-name="LuCI.fs#stat"><a href="LuCI.fs.html#stat">stat</a></li>
-
- <li data-name="LuCI.fs#trimmed"><a href="LuCI.fs.html#trimmed">trimmed</a></li>
-
- <li data-name="LuCI.fs#write"><a href="LuCI.fs.html#write">write</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Headers">
- <span class="title">
- <a href="LuCI.Headers.html">LuCI.Headers</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Headers#get"><a href="LuCI.Headers.html#get">get</a></li>
-
- <li data-name="LuCI.Headers#has"><a href="LuCI.Headers.html#has">has</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network">
- <span class="title">
- <a href="LuCI.Network.html">LuCI.Network</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.Network.SwitchTopology"><a href="LuCI.Network.html#.SwitchTopology">SwitchTopology</a></li>
-
- <li data-name="LuCI.Network.WifiEncryption"><a href="LuCI.Network.html#.WifiEncryption">WifiEncryption</a></li>
-
- <li data-name="LuCI.Network.WifiPeerEntry"><a href="LuCI.Network.html#.WifiPeerEntry">WifiPeerEntry</a></li>
-
- <li data-name="LuCI.Network.WifiRateEntry"><a href="LuCI.Network.html#.WifiRateEntry">WifiRateEntry</a></li>
-
- <li data-name="LuCI.Network.WifiScanResult"><a href="LuCI.Network.html#.WifiScanResult">WifiScanResult</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network#addNetwork"><a href="LuCI.Network.html#addNetwork">addNetwork</a></li>
-
- <li data-name="LuCI.Network#addWifiNetwork"><a href="LuCI.Network.html#addWifiNetwork">addWifiNetwork</a></li>
-
- <li data-name="LuCI.Network#deleteNetwork"><a href="LuCI.Network.html#deleteNetwork">deleteNetwork</a></li>
-
- <li data-name="LuCI.Network#deleteWifiNetwork"><a href="LuCI.Network.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
-
- <li data-name="LuCI.Network#flushCache"><a href="LuCI.Network.html#flushCache">flushCache</a></li>
-
- <li data-name="LuCI.Network#formatWifiEncryption"><a href="LuCI.Network.html#formatWifiEncryption">formatWifiEncryption</a></li>
-
- <li data-name="LuCI.Network#getDevice"><a href="LuCI.Network.html#getDevice">getDevice</a></li>
-
- <li data-name="LuCI.Network#getDevices"><a href="LuCI.Network.html#getDevices">getDevices</a></li>
-
- <li data-name="LuCI.Network#getDSLModemType"><a href="LuCI.Network.html#getDSLModemType">getDSLModemType</a></li>
-
- <li data-name="LuCI.Network#getHostHints"><a href="LuCI.Network.html#getHostHints">getHostHints</a></li>
-
- <li data-name="LuCI.Network#getIfnameOf"><a href="LuCI.Network.html#getIfnameOf">getIfnameOf</a></li>
-
- <li data-name="LuCI.Network#getNetwork"><a href="LuCI.Network.html#getNetwork">getNetwork</a></li>
-
- <li data-name="LuCI.Network#getNetworks"><a href="LuCI.Network.html#getNetworks">getNetworks</a></li>
-
- <li data-name="LuCI.Network#getProtocol"><a href="LuCI.Network.html#getProtocol">getProtocol</a></li>
-
- <li data-name="LuCI.Network#getProtocols"><a href="LuCI.Network.html#getProtocols">getProtocols</a></li>
-
- <li data-name="LuCI.Network#getSwitchTopologies"><a href="LuCI.Network.html#getSwitchTopologies">getSwitchTopologies</a></li>
-
- <li data-name="LuCI.Network#getWAN6Networks"><a href="LuCI.Network.html#getWAN6Networks">getWAN6Networks</a></li>
-
- <li data-name="LuCI.Network#getWANNetworks"><a href="LuCI.Network.html#getWANNetworks">getWANNetworks</a></li>
-
- <li data-name="LuCI.Network#getWifiDevice"><a href="LuCI.Network.html#getWifiDevice">getWifiDevice</a></li>
-
- <li data-name="LuCI.Network#getWifiDevices"><a href="LuCI.Network.html#getWifiDevices">getWifiDevices</a></li>
-
- <li data-name="LuCI.Network#getWifiNetwork"><a href="LuCI.Network.html#getWifiNetwork">getWifiNetwork</a></li>
-
- <li data-name="LuCI.Network#isIgnoredDevice"><a href="LuCI.Network.html#isIgnoredDevice">isIgnoredDevice</a></li>
-
- <li data-name="LuCI.Network#maskToPrefix"><a href="LuCI.Network.html#maskToPrefix">maskToPrefix</a></li>
-
- <li data-name="LuCI.Network#prefixToMask"><a href="LuCI.Network.html#prefixToMask">prefixToMask</a></li>
-
- <li data-name="LuCI.Network#registerErrorCode"><a href="LuCI.Network.html#registerErrorCode">registerErrorCode</a></li>
-
- <li data-name="LuCI.Network#registerPatternVirtual"><a href="LuCI.Network.html#registerPatternVirtual">registerPatternVirtual</a></li>
-
- <li data-name="LuCI.Network#registerProtocol"><a href="LuCI.Network.html#registerProtocol">registerProtocol</a></li>
-
- <li data-name="LuCI.Network#renameNetwork"><a href="LuCI.Network.html#renameNetwork">renameNetwork</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.Device">
- <span class="title">
- <a href="LuCI.Network.Device.html">LuCI.Network.Device</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.Device#getBridgeID"><a href="LuCI.Network.Device.html#getBridgeID">getBridgeID</a></li>
-
- <li data-name="LuCI.Network.Device#getBridgeSTP"><a href="LuCI.Network.Device.html#getBridgeSTP">getBridgeSTP</a></li>
-
- <li data-name="LuCI.Network.Device#getI18n"><a href="LuCI.Network.Device.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.Device#getIP6Addrs"><a href="LuCI.Network.Device.html#getIP6Addrs">getIP6Addrs</a></li>
-
- <li data-name="LuCI.Network.Device#getIPAddrs"><a href="LuCI.Network.Device.html#getIPAddrs">getIPAddrs</a></li>
-
- <li data-name="LuCI.Network.Device#getMAC"><a href="LuCI.Network.Device.html#getMAC">getMAC</a></li>
-
- <li data-name="LuCI.Network.Device#getMTU"><a href="LuCI.Network.Device.html#getMTU">getMTU</a></li>
-
- <li data-name="LuCI.Network.Device#getName"><a href="LuCI.Network.Device.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.Device#getNetwork"><a href="LuCI.Network.Device.html#getNetwork">getNetwork</a></li>
-
- <li data-name="LuCI.Network.Device#getNetworks"><a href="LuCI.Network.Device.html#getNetworks">getNetworks</a></li>
-
- <li data-name="LuCI.Network.Device#getPorts"><a href="LuCI.Network.Device.html#getPorts">getPorts</a></li>
-
- <li data-name="LuCI.Network.Device#getRXBytes"><a href="LuCI.Network.Device.html#getRXBytes">getRXBytes</a></li>
-
- <li data-name="LuCI.Network.Device#getRXPackets"><a href="LuCI.Network.Device.html#getRXPackets">getRXPackets</a></li>
-
- <li data-name="LuCI.Network.Device#getShortName"><a href="LuCI.Network.Device.html#getShortName">getShortName</a></li>
-
- <li data-name="LuCI.Network.Device#getTXBytes"><a href="LuCI.Network.Device.html#getTXBytes">getTXBytes</a></li>
-
- <li data-name="LuCI.Network.Device#getTXPackets"><a href="LuCI.Network.Device.html#getTXPackets">getTXPackets</a></li>
-
- <li data-name="LuCI.Network.Device#getType"><a href="LuCI.Network.Device.html#getType">getType</a></li>
-
- <li data-name="LuCI.Network.Device#getTypeI18n"><a href="LuCI.Network.Device.html#getTypeI18n">getTypeI18n</a></li>
-
- <li data-name="LuCI.Network.Device#getWifiNetwork"><a href="LuCI.Network.Device.html#getWifiNetwork">getWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.Device#isBridge"><a href="LuCI.Network.Device.html#isBridge">isBridge</a></li>
-
- <li data-name="LuCI.Network.Device#isBridgePort"><a href="LuCI.Network.Device.html#isBridgePort">isBridgePort</a></li>
-
- <li data-name="LuCI.Network.Device#isUp"><a href="LuCI.Network.Device.html#isUp">isUp</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.Hosts">
- <span class="title">
- <a href="LuCI.Network.Hosts.html">LuCI.Network.Hosts</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.Hosts#getHostnameByIP6Addr"><a href="LuCI.Network.Hosts.html#getHostnameByIP6Addr">getHostnameByIP6Addr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getHostnameByIPAddr"><a href="LuCI.Network.Hosts.html#getHostnameByIPAddr">getHostnameByIPAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getHostnameByMACAddr"><a href="LuCI.Network.Hosts.html#getHostnameByMACAddr">getHostnameByMACAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getIP6AddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIP6AddrByMACAddr">getIP6AddrByMACAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getIPAddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIPAddrByMACAddr">getIPAddrByMACAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getMACAddrByIP6Addr"><a href="LuCI.Network.Hosts.html#getMACAddrByIP6Addr">getMACAddrByIP6Addr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getMACAddrByIPAddr"><a href="LuCI.Network.Hosts.html#getMACAddrByIPAddr">getMACAddrByIPAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getMACHints"><a href="LuCI.Network.Hosts.html#getMACHints">getMACHints</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.Protocol">
- <span class="title">
- <a href="LuCI.Network.Protocol.html">LuCI.Network.Protocol</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.Protocol#addDevice"><a href="LuCI.Network.Protocol.html#addDevice">addDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#containsDevice"><a href="LuCI.Network.Protocol.html#containsDevice">containsDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#deleteDevice"><a href="LuCI.Network.Protocol.html#deleteDevice">deleteDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#get"><a href="LuCI.Network.Protocol.html#get">get</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDevice"><a href="LuCI.Network.Protocol.html#getDevice">getDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDevices"><a href="LuCI.Network.Protocol.html#getDevices">getDevices</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDNS6Addrs"><a href="LuCI.Network.Protocol.html#getDNS6Addrs">getDNS6Addrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDNSAddrs"><a href="LuCI.Network.Protocol.html#getDNSAddrs">getDNSAddrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getErrors"><a href="LuCI.Network.Protocol.html#getErrors">getErrors</a></li>
-
- <li data-name="LuCI.Network.Protocol#getExpiry"><a href="LuCI.Network.Protocol.html#getExpiry">getExpiry</a></li>
-
- <li data-name="LuCI.Network.Protocol#getGateway6Addr"><a href="LuCI.Network.Protocol.html#getGateway6Addr">getGateway6Addr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getGatewayAddr"><a href="LuCI.Network.Protocol.html#getGatewayAddr">getGatewayAddr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getI18n"><a href="LuCI.Network.Protocol.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIfname"><a href="LuCI.Network.Protocol.html#getIfname">getIfname</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIP6Addr"><a href="LuCI.Network.Protocol.html#getIP6Addr">getIP6Addr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIP6Addrs"><a href="LuCI.Network.Protocol.html#getIP6Addrs">getIP6Addrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIP6Prefix"><a href="LuCI.Network.Protocol.html#getIP6Prefix">getIP6Prefix</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIPAddr"><a href="LuCI.Network.Protocol.html#getIPAddr">getIPAddr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIPAddrs"><a href="LuCI.Network.Protocol.html#getIPAddrs">getIPAddrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getL2Device"><a href="LuCI.Network.Protocol.html#getL2Device">getL2Device</a></li>
-
- <li data-name="LuCI.Network.Protocol#getL3Device"><a href="LuCI.Network.Protocol.html#getL3Device">getL3Device</a></li>
-
- <li data-name="LuCI.Network.Protocol#getMetric"><a href="LuCI.Network.Protocol.html#getMetric">getMetric</a></li>
-
- <li data-name="LuCI.Network.Protocol#getName"><a href="LuCI.Network.Protocol.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.Protocol#getNetmask"><a href="LuCI.Network.Protocol.html#getNetmask">getNetmask</a></li>
-
- <li data-name="LuCI.Network.Protocol#getOpkgPackage"><a href="LuCI.Network.Protocol.html#getOpkgPackage">getOpkgPackage</a></li>
-
- <li data-name="LuCI.Network.Protocol#getProtocol"><a href="LuCI.Network.Protocol.html#getProtocol">getProtocol</a></li>
-
- <li data-name="LuCI.Network.Protocol#getType"><a href="LuCI.Network.Protocol.html#getType">getType</a></li>
-
- <li data-name="LuCI.Network.Protocol#getUptime"><a href="LuCI.Network.Protocol.html#getUptime">getUptime</a></li>
-
- <li data-name="LuCI.Network.Protocol#getZoneName"><a href="LuCI.Network.Protocol.html#getZoneName">getZoneName</a></li>
-
- <li data-name="LuCI.Network.Protocol#isAlias"><a href="LuCI.Network.Protocol.html#isAlias">isAlias</a></li>
-
- <li data-name="LuCI.Network.Protocol#isBridge"><a href="LuCI.Network.Protocol.html#isBridge">isBridge</a></li>
-
- <li data-name="LuCI.Network.Protocol#isDynamic"><a href="LuCI.Network.Protocol.html#isDynamic">isDynamic</a></li>
-
- <li data-name="LuCI.Network.Protocol#isEmpty"><a href="LuCI.Network.Protocol.html#isEmpty">isEmpty</a></li>
-
- <li data-name="LuCI.Network.Protocol#isFloating"><a href="LuCI.Network.Protocol.html#isFloating">isFloating</a></li>
-
- <li data-name="LuCI.Network.Protocol#isInstalled"><a href="LuCI.Network.Protocol.html#isInstalled">isInstalled</a></li>
-
- <li data-name="LuCI.Network.Protocol#isUp"><a href="LuCI.Network.Protocol.html#isUp">isUp</a></li>
-
- <li data-name="LuCI.Network.Protocol#isVirtual"><a href="LuCI.Network.Protocol.html#isVirtual">isVirtual</a></li>
-
- <li data-name="LuCI.Network.Protocol#set"><a href="LuCI.Network.Protocol.html#set">set</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.WifiDevice">
- <span class="title">
- <a href="LuCI.Network.WifiDevice.html">LuCI.Network.WifiDevice</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.WifiDevice#addWifiNetwork"><a href="LuCI.Network.WifiDevice.html#addWifiNetwork">addWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#deleteWifiNetwork"><a href="LuCI.Network.WifiDevice.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#get"><a href="LuCI.Network.WifiDevice.html#get">get</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getHTModes"><a href="LuCI.Network.WifiDevice.html#getHTModes">getHTModes</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getHWModes"><a href="LuCI.Network.WifiDevice.html#getHWModes">getHWModes</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getI18n"><a href="LuCI.Network.WifiDevice.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getName"><a href="LuCI.Network.WifiDevice.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getScanList"><a href="LuCI.Network.WifiDevice.html#getScanList">getScanList</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getWifiNetwork"><a href="LuCI.Network.WifiDevice.html#getWifiNetwork">getWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getWifiNetworks"><a href="LuCI.Network.WifiDevice.html#getWifiNetworks">getWifiNetworks</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#isDisabled"><a href="LuCI.Network.WifiDevice.html#isDisabled">isDisabled</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#isUp"><a href="LuCI.Network.WifiDevice.html#isUp">isUp</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#set"><a href="LuCI.Network.WifiDevice.html#set">set</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.WifiNetwork">
- <span class="title">
- <a href="LuCI.Network.WifiNetwork.html">LuCI.Network.WifiNetwork</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.WifiNetwork#get"><a href="LuCI.Network.WifiNetwork.html#get">get</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveBSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveBSSID">getActiveBSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveEncryption"><a href="LuCI.Network.WifiNetwork.html#getActiveEncryption">getActiveEncryption</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveMode"><a href="LuCI.Network.WifiNetwork.html#getActiveMode">getActiveMode</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveModeI18n"><a href="LuCI.Network.WifiNetwork.html#getActiveModeI18n">getActiveModeI18n</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveSSID">getActiveSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getAssocList"><a href="LuCI.Network.WifiNetwork.html#getAssocList">getAssocList</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getBitRate"><a href="LuCI.Network.WifiNetwork.html#getBitRate">getBitRate</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getBSSID"><a href="LuCI.Network.WifiNetwork.html#getBSSID">getBSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getChannel"><a href="LuCI.Network.WifiNetwork.html#getChannel">getChannel</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getCountryCode"><a href="LuCI.Network.WifiNetwork.html#getCountryCode">getCountryCode</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getDevice"><a href="LuCI.Network.WifiNetwork.html#getDevice">getDevice</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getFrequency"><a href="LuCI.Network.WifiNetwork.html#getFrequency">getFrequency</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getI18n"><a href="LuCI.Network.WifiNetwork.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getID"><a href="LuCI.Network.WifiNetwork.html#getID">getID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getIfname"><a href="LuCI.Network.WifiNetwork.html#getIfname">getIfname</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getMeshID"><a href="LuCI.Network.WifiNetwork.html#getMeshID">getMeshID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getMode"><a href="LuCI.Network.WifiNetwork.html#getMode">getMode</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getName"><a href="LuCI.Network.WifiNetwork.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNetwork"><a href="LuCI.Network.WifiNetwork.html#getNetwork">getNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNetworkNames"><a href="LuCI.Network.WifiNetwork.html#getNetworkNames">getNetworkNames</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNetworks"><a href="LuCI.Network.WifiNetwork.html#getNetworks">getNetworks</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNoise"><a href="LuCI.Network.WifiNetwork.html#getNoise">getNoise</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getShortName"><a href="LuCI.Network.WifiNetwork.html#getShortName">getShortName</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSignal"><a href="LuCI.Network.WifiNetwork.html#getSignal">getSignal</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSignalLevel"><a href="LuCI.Network.WifiNetwork.html#getSignalLevel">getSignalLevel</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSignalPercent"><a href="LuCI.Network.WifiNetwork.html#getSignalPercent">getSignalPercent</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSSID"><a href="LuCI.Network.WifiNetwork.html#getSSID">getSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getTXPower"><a href="LuCI.Network.WifiNetwork.html#getTXPower">getTXPower</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getTXPowerOffset"><a href="LuCI.Network.WifiNetwork.html#getTXPowerOffset">getTXPowerOffset</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getWifiDevice"><a href="LuCI.Network.WifiNetwork.html#getWifiDevice">getWifiDevice</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getWifiDeviceName"><a href="LuCI.Network.WifiNetwork.html#getWifiDeviceName">getWifiDeviceName</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#isDisabled"><a href="LuCI.Network.WifiNetwork.html#isDisabled">isDisabled</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#isUp"><a href="LuCI.Network.WifiNetwork.html#isUp">isUp</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#set"><a href="LuCI.Network.WifiNetwork.html#set">set</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Poll">
- <span class="title">
- <a href="LuCI.Poll.html">LuCI.Poll</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Poll#active"><a href="LuCI.Poll.html#active">active</a></li>
-
- <li data-name="LuCI.Poll#add"><a href="LuCI.Poll.html#add">add</a></li>
-
- <li data-name="LuCI.Poll#remove"><a href="LuCI.Poll.html#remove">remove</a></li>
-
- <li data-name="LuCI.Poll#start"><a href="LuCI.Poll.html#start">start</a></li>
-
- <li data-name="LuCI.Poll#stop"><a href="LuCI.Poll.html#stop">stop</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Request">
- <span class="title">
- <a href="LuCI.Request.html">LuCI.Request</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.Request.interceptorFn"><a href="LuCI.Request.html#.interceptorFn">interceptorFn</a></li>
-
- <li data-name="LuCI.Request.RequestOptions"><a href="LuCI.Request.html#.RequestOptions">RequestOptions</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Request#addInterceptor"><a href="LuCI.Request.html#addInterceptor">addInterceptor</a></li>
-
- <li data-name="LuCI.Request#expandURL"><a href="LuCI.Request.html#expandURL">expandURL</a></li>
-
- <li data-name="LuCI.Request#get"><a href="LuCI.Request.html#get">get</a></li>
-
- <li data-name="LuCI.Request#post"><a href="LuCI.Request.html#post">post</a></li>
-
- <li data-name="LuCI.Request#removeInterceptor"><a href="LuCI.Request.html#removeInterceptor">removeInterceptor</a></li>
-
- <li data-name="LuCI.Request#request"><a href="LuCI.Request.html#request">request</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Request.poll">
- <span class="title">
- <a href="LuCI.Request.poll.html">LuCI.Request.poll</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.Request.poll~callbackFn"><a href="LuCI.Request.poll.html#~callbackFn">callbackFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Request.poll#active"><a href="LuCI.Request.poll.html#active">active</a></li>
-
- <li data-name="LuCI.Request.poll#add"><a href="LuCI.Request.poll.html#add">add</a></li>
-
- <li data-name="LuCI.Request.poll#remove"><a href="LuCI.Request.poll.html#remove">remove</a></li>
-
- <li data-name="LuCI.Request.poll#start"><a href="LuCI.Request.poll.html#start">start</a></li>
-
- <li data-name="LuCI.Request.poll#stop"><a href="LuCI.Request.poll.html#stop">stop</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Response">
- <span class="title">
- <a href="LuCI.Response.html">LuCI.Response</a>
-
- </span>
- <ul class="members itemMembers">
-
- <span class="subtitle">Members</span>
-
- <li data-name="LuCI.Response#duration"><a href="LuCI.Response.html#duration">duration</a></li>
-
- <li data-name="LuCI.Response#headers"><a href="LuCI.Response.html#headers">headers</a></li>
-
- <li data-name="LuCI.Response#ok"><a href="LuCI.Response.html#ok">ok</a></li>
-
- <li data-name="LuCI.Response#status"><a href="LuCI.Response.html#status">status</a></li>
-
- <li data-name="LuCI.Response#statusText"><a href="LuCI.Response.html#statusText">statusText</a></li>
-
- <li data-name="LuCI.Response#url"><a href="LuCI.Response.html#url">url</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Response#clone"><a href="LuCI.Response.html#clone">clone</a></li>
-
- <li data-name="LuCI.Response#json"><a href="LuCI.Response.html#json">json</a></li>
-
- <li data-name="LuCI.Response#text"><a href="LuCI.Response.html#text">text</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.rpc">
- <span class="title">
- <a href="LuCI.rpc.html">LuCI.rpc</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.rpc.DeclareOptions"><a href="LuCI.rpc.html#.DeclareOptions">DeclareOptions</a></li>
-
- <li data-name="LuCI.rpc~filterFn"><a href="LuCI.rpc.html#~filterFn">filterFn</a></li>
-
- <li data-name="LuCI.rpc~interceptorFn"><a href="LuCI.rpc.html#~interceptorFn">interceptorFn</a></li>
-
- <li data-name="LuCI.rpc~invokeFn"><a href="LuCI.rpc.html#~invokeFn">invokeFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.rpc#addInterceptor"><a href="LuCI.rpc.html#addInterceptor">addInterceptor</a></li>
-
- <li data-name="LuCI.rpc#declare"><a href="LuCI.rpc.html#declare">declare</a></li>
-
- <li data-name="LuCI.rpc#getBaseURL"><a href="LuCI.rpc.html#getBaseURL">getBaseURL</a></li>
-
- <li data-name="LuCI.rpc#getSessionID"><a href="LuCI.rpc.html#getSessionID">getSessionID</a></li>
-
- <li data-name="LuCI.rpc#getStatusText"><a href="LuCI.rpc.html#getStatusText">getStatusText</a></li>
-
- <li data-name="LuCI.rpc#list"><a href="LuCI.rpc.html#list">list</a></li>
-
- <li data-name="LuCI.rpc#removeInterceptor"><a href="LuCI.rpc.html#removeInterceptor">removeInterceptor</a></li>
-
- <li data-name="LuCI.rpc#setBaseURL"><a href="LuCI.rpc.html#setBaseURL">setBaseURL</a></li>
-
- <li data-name="LuCI.rpc#setSessionID"><a href="LuCI.rpc.html#setSessionID">setSessionID</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.uci">
- <span class="title">
- <a href="LuCI.uci.html">LuCI.uci</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.uci.ChangeRecord"><a href="LuCI.uci.html#.ChangeRecord">ChangeRecord</a></li>
-
- <li data-name="LuCI.uci.SectionObject"><a href="LuCI.uci.html#.SectionObject">SectionObject</a></li>
-
- <li data-name="LuCI.uci~sectionsFn"><a href="LuCI.uci.html#~sectionsFn">sectionsFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.uci#add"><a href="LuCI.uci.html#add">add</a></li>
-
- <li data-name="LuCI.uci#apply"><a href="LuCI.uci.html#apply">apply</a></li>
-
- <li data-name="LuCI.uci#changes"><a href="LuCI.uci.html#changes">changes</a></li>
-
- <li data-name="LuCI.uci#createSID"><a href="LuCI.uci.html#createSID">createSID</a></li>
-
- <li data-name="LuCI.uci#get"><a href="LuCI.uci.html#get">get</a></li>
-
- <li data-name="LuCI.uci#get_first"><a href="LuCI.uci.html#get_first">get_first</a></li>
-
- <li data-name="LuCI.uci#load"><a href="LuCI.uci.html#load">load</a></li>
-
- <li data-name="LuCI.uci#move"><a href="LuCI.uci.html#move">move</a></li>
-
- <li data-name="LuCI.uci#remove"><a href="LuCI.uci.html#remove">remove</a></li>
-
- <li data-name="LuCI.uci#resolveSID"><a href="LuCI.uci.html#resolveSID">resolveSID</a></li>
-
- <li data-name="LuCI.uci#save"><a href="LuCI.uci.html#save">save</a></li>
-
- <li data-name="LuCI.uci#sections"><a href="LuCI.uci.html#sections">sections</a></li>
-
- <li data-name="LuCI.uci#set"><a href="LuCI.uci.html#set">set</a></li>
-
- <li data-name="LuCI.uci#set_first"><a href="LuCI.uci.html#set_first">set_first</a></li>
-
- <li data-name="LuCI.uci#unload"><a href="LuCI.uci.html#unload">unload</a></li>
-
- <li data-name="LuCI.uci#unset"><a href="LuCI.uci.html#unset">unset</a></li>
-
- <li data-name="LuCI.uci#unset_first"><a href="LuCI.uci.html#unset_first">unset_first</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.view">
- <span class="title">
- <a href="LuCI.view.html">LuCI.view</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.view#addFooter"><a href="LuCI.view.html#addFooter">addFooter</a></li>
-
- <li data-name="LuCI.view#handleReset"><a href="LuCI.view.html#handleReset">handleReset</a></li>
-
- <li data-name="LuCI.view#handleSave"><a href="LuCI.view.html#handleSave">handleSave</a></li>
-
- <li data-name="LuCI.view#handleSaveApply"><a href="LuCI.view.html#handleSaveApply">handleSaveApply</a></li>
-
- <li data-name="LuCI.view#load"><a href="LuCI.view.html#load">load</a></li>
-
- <li data-name="LuCI.view#render"><a href="LuCI.view.html#render">render</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.XHR">
- <span class="title">
- <a href="LuCI.XHR.html">LuCI.XHR</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.XHR#abort"><a href="LuCI.XHR.html#abort">abort</a></li>
-
- <li data-name="LuCI.XHR#busy"><a href="LuCI.XHR.html#busy">busy</a></li>
-
- <li data-name="LuCI.XHR#cancel"><a href="LuCI.XHR.html#cancel">cancel</a></li>
-
- <li data-name="LuCI.XHR#get"><a href="LuCI.XHR.html#get">get</a></li>
-
- <li data-name="LuCI.XHR#post"><a href="LuCI.XHR.html#post">post</a></li>
-
- <li data-name="LuCI.XHR#send_form"><a href="LuCI.XHR.html#send_form">send_form</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- </ul>
-</div>
- <div class="main">
- <h1 class="page-title" data-filename="LuCI.Network.Protocol.html">Class: Protocol</h1>
-
-
-
-
-<section>
-
-<header>
- <h2>
- <span class="ancestors"><a href="LuCI.html">LuCI</a><a href="LuCI.Network.html">.Network</a>.</span>
-
- Protocol
- </h2>
-
- <div class="class-description"><p>The <code>Network.Protocol</code> class serves as base for protocol specific
-subclasses which describe logical UCI networks defined by <code>config interface</code> sections in <code>/etc/config/network</code>.</p></div>
-
-</header>
-
-<article>
- <div class="container-overview">
-
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="Protocol">
-
- new LuCI.Network.Protocol<span class="signature">()</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 1794
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dd>
-
-
- </div>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- <h3 class="subsection-title">Methods</h3>
-
- <dl>
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="addDevice">
-
- addDevice<span class="signature">(device)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 2383
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Add the given network device to the logical interface.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>device</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type"><a href="LuCI.Network.Protocol.html">LuCI.Network.Protocol</a></span>
-|
-
-<span class="param-type"><a href="LuCI.Network.Device.html">LuCI.Network.Device</a></span>
-|
-
-<span class="param-type"><a href="LuCI.Network.WifiDevice.html">LuCI.Network.WifiDevice</a></span>
-|
-
-<span class="param-type"><a href="LuCI.Network.WifiNetwork.html">LuCI.Network.WifiNetwork</a></span>
-|
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The object or device name to add to the logical interface. In case the
-given argument is not a string, it is resolved though the
-<a href="LuCI.Network.html#getIfnameOf"><code>Network.getIfnameOf()</code></a> function.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- boolean
-
-
- </td>
- <td class="description last">Returns <code>true</code> if the device name has been added or <code>false</code> if any
-argument was invalid, if the device was already part of the logical
-interface or if the logical interface is virtual.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="containsDevice">
-
- containsDevice<span class="signature">(device)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 2552
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Checks whether this logical interface contains the given device
-object.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>device</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type"><a href="LuCI.Network.Protocol.html">LuCI.Network.Protocol</a></span>
-|
-
-<span class="param-type"><a href="LuCI.Network.Device.html">LuCI.Network.Device</a></span>
-|
-
-<span class="param-type"><a href="LuCI.Network.WifiDevice.html">LuCI.Network.WifiDevice</a></span>
-|
-
-<span class="param-type"><a href="LuCI.Network.WifiNetwork.html">LuCI.Network.WifiNetwork</a></span>
-|
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The object or device name to check. In case the given argument is not
-a string, it is resolved though the
-<a href="LuCI.Network.html#getIfnameOf"><code>Network.getIfnameOf()</code></a> function.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- boolean
-
-
- </td>
- <td class="description last">Returns <code>true</code> when this logical interface contains the given network
-device or <code>false</code> if not.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="deleteDevice">
-
- deleteDevice<span class="signature">(device)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 2410
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Remove the given network device from the logical interface.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>device</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type"><a href="LuCI.Network.Protocol.html">LuCI.Network.Protocol</a></span>
-|
-
-<span class="param-type"><a href="LuCI.Network.Device.html">LuCI.Network.Device</a></span>
-|
-
-<span class="param-type"><a href="LuCI.Network.WifiDevice.html">LuCI.Network.WifiDevice</a></span>
-|
-
-<span class="param-type"><a href="LuCI.Network.WifiNetwork.html">LuCI.Network.WifiNetwork</a></span>
-|
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The object or device name to remove from the logical interface. In case
-the given argument is not a string, it is resolved though the
-<a href="LuCI.Network.html#getIfnameOf"><code>Network.getIfnameOf()</code></a> function.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- boolean
-
-
- </td>
- <td class="description last">Returns <code>true</code> if the device name has been added or <code>false</code> if any
-argument was invalid, if the device was already part of the logical
-interface or if the logical interface is virtual.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="get">
-
- get<span class="signature">(opt)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{null|string|Array.&lt;string>}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 1827
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Read the given UCI option value of this network.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>opt</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The UCI option name to read.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- null
- |
-
- string
- |
-
- Array.&lt;string>
-
-
- </td>
- <td class="description last">Returns the UCI option value or <code>null</code> if the requested option is
-not found.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getDevice">
-
- getDevice<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{<a href="LuCI.Network.Device.html">LuCI.Network.Device</a>}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 2437
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Returns the Linux network device associated with this logical
-interface.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- <a href="LuCI.Network.Device.html">LuCI.Network.Device</a>
-
-
- </td>
- <td class="description last">Returns a <code>Network.Device</code> class instance representing the
-expected Linux network device according to the configuration.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getDevices">
-
- getDevices<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{null|Array.&lt;<a href="LuCI.Network.Device.html">LuCI.Network.Device</a>>}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 2498
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Returns a list of network sub-devices associated with this logical
-interface.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- null
- |
-
- Array.&lt;<a href="LuCI.Network.Device.html">LuCI.Network.Device</a>>
-
-
- </td>
- <td class="description last">Returns an array of of <code>Network.Device</code> class instances representing
-the sub-devices attached to this logical interface or <code>null</code> if the
-logical interface does not support sub-devices, e.g. because it is
-virtual and not a bridge.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getDNS6Addrs">
-
- getDNS6Addrs<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Array.&lt;string>}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 2152
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Query the IPv6 DNS servers associated with the logical interface.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Array.&lt;string>
-
-
- </td>
- <td class="description last">Returns an array of IPv6 DNS servers registered by the remote
-protocol backend.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getDNSAddrs">
-
- getDNSAddrs<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Array.&lt;string>}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 2064
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Query the IPv4 DNS servers associated with the logical interface.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Array.&lt;string>
-
-
- </td>
- <td class="description last">Returns an array of IPv4 DNS servers registered by the remote
-protocol backend.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getErrors">
-
- getErrors<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Array.&lt;string>}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 2196
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Query interface error messages published in <code>ubus</code> runtime state.</p>
-<p>Interface errors are emitted by remote protocol handlers if the setup
-of the underlying logical interface failed, e.g. due to bad
-configuration or network connectivity issues.</p>
-<p>This function will translate the found error codes to human readable
-messages using the descriptions registered by
-<a href="LuCI.Network.html#registerErrorCode"><code>Network.registerErrorCode()</code></a>
-and fall back to <code>&quot;Unknown error (%s)&quot;</code> where <code>%s</code> is replaced by the
-error code in case no translation can be found.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Array.&lt;string>
-
-
- </td>
- <td class="description last">Returns an array of translated interface error messages.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getExpiry">
-
- getExpiry<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{number}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 1947
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Get the logical interface expiry time in seconds.</p>
-<p>For protocols that have a concept of a lease, such as DHCP or
-DHCPv6, this function returns the remaining time in seconds
-until the lease expires.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- number
-
-
- </td>
- <td class="description last">Returns the amount of seconds until the lease expires or <code>-1</code>
-if it isn't applicable to the associated protocol.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getGateway6Addr">
-
- getGateway6Addr<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{string}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 2132
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Query the gateway (nexthop) of the IPv6 default route associated with
-this logical interface.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- string
-
-
- </td>
- <td class="description last">Returns a string containing the IPv6 nexthop address of the associated
-default route or <code>null</code> if no default route was found.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getGatewayAddr">
-
- getGatewayAddr<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{string}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 2044
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Query the gateway (nexthop) of the default route associated with
-this logical interface.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- string
-
-
- </td>
- <td class="description last">Returns a string containing the IPv4 nexthop address of the associated
-default route or <code>null</code> if no default route was found.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getI18n">
-
- <span class="type-signature ">abstract</span>getI18n<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{string}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 1892
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Return a human readable description for the protcol, such as
-<code>Static address</code> or <code>DHCP client</code>.</p>
-<p>This function should be overwritten by subclasses.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- string
-
-
- </td>
- <td class="description last">Returns the description string.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getIfname">
-
- getIfname<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{null|string}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 1852
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Get the associared Linux network device of this network.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- null
- |
-
- string
-
-
- </td>
- <td class="description last">Returns the name of the associated network device or <code>null</code> if
-it could not be determined.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getIP6Addr">
-
- getIP6Addr<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{null|string}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 2083
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Query the first (primary) IPv6 address of the logical interface.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- null
- |
-
- string
-
-
- </td>
- <td class="description last">Returns the primary IPv6 address registered by the protocol handler
-in CIDR notation or <code>null</code> if no IPv6 addresses were set.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getIP6Addrs">
-
- getIP6Addrs<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Array.&lt;string>}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 2105
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Query all IPv6 addresses of the logical interface.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Array.&lt;string>
-
-
- </td>
- <td class="description last">Returns an array of IPv6 addresses in CIDR notation which have been
-registered by the protocol handler. The order of the resulting array
-follows the order of the addresses in <code>ubus</code> runtime information.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getIP6Prefix">
-
- getIP6Prefix<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{null|string}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 2171
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Query the routed IPv6 prefix associated with the logical interface.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- null
- |
-
- string
-
-
- </td>
- <td class="description last">Returns the routed IPv6 prefix registered by the remote protocol
-handler or <code>null</code> if no prefix is present.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getIPAddr">
-
- getIPAddr<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{null|string}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 1999
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Query the first (primary) IPv4 address of the logical interface.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- null
- |
-
- string
-
-
- </td>
- <td class="description last">Returns the primary IPv4 address registered by the protocol handler
-or <code>null</code> if no IPv4 addresses were set.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getIPAddrs">
-
- getIPAddrs<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Array.&lt;string>}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 2012
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Query all IPv4 addresses of the logical interface.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Array.&lt;string>
-
-
- </td>
- <td class="description last">Returns an array of IPv4 addresses in CIDR notation which have been
-registered by the protocol handler. The order of the resulting array
-follows the order of the addresses in <code>ubus</code> runtime information.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getL2Device">
-
- getL2Device<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{<a href="LuCI.Network.Device.html">LuCI.Network.Device</a>}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 2470
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Returns the layer 2 linux network device currently associated
-with this logical interface.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- <a href="LuCI.Network.Device.html">LuCI.Network.Device</a>
-
-
- </td>
- <td class="description last">Returns a <code>Network.Device</code> class instance representing the Linux
-network device currently associated with the logical interface.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getL3Device">
-
- getL3Device<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{<a href="LuCI.Network.Device.html">LuCI.Network.Device</a>}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 2483
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Returns the layer 3 linux network device currently associated
-with this logical interface.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- <a href="LuCI.Network.Device.html">LuCI.Network.Device</a>
-
-
- </td>
- <td class="description last">Returns a <code>Network.Device</code> class instance representing the Linux
-network device currently associated with the logical interface.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getMetric">
-
- getMetric<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{number}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 1967
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Get the metric value of the logical interface.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- number
-
-
- </td>
- <td class="description last">Returns the current metric value used for device and network
-routes spawned by the associated logical interface.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getName">
-
- getName<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{string}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 1922
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Get the name of the associated logical interface.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- string
-
-
- </td>
- <td class="description last">Returns the logical interface name, such as <code>lan</code> or <code>wan</code>.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getNetmask">
-
- getNetmask<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{null|string}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 2030
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Query the first (primary) IPv4 netmask of the logical interface.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- null
- |
-
- string
-
-
- </td>
- <td class="description last">Returns the netmask of the primary IPv4 address registered by the
-protocol handler or <code>null</code> if no IPv4 addresses were set.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getOpkgPackage">
-
- <span class="type-signature ">abstract</span>getOpkgPackage<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{string}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 2236
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Get the name of the opkg package providing the protocol functionality.</p>
-<p>This function should be overwritten by protocol specific subclasses.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- string
-
-
- </td>
- <td class="description last">Returns the name of the opkg package required for the protocol to
-function, e.g. <code>odhcp6c</code> for the <code>dhcpv6</code> prototocol.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getProtocol">
-
- <span class="type-signature ">abstract</span>getProtocol<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{string}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 1878
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Get the name of this network protocol class.</p>
-<p>This function will be overwritten by subclasses created by
-<a href="LuCI.Network.html#registerProtocol"><code>Network.registerProtocol()</code></a>.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- string
-
-
- </td>
- <td class="description last">Returns the name of the network protocol implementation, e.g.
-<code>static</code> or <code>dhcp</code>.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getType">
-
- getType<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{null|string}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 1912
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Get the type of the underlying interface.</p>
-<p>This function actually is a convenience wrapper around
-<code>proto.get(&quot;type&quot;)</code> and is mainly used by other <code>LuCI.Network</code> code
-to check whether the interface is declared as bridge in UCI.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- null
- |
-
- string
-
-
- </td>
- <td class="description last">Returns the value of the <code>type</code> option of the associated logical
-interface or <code>null</code> if no <code>type</code> option is set.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getUptime">
-
- getUptime<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{number}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 1932
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Get the uptime of the logical interface.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- number
-
-
- </td>
- <td class="description last">Returns the uptime of the associated interface in seconds.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getZoneName">
-
- getZoneName<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{null|string}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 1983
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Get the requested firewall zone name of the logical interface.</p>
-<p>Some protocol implementations request a specific firewall zone
-to trigger inclusion of their resulting network devices into the
-firewall rule set.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- null
- |
-
- string
-
-
- </td>
- <td class="description last">Returns the requested firewall zone name as published in the
-<code>ubus</code> runtime information or <code>null</code> if the remote protocol
-handler didn't request a zone.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="isAlias">
-
- isAlias<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{null|string}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 2324
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Checks whether this interface is an alias interface.</p>
-<p>Alias interfaces are interfaces layering on top of another interface
-and are denoted by a special <code>@interfacename</code> notation in the
-underlying <code>ifname</code> option.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- null
- |
-
- string
-
-
- </td>
- <td class="description last">Returns the name of the parent interface if this logical interface
-is an alias or <code>null</code> if it is not an alias interface.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="isBridge">
-
- isBridge<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 2221
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Checks whether the underlying logical interface is declared as bridge.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- boolean
-
-
- </td>
- <td class="description last">Returns <code>true</code> when the interface is declared with <code>option type bridge</code>
-and when the associated protocol implementation is not marked virtual
-or <code>false</code> when the logical interface is no bridge.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="isDynamic">
-
- isDynamic<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 2309
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Checks whether this logical interface is dynamic.</p>
-<p>A dynamic interface is an interface which has been created at runtime,
-e.g. as sub-interface of another interface, but which is not backed by
-any user configuration. Such dynamic interfaces cannot be edited but
-only brought down or restarted.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- boolean
-
-
- </td>
- <td class="description last">Returns a boolean indicating whether this interface is dynamic (<code>true</code>)
-or not (<code>false</code>).</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="isEmpty">
-
- isEmpty<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 2344
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Checks whether this logical interface is &quot;empty&quot;, meaning that ut
-has no network devices attached.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- boolean
-
-
- </td>
- <td class="description last">Returns <code>true</code> if this logical interface is empty, else <code>false</code>.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="isFloating">
-
- isFloating<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 2293
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Checks whether this protocol is &quot;floating&quot;.</p>
-<p>A &quot;floating&quot; protocol is a protocol which spawns its own interfaces
-on demand, like a virtual one but which relies on an existinf lower
-level interface to initiate the connection.</p>
-<p>An example for such a protocol is &quot;pppoe&quot;.</p>
-<p>This function exists for backwards compatibility with older code
-but should not be used anymore.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
- <dt class="important tag-deprecated">Deprecated</dt><dd class="yes-def tag-deprecated"><ul class="dummy"><li>Yes</li></ul></dd>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- boolean
-
-
- </td>
- <td class="description last">Returns a boolean indicating whether this protocol is floating (<code>true</code>)
-or not (<code>false</code>).</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="isInstalled">
-
- <span class="type-signature ">abstract</span>isInstalled<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 2252
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Checks whether the protocol functionality is installed.</p>
-<p>This function exists for compatibility with old code, it always
-returns <code>true</code>.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
- <dt class="important tag-deprecated">Deprecated</dt><dd class="yes-def tag-deprecated"><ul class="dummy"><li>Yes</li></ul></dd>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- boolean
-
-
- </td>
- <td class="description last">Returns <code>true</code> if the protocol support is installed, else <code>false</code>.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="isUp">
-
- isUp<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 2366
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Checks whether this logical interface is configured and running.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- boolean
-
-
- </td>
- <td class="description last">Returns <code>true</code> when the interface is active or <code>false</code> when it is not.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="isVirtual">
-
- isVirtual<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 2272
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Checks whether this protocol is &quot;virtual&quot;.</p>
-<p>A &quot;virtual&quot; protocol is a protocol which spawns its own interfaces
-on demand instead of using existing physical interfaces.</p>
-<p>Examples for virtual protocols are <code>6in4</code> which <code>gre</code> spawn tunnel
-network device on startup, examples for non-virtual protcols are
-<code>dhcp</code> or <code>static</code> which apply IP configuration to existing interfaces.</p>
-<p>This function should be overwritten by subclasses.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- boolean
-
-
- </td>
- <td class="description last">Returns a boolean indicating whether the underlying protocol spawns
-dynamic interfaces (<code>true</code>) or not (<code>false</code>).</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="set">
-
- set<span class="signature">(opt, val)</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 1841
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Set the given UCI option of this network to the given value.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>opt</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The name of the UCI option to set.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>val</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">null</span>
-|
-
-<span class="param-type">string</span>
-|
-
-<span class="param-type">Array.&lt;string></span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The value to set or <code>null</code> to remove the given option from the
-configuration.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dd>
-
- </dl>
-
-
-
-
-
-
-
-</article>
-
-</section>
-
-
-
-
-
-
-
- <footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Nov 05 2019 10:17:12 GMT+0100 (Central European Standard Time)
- </footer>
- </div>
-</div>
-<script>prettyPrint();</script>
-<script src="scripts/jaguar.js"></script>
-</body>
-</html> \ No newline at end of file
diff --git a/documentation/jsapi/LuCI.Network.WifiDevice.html b/documentation/jsapi/LuCI.Network.WifiDevice.html
deleted file mode 100644
index 89d050e87d..0000000000
--- a/documentation/jsapi/LuCI.Network.WifiDevice.html
+++ /dev/null
@@ -1,2787 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <meta charset="utf-8">
- <title>Class: WifiDevice</title>
-
-
- <script src="scripts/prettify/prettify.js"></script>
- <script src="scripts/prettify/lang-css.js"></script>
- <script src="scripts/jquery.min.js"></script>
- <!--[if lt IE 9]>
- <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
- <![endif]-->
- <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
- <link type="text/css" rel="stylesheet" href="styles/bootstrap.min.css">
- <link type="text/css" rel="stylesheet" href="styles/jaguar.css">
-
-
- <script>
- var config = {"monospaceLinks":true,"cleverLinks":true,"default":{}};
- </script>
-
-
-
-</head>
-<body>
-<div id="wrap" class="clearfix">
-
-<div class="navigation">
- <h3 class="applicationName"><a href="index.html"></a></h3>
-
- <div class="search">
- <input id="search" type="text" class="form-control input-sm" placeholder="Search Documentations">
- </div>
- <ul class="list">
-
- <li class="item" data-name="LuCI">
- <span class="title">
- <a href="LuCI.html">LuCI</a>
-
- </span>
- <ul class="members itemMembers">
-
- <span class="subtitle">Members</span>
-
- <li data-name="LuCI#env"><a href="LuCI.html#env">env</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.requestCallbackFn"><a href="LuCI.html#.requestCallbackFn">requestCallbackFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI#bind"><a href="LuCI.html#bind">bind</a></li>
-
- <li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
-
- <li data-name="LuCI#get"><a href="LuCI.html#get">get</a></li>
-
- <li data-name="LuCI#halt"><a href="LuCI.html#halt">halt</a></li>
-
- <li data-name="LuCI#hasSystemFeature"><a href="LuCI.html#hasSystemFeature">hasSystemFeature</a></li>
-
- <li data-name="LuCI#isObject"><a href="LuCI.html#isObject">isObject</a></li>
-
- <li data-name="LuCI#location"><a href="LuCI.html#location">location</a></li>
-
- <li data-name="LuCI#path"><a href="LuCI.html#path">path</a></li>
-
- <li data-name="LuCI#poll"><a href="LuCI.html#poll">poll</a></li>
-
- <li data-name="LuCI#post"><a href="LuCI.html#post">post</a></li>
-
- <li data-name="LuCI#raise"><a href="LuCI.html#raise">raise</a></li>
-
- <li data-name="LuCI#require"><a href="LuCI.html#require">require</a></li>
-
- <li data-name="LuCI#resolveDefault"><a href="LuCI.html#resolveDefault">resolveDefault</a></li>
-
- <li data-name="LuCI#resource"><a href="LuCI.html#resource">resource</a></li>
-
- <li data-name="LuCI#run"><a href="LuCI.html#run">run</a></li>
-
- <li data-name="LuCI#sortedKeys"><a href="LuCI.html#sortedKeys">sortedKeys</a></li>
-
- <li data-name="LuCI#stop"><a href="LuCI.html#stop">stop</a></li>
-
- <li data-name="LuCI#toArray"><a href="LuCI.html#toArray">toArray</a></li>
-
- <li data-name="LuCI#url"><a href="LuCI.html#url">url</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Class">
- <span class="title">
- <a href="LuCI.Class.html">LuCI.Class</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Class.extend"><a href="LuCI.Class.html#.extend">extend</a></li>
-
- <li data-name="LuCI.Class.instantiate"><a href="LuCI.Class.html#.instantiate">instantiate</a></li>
-
- <li data-name="LuCI.Class.isSubclass"><a href="LuCI.Class.html#.isSubclass">isSubclass</a></li>
-
- <li data-name="LuCI.Class.singleton"><a href="LuCI.Class.html#.singleton">singleton</a></li>
-
- <li data-name="LuCI.Class#super"><a href="LuCI.Class.html#super">super</a></li>
-
- <li data-name="LuCI.Class#varargs"><a href="LuCI.Class.html#varargs">varargs</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.dom">
- <span class="title">
- <a href="LuCI.dom.html">LuCI.dom</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.dom~ignoreCallbackFn"><a href="LuCI.dom.html#~ignoreCallbackFn">ignoreCallbackFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.dom#append"><a href="LuCI.dom.html#append">append</a></li>
-
- <li data-name="LuCI.dom#attr"><a href="LuCI.dom.html#attr">attr</a></li>
-
- <li data-name="LuCI.dom#bindClassInstance"><a href="LuCI.dom.html#bindClassInstance">bindClassInstance</a></li>
-
- <li data-name="LuCI.dom#callClassMethod"><a href="LuCI.dom.html#callClassMethod">callClassMethod</a></li>
-
- <li data-name="LuCI.dom#content"><a href="LuCI.dom.html#content">content</a></li>
-
- <li data-name="LuCI.dom#create"><a href="LuCI.dom.html#create">create</a></li>
-
- <li data-name="LuCI.dom#data"><a href="LuCI.dom.html#data">data</a></li>
-
- <li data-name="LuCI.dom#elem"><a href="LuCI.dom.html#elem">elem</a></li>
-
- <li data-name="LuCI.dom#findClassInstance"><a href="LuCI.dom.html#findClassInstance">findClassInstance</a></li>
-
- <li data-name="LuCI.dom#isEmpty"><a href="LuCI.dom.html#isEmpty">isEmpty</a></li>
-
- <li data-name="LuCI.dom#matches"><a href="LuCI.dom.html#matches">matches</a></li>
-
- <li data-name="LuCI.dom#parent"><a href="LuCI.dom.html#parent">parent</a></li>
-
- <li data-name="LuCI.dom#parse"><a href="LuCI.dom.html#parse">parse</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.fs">
- <span class="title">
- <a href="LuCI.fs.html">LuCI.fs</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.fs.FileExecResult"><a href="LuCI.fs.html#.FileExecResult">FileExecResult</a></li>
-
- <li data-name="LuCI.fs.FileStatEntry"><a href="LuCI.fs.html#.FileStatEntry">FileStatEntry</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.fs#exec"><a href="LuCI.fs.html#exec">exec</a></li>
-
- <li data-name="LuCI.fs#lines"><a href="LuCI.fs.html#lines">lines</a></li>
-
- <li data-name="LuCI.fs#list"><a href="LuCI.fs.html#list">list</a></li>
-
- <li data-name="LuCI.fs#read"><a href="LuCI.fs.html#read">read</a></li>
-
- <li data-name="LuCI.fs#remove"><a href="LuCI.fs.html#remove">remove</a></li>
-
- <li data-name="LuCI.fs#stat"><a href="LuCI.fs.html#stat">stat</a></li>
-
- <li data-name="LuCI.fs#trimmed"><a href="LuCI.fs.html#trimmed">trimmed</a></li>
-
- <li data-name="LuCI.fs#write"><a href="LuCI.fs.html#write">write</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Headers">
- <span class="title">
- <a href="LuCI.Headers.html">LuCI.Headers</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Headers#get"><a href="LuCI.Headers.html#get">get</a></li>
-
- <li data-name="LuCI.Headers#has"><a href="LuCI.Headers.html#has">has</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network">
- <span class="title">
- <a href="LuCI.Network.html">LuCI.Network</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.Network.SwitchTopology"><a href="LuCI.Network.html#.SwitchTopology">SwitchTopology</a></li>
-
- <li data-name="LuCI.Network.WifiEncryption"><a href="LuCI.Network.html#.WifiEncryption">WifiEncryption</a></li>
-
- <li data-name="LuCI.Network.WifiPeerEntry"><a href="LuCI.Network.html#.WifiPeerEntry">WifiPeerEntry</a></li>
-
- <li data-name="LuCI.Network.WifiRateEntry"><a href="LuCI.Network.html#.WifiRateEntry">WifiRateEntry</a></li>
-
- <li data-name="LuCI.Network.WifiScanResult"><a href="LuCI.Network.html#.WifiScanResult">WifiScanResult</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network#addNetwork"><a href="LuCI.Network.html#addNetwork">addNetwork</a></li>
-
- <li data-name="LuCI.Network#addWifiNetwork"><a href="LuCI.Network.html#addWifiNetwork">addWifiNetwork</a></li>
-
- <li data-name="LuCI.Network#deleteNetwork"><a href="LuCI.Network.html#deleteNetwork">deleteNetwork</a></li>
-
- <li data-name="LuCI.Network#deleteWifiNetwork"><a href="LuCI.Network.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
-
- <li data-name="LuCI.Network#flushCache"><a href="LuCI.Network.html#flushCache">flushCache</a></li>
-
- <li data-name="LuCI.Network#formatWifiEncryption"><a href="LuCI.Network.html#formatWifiEncryption">formatWifiEncryption</a></li>
-
- <li data-name="LuCI.Network#getDevice"><a href="LuCI.Network.html#getDevice">getDevice</a></li>
-
- <li data-name="LuCI.Network#getDevices"><a href="LuCI.Network.html#getDevices">getDevices</a></li>
-
- <li data-name="LuCI.Network#getDSLModemType"><a href="LuCI.Network.html#getDSLModemType">getDSLModemType</a></li>
-
- <li data-name="LuCI.Network#getHostHints"><a href="LuCI.Network.html#getHostHints">getHostHints</a></li>
-
- <li data-name="LuCI.Network#getIfnameOf"><a href="LuCI.Network.html#getIfnameOf">getIfnameOf</a></li>
-
- <li data-name="LuCI.Network#getNetwork"><a href="LuCI.Network.html#getNetwork">getNetwork</a></li>
-
- <li data-name="LuCI.Network#getNetworks"><a href="LuCI.Network.html#getNetworks">getNetworks</a></li>
-
- <li data-name="LuCI.Network#getProtocol"><a href="LuCI.Network.html#getProtocol">getProtocol</a></li>
-
- <li data-name="LuCI.Network#getProtocols"><a href="LuCI.Network.html#getProtocols">getProtocols</a></li>
-
- <li data-name="LuCI.Network#getSwitchTopologies"><a href="LuCI.Network.html#getSwitchTopologies">getSwitchTopologies</a></li>
-
- <li data-name="LuCI.Network#getWAN6Networks"><a href="LuCI.Network.html#getWAN6Networks">getWAN6Networks</a></li>
-
- <li data-name="LuCI.Network#getWANNetworks"><a href="LuCI.Network.html#getWANNetworks">getWANNetworks</a></li>
-
- <li data-name="LuCI.Network#getWifiDevice"><a href="LuCI.Network.html#getWifiDevice">getWifiDevice</a></li>
-
- <li data-name="LuCI.Network#getWifiDevices"><a href="LuCI.Network.html#getWifiDevices">getWifiDevices</a></li>
-
- <li data-name="LuCI.Network#getWifiNetwork"><a href="LuCI.Network.html#getWifiNetwork">getWifiNetwork</a></li>
-
- <li data-name="LuCI.Network#isIgnoredDevice"><a href="LuCI.Network.html#isIgnoredDevice">isIgnoredDevice</a></li>
-
- <li data-name="LuCI.Network#maskToPrefix"><a href="LuCI.Network.html#maskToPrefix">maskToPrefix</a></li>
-
- <li data-name="LuCI.Network#prefixToMask"><a href="LuCI.Network.html#prefixToMask">prefixToMask</a></li>
-
- <li data-name="LuCI.Network#registerErrorCode"><a href="LuCI.Network.html#registerErrorCode">registerErrorCode</a></li>
-
- <li data-name="LuCI.Network#registerPatternVirtual"><a href="LuCI.Network.html#registerPatternVirtual">registerPatternVirtual</a></li>
-
- <li data-name="LuCI.Network#registerProtocol"><a href="LuCI.Network.html#registerProtocol">registerProtocol</a></li>
-
- <li data-name="LuCI.Network#renameNetwork"><a href="LuCI.Network.html#renameNetwork">renameNetwork</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.Device">
- <span class="title">
- <a href="LuCI.Network.Device.html">LuCI.Network.Device</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.Device#getBridgeID"><a href="LuCI.Network.Device.html#getBridgeID">getBridgeID</a></li>
-
- <li data-name="LuCI.Network.Device#getBridgeSTP"><a href="LuCI.Network.Device.html#getBridgeSTP">getBridgeSTP</a></li>
-
- <li data-name="LuCI.Network.Device#getI18n"><a href="LuCI.Network.Device.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.Device#getIP6Addrs"><a href="LuCI.Network.Device.html#getIP6Addrs">getIP6Addrs</a></li>
-
- <li data-name="LuCI.Network.Device#getIPAddrs"><a href="LuCI.Network.Device.html#getIPAddrs">getIPAddrs</a></li>
-
- <li data-name="LuCI.Network.Device#getMAC"><a href="LuCI.Network.Device.html#getMAC">getMAC</a></li>
-
- <li data-name="LuCI.Network.Device#getMTU"><a href="LuCI.Network.Device.html#getMTU">getMTU</a></li>
-
- <li data-name="LuCI.Network.Device#getName"><a href="LuCI.Network.Device.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.Device#getNetwork"><a href="LuCI.Network.Device.html#getNetwork">getNetwork</a></li>
-
- <li data-name="LuCI.Network.Device#getNetworks"><a href="LuCI.Network.Device.html#getNetworks">getNetworks</a></li>
-
- <li data-name="LuCI.Network.Device#getPorts"><a href="LuCI.Network.Device.html#getPorts">getPorts</a></li>
-
- <li data-name="LuCI.Network.Device#getRXBytes"><a href="LuCI.Network.Device.html#getRXBytes">getRXBytes</a></li>
-
- <li data-name="LuCI.Network.Device#getRXPackets"><a href="LuCI.Network.Device.html#getRXPackets">getRXPackets</a></li>
-
- <li data-name="LuCI.Network.Device#getShortName"><a href="LuCI.Network.Device.html#getShortName">getShortName</a></li>
-
- <li data-name="LuCI.Network.Device#getTXBytes"><a href="LuCI.Network.Device.html#getTXBytes">getTXBytes</a></li>
-
- <li data-name="LuCI.Network.Device#getTXPackets"><a href="LuCI.Network.Device.html#getTXPackets">getTXPackets</a></li>
-
- <li data-name="LuCI.Network.Device#getType"><a href="LuCI.Network.Device.html#getType">getType</a></li>
-
- <li data-name="LuCI.Network.Device#getTypeI18n"><a href="LuCI.Network.Device.html#getTypeI18n">getTypeI18n</a></li>
-
- <li data-name="LuCI.Network.Device#getWifiNetwork"><a href="LuCI.Network.Device.html#getWifiNetwork">getWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.Device#isBridge"><a href="LuCI.Network.Device.html#isBridge">isBridge</a></li>
-
- <li data-name="LuCI.Network.Device#isBridgePort"><a href="LuCI.Network.Device.html#isBridgePort">isBridgePort</a></li>
-
- <li data-name="LuCI.Network.Device#isUp"><a href="LuCI.Network.Device.html#isUp">isUp</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.Hosts">
- <span class="title">
- <a href="LuCI.Network.Hosts.html">LuCI.Network.Hosts</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.Hosts#getHostnameByIP6Addr"><a href="LuCI.Network.Hosts.html#getHostnameByIP6Addr">getHostnameByIP6Addr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getHostnameByIPAddr"><a href="LuCI.Network.Hosts.html#getHostnameByIPAddr">getHostnameByIPAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getHostnameByMACAddr"><a href="LuCI.Network.Hosts.html#getHostnameByMACAddr">getHostnameByMACAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getIP6AddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIP6AddrByMACAddr">getIP6AddrByMACAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getIPAddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIPAddrByMACAddr">getIPAddrByMACAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getMACAddrByIP6Addr"><a href="LuCI.Network.Hosts.html#getMACAddrByIP6Addr">getMACAddrByIP6Addr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getMACAddrByIPAddr"><a href="LuCI.Network.Hosts.html#getMACAddrByIPAddr">getMACAddrByIPAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getMACHints"><a href="LuCI.Network.Hosts.html#getMACHints">getMACHints</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.Protocol">
- <span class="title">
- <a href="LuCI.Network.Protocol.html">LuCI.Network.Protocol</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.Protocol#addDevice"><a href="LuCI.Network.Protocol.html#addDevice">addDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#containsDevice"><a href="LuCI.Network.Protocol.html#containsDevice">containsDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#deleteDevice"><a href="LuCI.Network.Protocol.html#deleteDevice">deleteDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#get"><a href="LuCI.Network.Protocol.html#get">get</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDevice"><a href="LuCI.Network.Protocol.html#getDevice">getDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDevices"><a href="LuCI.Network.Protocol.html#getDevices">getDevices</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDNS6Addrs"><a href="LuCI.Network.Protocol.html#getDNS6Addrs">getDNS6Addrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDNSAddrs"><a href="LuCI.Network.Protocol.html#getDNSAddrs">getDNSAddrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getErrors"><a href="LuCI.Network.Protocol.html#getErrors">getErrors</a></li>
-
- <li data-name="LuCI.Network.Protocol#getExpiry"><a href="LuCI.Network.Protocol.html#getExpiry">getExpiry</a></li>
-
- <li data-name="LuCI.Network.Protocol#getGateway6Addr"><a href="LuCI.Network.Protocol.html#getGateway6Addr">getGateway6Addr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getGatewayAddr"><a href="LuCI.Network.Protocol.html#getGatewayAddr">getGatewayAddr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getI18n"><a href="LuCI.Network.Protocol.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIfname"><a href="LuCI.Network.Protocol.html#getIfname">getIfname</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIP6Addr"><a href="LuCI.Network.Protocol.html#getIP6Addr">getIP6Addr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIP6Addrs"><a href="LuCI.Network.Protocol.html#getIP6Addrs">getIP6Addrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIP6Prefix"><a href="LuCI.Network.Protocol.html#getIP6Prefix">getIP6Prefix</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIPAddr"><a href="LuCI.Network.Protocol.html#getIPAddr">getIPAddr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIPAddrs"><a href="LuCI.Network.Protocol.html#getIPAddrs">getIPAddrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getL2Device"><a href="LuCI.Network.Protocol.html#getL2Device">getL2Device</a></li>
-
- <li data-name="LuCI.Network.Protocol#getL3Device"><a href="LuCI.Network.Protocol.html#getL3Device">getL3Device</a></li>
-
- <li data-name="LuCI.Network.Protocol#getMetric"><a href="LuCI.Network.Protocol.html#getMetric">getMetric</a></li>
-
- <li data-name="LuCI.Network.Protocol#getName"><a href="LuCI.Network.Protocol.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.Protocol#getNetmask"><a href="LuCI.Network.Protocol.html#getNetmask">getNetmask</a></li>
-
- <li data-name="LuCI.Network.Protocol#getOpkgPackage"><a href="LuCI.Network.Protocol.html#getOpkgPackage">getOpkgPackage</a></li>
-
- <li data-name="LuCI.Network.Protocol#getProtocol"><a href="LuCI.Network.Protocol.html#getProtocol">getProtocol</a></li>
-
- <li data-name="LuCI.Network.Protocol#getType"><a href="LuCI.Network.Protocol.html#getType">getType</a></li>
-
- <li data-name="LuCI.Network.Protocol#getUptime"><a href="LuCI.Network.Protocol.html#getUptime">getUptime</a></li>
-
- <li data-name="LuCI.Network.Protocol#getZoneName"><a href="LuCI.Network.Protocol.html#getZoneName">getZoneName</a></li>
-
- <li data-name="LuCI.Network.Protocol#isAlias"><a href="LuCI.Network.Protocol.html#isAlias">isAlias</a></li>
-
- <li data-name="LuCI.Network.Protocol#isBridge"><a href="LuCI.Network.Protocol.html#isBridge">isBridge</a></li>
-
- <li data-name="LuCI.Network.Protocol#isDynamic"><a href="LuCI.Network.Protocol.html#isDynamic">isDynamic</a></li>
-
- <li data-name="LuCI.Network.Protocol#isEmpty"><a href="LuCI.Network.Protocol.html#isEmpty">isEmpty</a></li>
-
- <li data-name="LuCI.Network.Protocol#isFloating"><a href="LuCI.Network.Protocol.html#isFloating">isFloating</a></li>
-
- <li data-name="LuCI.Network.Protocol#isInstalled"><a href="LuCI.Network.Protocol.html#isInstalled">isInstalled</a></li>
-
- <li data-name="LuCI.Network.Protocol#isUp"><a href="LuCI.Network.Protocol.html#isUp">isUp</a></li>
-
- <li data-name="LuCI.Network.Protocol#isVirtual"><a href="LuCI.Network.Protocol.html#isVirtual">isVirtual</a></li>
-
- <li data-name="LuCI.Network.Protocol#set"><a href="LuCI.Network.Protocol.html#set">set</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.WifiDevice">
- <span class="title">
- <a href="LuCI.Network.WifiDevice.html">LuCI.Network.WifiDevice</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.WifiDevice#addWifiNetwork"><a href="LuCI.Network.WifiDevice.html#addWifiNetwork">addWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#deleteWifiNetwork"><a href="LuCI.Network.WifiDevice.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#get"><a href="LuCI.Network.WifiDevice.html#get">get</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getHTModes"><a href="LuCI.Network.WifiDevice.html#getHTModes">getHTModes</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getHWModes"><a href="LuCI.Network.WifiDevice.html#getHWModes">getHWModes</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getI18n"><a href="LuCI.Network.WifiDevice.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getName"><a href="LuCI.Network.WifiDevice.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getScanList"><a href="LuCI.Network.WifiDevice.html#getScanList">getScanList</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getWifiNetwork"><a href="LuCI.Network.WifiDevice.html#getWifiNetwork">getWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getWifiNetworks"><a href="LuCI.Network.WifiDevice.html#getWifiNetworks">getWifiNetworks</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#isDisabled"><a href="LuCI.Network.WifiDevice.html#isDisabled">isDisabled</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#isUp"><a href="LuCI.Network.WifiDevice.html#isUp">isUp</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#set"><a href="LuCI.Network.WifiDevice.html#set">set</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.WifiNetwork">
- <span class="title">
- <a href="LuCI.Network.WifiNetwork.html">LuCI.Network.WifiNetwork</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.WifiNetwork#get"><a href="LuCI.Network.WifiNetwork.html#get">get</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveBSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveBSSID">getActiveBSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveEncryption"><a href="LuCI.Network.WifiNetwork.html#getActiveEncryption">getActiveEncryption</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveMode"><a href="LuCI.Network.WifiNetwork.html#getActiveMode">getActiveMode</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveModeI18n"><a href="LuCI.Network.WifiNetwork.html#getActiveModeI18n">getActiveModeI18n</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveSSID">getActiveSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getAssocList"><a href="LuCI.Network.WifiNetwork.html#getAssocList">getAssocList</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getBitRate"><a href="LuCI.Network.WifiNetwork.html#getBitRate">getBitRate</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getBSSID"><a href="LuCI.Network.WifiNetwork.html#getBSSID">getBSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getChannel"><a href="LuCI.Network.WifiNetwork.html#getChannel">getChannel</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getCountryCode"><a href="LuCI.Network.WifiNetwork.html#getCountryCode">getCountryCode</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getDevice"><a href="LuCI.Network.WifiNetwork.html#getDevice">getDevice</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getFrequency"><a href="LuCI.Network.WifiNetwork.html#getFrequency">getFrequency</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getI18n"><a href="LuCI.Network.WifiNetwork.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getID"><a href="LuCI.Network.WifiNetwork.html#getID">getID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getIfname"><a href="LuCI.Network.WifiNetwork.html#getIfname">getIfname</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getMeshID"><a href="LuCI.Network.WifiNetwork.html#getMeshID">getMeshID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getMode"><a href="LuCI.Network.WifiNetwork.html#getMode">getMode</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getName"><a href="LuCI.Network.WifiNetwork.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNetwork"><a href="LuCI.Network.WifiNetwork.html#getNetwork">getNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNetworkNames"><a href="LuCI.Network.WifiNetwork.html#getNetworkNames">getNetworkNames</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNetworks"><a href="LuCI.Network.WifiNetwork.html#getNetworks">getNetworks</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNoise"><a href="LuCI.Network.WifiNetwork.html#getNoise">getNoise</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getShortName"><a href="LuCI.Network.WifiNetwork.html#getShortName">getShortName</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSignal"><a href="LuCI.Network.WifiNetwork.html#getSignal">getSignal</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSignalLevel"><a href="LuCI.Network.WifiNetwork.html#getSignalLevel">getSignalLevel</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSignalPercent"><a href="LuCI.Network.WifiNetwork.html#getSignalPercent">getSignalPercent</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSSID"><a href="LuCI.Network.WifiNetwork.html#getSSID">getSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getTXPower"><a href="LuCI.Network.WifiNetwork.html#getTXPower">getTXPower</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getTXPowerOffset"><a href="LuCI.Network.WifiNetwork.html#getTXPowerOffset">getTXPowerOffset</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getWifiDevice"><a href="LuCI.Network.WifiNetwork.html#getWifiDevice">getWifiDevice</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getWifiDeviceName"><a href="LuCI.Network.WifiNetwork.html#getWifiDeviceName">getWifiDeviceName</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#isDisabled"><a href="LuCI.Network.WifiNetwork.html#isDisabled">isDisabled</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#isUp"><a href="LuCI.Network.WifiNetwork.html#isUp">isUp</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#set"><a href="LuCI.Network.WifiNetwork.html#set">set</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Poll">
- <span class="title">
- <a href="LuCI.Poll.html">LuCI.Poll</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Poll#active"><a href="LuCI.Poll.html#active">active</a></li>
-
- <li data-name="LuCI.Poll#add"><a href="LuCI.Poll.html#add">add</a></li>
-
- <li data-name="LuCI.Poll#remove"><a href="LuCI.Poll.html#remove">remove</a></li>
-
- <li data-name="LuCI.Poll#start"><a href="LuCI.Poll.html#start">start</a></li>
-
- <li data-name="LuCI.Poll#stop"><a href="LuCI.Poll.html#stop">stop</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Request">
- <span class="title">
- <a href="LuCI.Request.html">LuCI.Request</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.Request.interceptorFn"><a href="LuCI.Request.html#.interceptorFn">interceptorFn</a></li>
-
- <li data-name="LuCI.Request.RequestOptions"><a href="LuCI.Request.html#.RequestOptions">RequestOptions</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Request#addInterceptor"><a href="LuCI.Request.html#addInterceptor">addInterceptor</a></li>
-
- <li data-name="LuCI.Request#expandURL"><a href="LuCI.Request.html#expandURL">expandURL</a></li>
-
- <li data-name="LuCI.Request#get"><a href="LuCI.Request.html#get">get</a></li>
-
- <li data-name="LuCI.Request#post"><a href="LuCI.Request.html#post">post</a></li>
-
- <li data-name="LuCI.Request#removeInterceptor"><a href="LuCI.Request.html#removeInterceptor">removeInterceptor</a></li>
-
- <li data-name="LuCI.Request#request"><a href="LuCI.Request.html#request">request</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Request.poll">
- <span class="title">
- <a href="LuCI.Request.poll.html">LuCI.Request.poll</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.Request.poll~callbackFn"><a href="LuCI.Request.poll.html#~callbackFn">callbackFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Request.poll#active"><a href="LuCI.Request.poll.html#active">active</a></li>
-
- <li data-name="LuCI.Request.poll#add"><a href="LuCI.Request.poll.html#add">add</a></li>
-
- <li data-name="LuCI.Request.poll#remove"><a href="LuCI.Request.poll.html#remove">remove</a></li>
-
- <li data-name="LuCI.Request.poll#start"><a href="LuCI.Request.poll.html#start">start</a></li>
-
- <li data-name="LuCI.Request.poll#stop"><a href="LuCI.Request.poll.html#stop">stop</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Response">
- <span class="title">
- <a href="LuCI.Response.html">LuCI.Response</a>
-
- </span>
- <ul class="members itemMembers">
-
- <span class="subtitle">Members</span>
-
- <li data-name="LuCI.Response#duration"><a href="LuCI.Response.html#duration">duration</a></li>
-
- <li data-name="LuCI.Response#headers"><a href="LuCI.Response.html#headers">headers</a></li>
-
- <li data-name="LuCI.Response#ok"><a href="LuCI.Response.html#ok">ok</a></li>
-
- <li data-name="LuCI.Response#status"><a href="LuCI.Response.html#status">status</a></li>
-
- <li data-name="LuCI.Response#statusText"><a href="LuCI.Response.html#statusText">statusText</a></li>
-
- <li data-name="LuCI.Response#url"><a href="LuCI.Response.html#url">url</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Response#clone"><a href="LuCI.Response.html#clone">clone</a></li>
-
- <li data-name="LuCI.Response#json"><a href="LuCI.Response.html#json">json</a></li>
-
- <li data-name="LuCI.Response#text"><a href="LuCI.Response.html#text">text</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.rpc">
- <span class="title">
- <a href="LuCI.rpc.html">LuCI.rpc</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.rpc.DeclareOptions"><a href="LuCI.rpc.html#.DeclareOptions">DeclareOptions</a></li>
-
- <li data-name="LuCI.rpc~filterFn"><a href="LuCI.rpc.html#~filterFn">filterFn</a></li>
-
- <li data-name="LuCI.rpc~interceptorFn"><a href="LuCI.rpc.html#~interceptorFn">interceptorFn</a></li>
-
- <li data-name="LuCI.rpc~invokeFn"><a href="LuCI.rpc.html#~invokeFn">invokeFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.rpc#addInterceptor"><a href="LuCI.rpc.html#addInterceptor">addInterceptor</a></li>
-
- <li data-name="LuCI.rpc#declare"><a href="LuCI.rpc.html#declare">declare</a></li>
-
- <li data-name="LuCI.rpc#getBaseURL"><a href="LuCI.rpc.html#getBaseURL">getBaseURL</a></li>
-
- <li data-name="LuCI.rpc#getSessionID"><a href="LuCI.rpc.html#getSessionID">getSessionID</a></li>
-
- <li data-name="LuCI.rpc#getStatusText"><a href="LuCI.rpc.html#getStatusText">getStatusText</a></li>
-
- <li data-name="LuCI.rpc#list"><a href="LuCI.rpc.html#list">list</a></li>
-
- <li data-name="LuCI.rpc#removeInterceptor"><a href="LuCI.rpc.html#removeInterceptor">removeInterceptor</a></li>
-
- <li data-name="LuCI.rpc#setBaseURL"><a href="LuCI.rpc.html#setBaseURL">setBaseURL</a></li>
-
- <li data-name="LuCI.rpc#setSessionID"><a href="LuCI.rpc.html#setSessionID">setSessionID</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.uci">
- <span class="title">
- <a href="LuCI.uci.html">LuCI.uci</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.uci.ChangeRecord"><a href="LuCI.uci.html#.ChangeRecord">ChangeRecord</a></li>
-
- <li data-name="LuCI.uci.SectionObject"><a href="LuCI.uci.html#.SectionObject">SectionObject</a></li>
-
- <li data-name="LuCI.uci~sectionsFn"><a href="LuCI.uci.html#~sectionsFn">sectionsFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.uci#add"><a href="LuCI.uci.html#add">add</a></li>
-
- <li data-name="LuCI.uci#apply"><a href="LuCI.uci.html#apply">apply</a></li>
-
- <li data-name="LuCI.uci#changes"><a href="LuCI.uci.html#changes">changes</a></li>
-
- <li data-name="LuCI.uci#createSID"><a href="LuCI.uci.html#createSID">createSID</a></li>
-
- <li data-name="LuCI.uci#get"><a href="LuCI.uci.html#get">get</a></li>
-
- <li data-name="LuCI.uci#get_first"><a href="LuCI.uci.html#get_first">get_first</a></li>
-
- <li data-name="LuCI.uci#load"><a href="LuCI.uci.html#load">load</a></li>
-
- <li data-name="LuCI.uci#move"><a href="LuCI.uci.html#move">move</a></li>
-
- <li data-name="LuCI.uci#remove"><a href="LuCI.uci.html#remove">remove</a></li>
-
- <li data-name="LuCI.uci#resolveSID"><a href="LuCI.uci.html#resolveSID">resolveSID</a></li>
-
- <li data-name="LuCI.uci#save"><a href="LuCI.uci.html#save">save</a></li>
-
- <li data-name="LuCI.uci#sections"><a href="LuCI.uci.html#sections">sections</a></li>
-
- <li data-name="LuCI.uci#set"><a href="LuCI.uci.html#set">set</a></li>
-
- <li data-name="LuCI.uci#set_first"><a href="LuCI.uci.html#set_first">set_first</a></li>
-
- <li data-name="LuCI.uci#unload"><a href="LuCI.uci.html#unload">unload</a></li>
-
- <li data-name="LuCI.uci#unset"><a href="LuCI.uci.html#unset">unset</a></li>
-
- <li data-name="LuCI.uci#unset_first"><a href="LuCI.uci.html#unset_first">unset_first</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.view">
- <span class="title">
- <a href="LuCI.view.html">LuCI.view</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.view#addFooter"><a href="LuCI.view.html#addFooter">addFooter</a></li>
-
- <li data-name="LuCI.view#handleReset"><a href="LuCI.view.html#handleReset">handleReset</a></li>
-
- <li data-name="LuCI.view#handleSave"><a href="LuCI.view.html#handleSave">handleSave</a></li>
-
- <li data-name="LuCI.view#handleSaveApply"><a href="LuCI.view.html#handleSaveApply">handleSaveApply</a></li>
-
- <li data-name="LuCI.view#load"><a href="LuCI.view.html#load">load</a></li>
-
- <li data-name="LuCI.view#render"><a href="LuCI.view.html#render">render</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.XHR">
- <span class="title">
- <a href="LuCI.XHR.html">LuCI.XHR</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.XHR#abort"><a href="LuCI.XHR.html#abort">abort</a></li>
-
- <li data-name="LuCI.XHR#busy"><a href="LuCI.XHR.html#busy">busy</a></li>
-
- <li data-name="LuCI.XHR#cancel"><a href="LuCI.XHR.html#cancel">cancel</a></li>
-
- <li data-name="LuCI.XHR#get"><a href="LuCI.XHR.html#get">get</a></li>
-
- <li data-name="LuCI.XHR#post"><a href="LuCI.XHR.html#post">post</a></li>
-
- <li data-name="LuCI.XHR#send_form"><a href="LuCI.XHR.html#send_form">send_form</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- </ul>
-</div>
- <div class="main">
- <h1 class="page-title" data-filename="LuCI.Network.WifiDevice.html">Class: WifiDevice</h1>
-
-
-
-
-<section>
-
-<header>
- <h2>
- <span class="ancestors"><a href="LuCI.html">LuCI</a><a href="LuCI.Network.html">.Network</a>.</span>
-
- WifiDevice
- </h2>
-
- <div class="class-description"><p>A <code>Network.WifiDevice</code> class instance represents a wireless radio device
-present on the system and provides wireless capability information as
-well as methods for enumerating related wireless networks.</p></div>
-
-</header>
-
-<article>
- <div class="container-overview">
-
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="WifiDevice">
-
- new LuCI.Network.WifiDevice<span class="signature">()</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 2957
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dd>
-
-
- </div>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- <h3 class="subsection-title">Methods</h3>
-
- <dl>
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="addWifiNetwork">
-
- addWifiNetwork<span class="signature">(<span class="optional">options</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Promise.&lt;(null|<a href="LuCI.Network.WifiNetwork.html">LuCI.Network.WifiNetwork</a>)>}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 3222
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Adds a new wireless network associated with this radio device to the
-configuration and sets its options to the provided values.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>options</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">Object.&lt;string, (string|Array.&lt;string>)></span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
-
- <p>The options to set for the newly added wireless network.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Promise.&lt;(null|<a href="LuCI.Network.WifiNetwork.html">LuCI.Network.WifiNetwork</a>)>
-
-
- </td>
- <td class="description last">Returns a promise resolving to a <code>WifiNetwork</code> instance describing
-the newly added wireless network or <code>null</code> if the given options
-were invalid.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="deleteWifiNetwork">
-
- deleteWifiNetwork<span class="signature">(network)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Promise.&lt;boolean>}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 3247
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Deletes the wireless network with the given name associated with this
-radio device.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>network</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The name of the wireless network to lookup. This may be either an uci
-configuration section ID, a network ID in the form <code>radio#.network#</code>
-or a Linux network device name like <code>wlan0</code> which is resolved to the
-corresponding configuration section through <code>ubus</code> runtime information.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Promise.&lt;boolean>
-
-
- </td>
- <td class="description last">Returns a promise resolving to <code>true</code> when the wireless network was
-successfully deleted from the configuration or <code>false</code> when the given
-network could not be found or if the found network was not associated
-with this wireless radio device.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="get">
-
- get<span class="signature">(opt)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{null|string|Array.&lt;string>}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 2997
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Read the given UCI option value of this wireless device.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>opt</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The UCI option name to read.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- null
- |
-
- string
- |
-
- Array.&lt;string>
-
-
- </td>
- <td class="description last">Returns the UCI option value or <code>null</code> if the requested option is
-not found.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getHTModes">
-
- getHTModes<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Array.&lt;string>}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 3075
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Gets a list of supported htmodes.</p>
-<p>The htmode values describe the wide-frequency options supported by
-the wireless phy.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Array.&lt;string>
-
-
- </td>
- <td class="description last">Returns an array of valid htmode values for this radio. Currently
-known mode values are:
-<ul>
-<li><code>HT20</code> - applicable to IEEE 802.11n, 20 MHz wide channels</li>
-<li><code>HT40</code> - applicable to IEEE 802.11n, 40 MHz wide channels</li>
-<li><code>VHT20</code> - applicable to IEEE 802.11ac, 20 MHz wide channels</li>
-<li><code>VHT40</code> - applicable to IEEE 802.11ac, 40 MHz wide channels</li>
-<li><code>VHT80</code> - applicable to IEEE 802.11ac, 80 MHz wide channels</li>
-<li><code>VHT160</code> - applicable to IEEE 802.11ac, 160 MHz wide channels</li>
-</ul></td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getHWModes">
-
- getHWModes<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Array.&lt;string>}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 3054
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Gets a list of supported hwmodes.</p>
-<p>The hwmode values describe the frequency band and wireless standard
-versions supported by the wireless phy.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Array.&lt;string>
-
-
- </td>
- <td class="description last">Returns an array of valid hwmode values for this radio. Currently
-known mode values are:
-<ul>
-<li><code>a</code> - Legacy 802.11a mode, 5 GHz, up to 54 Mbit/s</li>
-<li><code>b</code> - Legacy 802.11b mode, 2.4 GHz, up to 11 Mbit/s</li>
-<li><code>g</code> - Legacy 802.11g mode, 2.4 GHz, up to 54 Mbit/s</li>
-<li><code>n</code> - IEEE 802.11n mode, 2.4 or 5 GHz, up to 600 Mbit/s</li>
-<li><code>ac</code> - IEEE 802.11ac mode, 5 GHz, up to 6770 Mbit/s</li>
-</ul></td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getI18n">
-
- getI18n<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{string}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 3086
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Get a string describing the wireless radio hardware.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- string
-
-
- </td>
- <td class="description last">Returns the description string.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getName">
-
- getName<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{string}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 3035
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Get the configuration name of this wireless radio.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- string
-
-
- </td>
- <td class="description last">Returns the UCI section name (e.g. <code>radio0</code>) of the corresponding
-radio configuration which also serves as unique logical identifier
-for the wireless phy.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getScanList">
-
- getScanList<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Promise.&lt;Array.&lt;<a href="LuCI.Network.html#.WifiScanResult">LuCI.Network.WifiScanResult</a>>>}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 3147
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Trigger a wireless scan on this radio device and obtain a list of
-nearby networks.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Promise.&lt;Array.&lt;<a href="LuCI.Network.html#.WifiScanResult">LuCI.Network.WifiScanResult</a>>>
-
-
- </td>
- <td class="description last">Returns a promise resolving to an array of scan result objects
-describing the networks found in the vincinity.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getWifiNetwork">
-
- getWifiNetwork<span class="signature">(network)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Promise.&lt;<a href="LuCI.Network.WifiNetwork.html">LuCI.Network.WifiNetwork</a>>}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 3180
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Get the wifi network of the given name belonging to this radio device</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>network</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The name of the wireless network to lookup. This may be either an uci
-configuration section ID, a network ID in the form <code>radio#.network#</code>
-or a Linux network device name like <code>wlan0</code> which is resolved to the
-corresponding configuration section through <code>ubus</code> runtime information.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Promise.&lt;<a href="LuCI.Network.WifiNetwork.html">LuCI.Network.WifiNetwork</a>>
-
-
- </td>
- <td class="description last">Returns a promise resolving to a <code>Network.WifiNetwork</code> instance
-representing the wireless network and rejecting with <code>null</code> if
-the given network could not be found or is not associated with
-this radio device.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getWifiNetworks">
-
- getWifiNetworks<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Promise.&lt;Array.&lt;<a href="LuCI.Network.WifiNetwork.html">LuCI.Network.WifiNetwork</a>>>}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 3199
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Get all wireless networks associated with this wireless radio device.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Promise.&lt;Array.&lt;<a href="LuCI.Network.WifiNetwork.html">LuCI.Network.WifiNetwork</a>>>
-
-
- </td>
- <td class="description last">Returns a promise resolving to an array of <code>Network.WifiNetwork</code>
-instances respresenting the wireless networks associated with this
-radio device.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="isDisabled">
-
- isDisabled<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 3023
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Checks whether this wireless radio is disabled.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- boolean
-
-
- </td>
- <td class="description last">Returns <code>true</code> when the wireless radio is marked as disabled in <code>ubus</code>
-runtime state or when the <code>disabled</code> option is set in the corresponding
-UCI configuration.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="isUp">
-
- isUp<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 3158
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Check whether the wireless radio is marked as up in the <code>ubus</code>
-runtime state.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- boolean
-
-
- </td>
- <td class="description last">Returns <code>true</code> when the radio device is up, else <code>false</code>.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="set">
-
- set<span class="signature">(opt, val)</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 3011
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Set the given UCI option of this network to the given value.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>opt</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The name of the UCI option to set.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>val</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">null</span>
-|
-
-<span class="param-type">string</span>
-|
-
-<span class="param-type">Array.&lt;string></span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The value to set or <code>null</code> to remove the given option from the
-configuration.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dd>
-
- </dl>
-
-
-
-
-
-
-
-</article>
-
-</section>
-
-
-
-
-
-
-
- <footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Nov 05 2019 10:17:12 GMT+0100 (Central European Standard Time)
- </footer>
- </div>
-</div>
-<script>prettyPrint();</script>
-<script src="scripts/jaguar.js"></script>
-</body>
-</html> \ No newline at end of file
diff --git a/documentation/jsapi/LuCI.Network.WifiNetwork.html b/documentation/jsapi/LuCI.Network.WifiNetwork.html
deleted file mode 100644
index 20ba7447a6..0000000000
--- a/documentation/jsapi/LuCI.Network.WifiNetwork.html
+++ /dev/null
@@ -1,4908 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <meta charset="utf-8">
- <title>Class: WifiNetwork</title>
-
-
- <script src="scripts/prettify/prettify.js"></script>
- <script src="scripts/prettify/lang-css.js"></script>
- <script src="scripts/jquery.min.js"></script>
- <!--[if lt IE 9]>
- <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
- <![endif]-->
- <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
- <link type="text/css" rel="stylesheet" href="styles/bootstrap.min.css">
- <link type="text/css" rel="stylesheet" href="styles/jaguar.css">
-
-
- <script>
- var config = {"monospaceLinks":true,"cleverLinks":true,"default":{}};
- </script>
-
-
-
-</head>
-<body>
-<div id="wrap" class="clearfix">
-
-<div class="navigation">
- <h3 class="applicationName"><a href="index.html"></a></h3>
-
- <div class="search">
- <input id="search" type="text" class="form-control input-sm" placeholder="Search Documentations">
- </div>
- <ul class="list">
-
- <li class="item" data-name="LuCI">
- <span class="title">
- <a href="LuCI.html">LuCI</a>
-
- </span>
- <ul class="members itemMembers">
-
- <span class="subtitle">Members</span>
-
- <li data-name="LuCI#env"><a href="LuCI.html#env">env</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.requestCallbackFn"><a href="LuCI.html#.requestCallbackFn">requestCallbackFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI#bind"><a href="LuCI.html#bind">bind</a></li>
-
- <li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
-
- <li data-name="LuCI#get"><a href="LuCI.html#get">get</a></li>
-
- <li data-name="LuCI#halt"><a href="LuCI.html#halt">halt</a></li>
-
- <li data-name="LuCI#hasSystemFeature"><a href="LuCI.html#hasSystemFeature">hasSystemFeature</a></li>
-
- <li data-name="LuCI#isObject"><a href="LuCI.html#isObject">isObject</a></li>
-
- <li data-name="LuCI#location"><a href="LuCI.html#location">location</a></li>
-
- <li data-name="LuCI#path"><a href="LuCI.html#path">path</a></li>
-
- <li data-name="LuCI#poll"><a href="LuCI.html#poll">poll</a></li>
-
- <li data-name="LuCI#post"><a href="LuCI.html#post">post</a></li>
-
- <li data-name="LuCI#raise"><a href="LuCI.html#raise">raise</a></li>
-
- <li data-name="LuCI#require"><a href="LuCI.html#require">require</a></li>
-
- <li data-name="LuCI#resolveDefault"><a href="LuCI.html#resolveDefault">resolveDefault</a></li>
-
- <li data-name="LuCI#resource"><a href="LuCI.html#resource">resource</a></li>
-
- <li data-name="LuCI#run"><a href="LuCI.html#run">run</a></li>
-
- <li data-name="LuCI#sortedKeys"><a href="LuCI.html#sortedKeys">sortedKeys</a></li>
-
- <li data-name="LuCI#stop"><a href="LuCI.html#stop">stop</a></li>
-
- <li data-name="LuCI#toArray"><a href="LuCI.html#toArray">toArray</a></li>
-
- <li data-name="LuCI#url"><a href="LuCI.html#url">url</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Class">
- <span class="title">
- <a href="LuCI.Class.html">LuCI.Class</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Class.extend"><a href="LuCI.Class.html#.extend">extend</a></li>
-
- <li data-name="LuCI.Class.instantiate"><a href="LuCI.Class.html#.instantiate">instantiate</a></li>
-
- <li data-name="LuCI.Class.isSubclass"><a href="LuCI.Class.html#.isSubclass">isSubclass</a></li>
-
- <li data-name="LuCI.Class.singleton"><a href="LuCI.Class.html#.singleton">singleton</a></li>
-
- <li data-name="LuCI.Class#super"><a href="LuCI.Class.html#super">super</a></li>
-
- <li data-name="LuCI.Class#varargs"><a href="LuCI.Class.html#varargs">varargs</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.dom">
- <span class="title">
- <a href="LuCI.dom.html">LuCI.dom</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.dom~ignoreCallbackFn"><a href="LuCI.dom.html#~ignoreCallbackFn">ignoreCallbackFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.dom#append"><a href="LuCI.dom.html#append">append</a></li>
-
- <li data-name="LuCI.dom#attr"><a href="LuCI.dom.html#attr">attr</a></li>
-
- <li data-name="LuCI.dom#bindClassInstance"><a href="LuCI.dom.html#bindClassInstance">bindClassInstance</a></li>
-
- <li data-name="LuCI.dom#callClassMethod"><a href="LuCI.dom.html#callClassMethod">callClassMethod</a></li>
-
- <li data-name="LuCI.dom#content"><a href="LuCI.dom.html#content">content</a></li>
-
- <li data-name="LuCI.dom#create"><a href="LuCI.dom.html#create">create</a></li>
-
- <li data-name="LuCI.dom#data"><a href="LuCI.dom.html#data">data</a></li>
-
- <li data-name="LuCI.dom#elem"><a href="LuCI.dom.html#elem">elem</a></li>
-
- <li data-name="LuCI.dom#findClassInstance"><a href="LuCI.dom.html#findClassInstance">findClassInstance</a></li>
-
- <li data-name="LuCI.dom#isEmpty"><a href="LuCI.dom.html#isEmpty">isEmpty</a></li>
-
- <li data-name="LuCI.dom#matches"><a href="LuCI.dom.html#matches">matches</a></li>
-
- <li data-name="LuCI.dom#parent"><a href="LuCI.dom.html#parent">parent</a></li>
-
- <li data-name="LuCI.dom#parse"><a href="LuCI.dom.html#parse">parse</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.fs">
- <span class="title">
- <a href="LuCI.fs.html">LuCI.fs</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.fs.FileExecResult"><a href="LuCI.fs.html#.FileExecResult">FileExecResult</a></li>
-
- <li data-name="LuCI.fs.FileStatEntry"><a href="LuCI.fs.html#.FileStatEntry">FileStatEntry</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.fs#exec"><a href="LuCI.fs.html#exec">exec</a></li>
-
- <li data-name="LuCI.fs#lines"><a href="LuCI.fs.html#lines">lines</a></li>
-
- <li data-name="LuCI.fs#list"><a href="LuCI.fs.html#list">list</a></li>
-
- <li data-name="LuCI.fs#read"><a href="LuCI.fs.html#read">read</a></li>
-
- <li data-name="LuCI.fs#remove"><a href="LuCI.fs.html#remove">remove</a></li>
-
- <li data-name="LuCI.fs#stat"><a href="LuCI.fs.html#stat">stat</a></li>
-
- <li data-name="LuCI.fs#trimmed"><a href="LuCI.fs.html#trimmed">trimmed</a></li>
-
- <li data-name="LuCI.fs#write"><a href="LuCI.fs.html#write">write</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Headers">
- <span class="title">
- <a href="LuCI.Headers.html">LuCI.Headers</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Headers#get"><a href="LuCI.Headers.html#get">get</a></li>
-
- <li data-name="LuCI.Headers#has"><a href="LuCI.Headers.html#has">has</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network">
- <span class="title">
- <a href="LuCI.Network.html">LuCI.Network</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.Network.SwitchTopology"><a href="LuCI.Network.html#.SwitchTopology">SwitchTopology</a></li>
-
- <li data-name="LuCI.Network.WifiEncryption"><a href="LuCI.Network.html#.WifiEncryption">WifiEncryption</a></li>
-
- <li data-name="LuCI.Network.WifiPeerEntry"><a href="LuCI.Network.html#.WifiPeerEntry">WifiPeerEntry</a></li>
-
- <li data-name="LuCI.Network.WifiRateEntry"><a href="LuCI.Network.html#.WifiRateEntry">WifiRateEntry</a></li>
-
- <li data-name="LuCI.Network.WifiScanResult"><a href="LuCI.Network.html#.WifiScanResult">WifiScanResult</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network#addNetwork"><a href="LuCI.Network.html#addNetwork">addNetwork</a></li>
-
- <li data-name="LuCI.Network#addWifiNetwork"><a href="LuCI.Network.html#addWifiNetwork">addWifiNetwork</a></li>
-
- <li data-name="LuCI.Network#deleteNetwork"><a href="LuCI.Network.html#deleteNetwork">deleteNetwork</a></li>
-
- <li data-name="LuCI.Network#deleteWifiNetwork"><a href="LuCI.Network.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
-
- <li data-name="LuCI.Network#flushCache"><a href="LuCI.Network.html#flushCache">flushCache</a></li>
-
- <li data-name="LuCI.Network#formatWifiEncryption"><a href="LuCI.Network.html#formatWifiEncryption">formatWifiEncryption</a></li>
-
- <li data-name="LuCI.Network#getDevice"><a href="LuCI.Network.html#getDevice">getDevice</a></li>
-
- <li data-name="LuCI.Network#getDevices"><a href="LuCI.Network.html#getDevices">getDevices</a></li>
-
- <li data-name="LuCI.Network#getDSLModemType"><a href="LuCI.Network.html#getDSLModemType">getDSLModemType</a></li>
-
- <li data-name="LuCI.Network#getHostHints"><a href="LuCI.Network.html#getHostHints">getHostHints</a></li>
-
- <li data-name="LuCI.Network#getIfnameOf"><a href="LuCI.Network.html#getIfnameOf">getIfnameOf</a></li>
-
- <li data-name="LuCI.Network#getNetwork"><a href="LuCI.Network.html#getNetwork">getNetwork</a></li>
-
- <li data-name="LuCI.Network#getNetworks"><a href="LuCI.Network.html#getNetworks">getNetworks</a></li>
-
- <li data-name="LuCI.Network#getProtocol"><a href="LuCI.Network.html#getProtocol">getProtocol</a></li>
-
- <li data-name="LuCI.Network#getProtocols"><a href="LuCI.Network.html#getProtocols">getProtocols</a></li>
-
- <li data-name="LuCI.Network#getSwitchTopologies"><a href="LuCI.Network.html#getSwitchTopologies">getSwitchTopologies</a></li>
-
- <li data-name="LuCI.Network#getWAN6Networks"><a href="LuCI.Network.html#getWAN6Networks">getWAN6Networks</a></li>
-
- <li data-name="LuCI.Network#getWANNetworks"><a href="LuCI.Network.html#getWANNetworks">getWANNetworks</a></li>
-
- <li data-name="LuCI.Network#getWifiDevice"><a href="LuCI.Network.html#getWifiDevice">getWifiDevice</a></li>
-
- <li data-name="LuCI.Network#getWifiDevices"><a href="LuCI.Network.html#getWifiDevices">getWifiDevices</a></li>
-
- <li data-name="LuCI.Network#getWifiNetwork"><a href="LuCI.Network.html#getWifiNetwork">getWifiNetwork</a></li>
-
- <li data-name="LuCI.Network#isIgnoredDevice"><a href="LuCI.Network.html#isIgnoredDevice">isIgnoredDevice</a></li>
-
- <li data-name="LuCI.Network#maskToPrefix"><a href="LuCI.Network.html#maskToPrefix">maskToPrefix</a></li>
-
- <li data-name="LuCI.Network#prefixToMask"><a href="LuCI.Network.html#prefixToMask">prefixToMask</a></li>
-
- <li data-name="LuCI.Network#registerErrorCode"><a href="LuCI.Network.html#registerErrorCode">registerErrorCode</a></li>
-
- <li data-name="LuCI.Network#registerPatternVirtual"><a href="LuCI.Network.html#registerPatternVirtual">registerPatternVirtual</a></li>
-
- <li data-name="LuCI.Network#registerProtocol"><a href="LuCI.Network.html#registerProtocol">registerProtocol</a></li>
-
- <li data-name="LuCI.Network#renameNetwork"><a href="LuCI.Network.html#renameNetwork">renameNetwork</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.Device">
- <span class="title">
- <a href="LuCI.Network.Device.html">LuCI.Network.Device</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.Device#getBridgeID"><a href="LuCI.Network.Device.html#getBridgeID">getBridgeID</a></li>
-
- <li data-name="LuCI.Network.Device#getBridgeSTP"><a href="LuCI.Network.Device.html#getBridgeSTP">getBridgeSTP</a></li>
-
- <li data-name="LuCI.Network.Device#getI18n"><a href="LuCI.Network.Device.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.Device#getIP6Addrs"><a href="LuCI.Network.Device.html#getIP6Addrs">getIP6Addrs</a></li>
-
- <li data-name="LuCI.Network.Device#getIPAddrs"><a href="LuCI.Network.Device.html#getIPAddrs">getIPAddrs</a></li>
-
- <li data-name="LuCI.Network.Device#getMAC"><a href="LuCI.Network.Device.html#getMAC">getMAC</a></li>
-
- <li data-name="LuCI.Network.Device#getMTU"><a href="LuCI.Network.Device.html#getMTU">getMTU</a></li>
-
- <li data-name="LuCI.Network.Device#getName"><a href="LuCI.Network.Device.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.Device#getNetwork"><a href="LuCI.Network.Device.html#getNetwork">getNetwork</a></li>
-
- <li data-name="LuCI.Network.Device#getNetworks"><a href="LuCI.Network.Device.html#getNetworks">getNetworks</a></li>
-
- <li data-name="LuCI.Network.Device#getPorts"><a href="LuCI.Network.Device.html#getPorts">getPorts</a></li>
-
- <li data-name="LuCI.Network.Device#getRXBytes"><a href="LuCI.Network.Device.html#getRXBytes">getRXBytes</a></li>
-
- <li data-name="LuCI.Network.Device#getRXPackets"><a href="LuCI.Network.Device.html#getRXPackets">getRXPackets</a></li>
-
- <li data-name="LuCI.Network.Device#getShortName"><a href="LuCI.Network.Device.html#getShortName">getShortName</a></li>
-
- <li data-name="LuCI.Network.Device#getTXBytes"><a href="LuCI.Network.Device.html#getTXBytes">getTXBytes</a></li>
-
- <li data-name="LuCI.Network.Device#getTXPackets"><a href="LuCI.Network.Device.html#getTXPackets">getTXPackets</a></li>
-
- <li data-name="LuCI.Network.Device#getType"><a href="LuCI.Network.Device.html#getType">getType</a></li>
-
- <li data-name="LuCI.Network.Device#getTypeI18n"><a href="LuCI.Network.Device.html#getTypeI18n">getTypeI18n</a></li>
-
- <li data-name="LuCI.Network.Device#getWifiNetwork"><a href="LuCI.Network.Device.html#getWifiNetwork">getWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.Device#isBridge"><a href="LuCI.Network.Device.html#isBridge">isBridge</a></li>
-
- <li data-name="LuCI.Network.Device#isBridgePort"><a href="LuCI.Network.Device.html#isBridgePort">isBridgePort</a></li>
-
- <li data-name="LuCI.Network.Device#isUp"><a href="LuCI.Network.Device.html#isUp">isUp</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.Hosts">
- <span class="title">
- <a href="LuCI.Network.Hosts.html">LuCI.Network.Hosts</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.Hosts#getHostnameByIP6Addr"><a href="LuCI.Network.Hosts.html#getHostnameByIP6Addr">getHostnameByIP6Addr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getHostnameByIPAddr"><a href="LuCI.Network.Hosts.html#getHostnameByIPAddr">getHostnameByIPAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getHostnameByMACAddr"><a href="LuCI.Network.Hosts.html#getHostnameByMACAddr">getHostnameByMACAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getIP6AddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIP6AddrByMACAddr">getIP6AddrByMACAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getIPAddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIPAddrByMACAddr">getIPAddrByMACAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getMACAddrByIP6Addr"><a href="LuCI.Network.Hosts.html#getMACAddrByIP6Addr">getMACAddrByIP6Addr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getMACAddrByIPAddr"><a href="LuCI.Network.Hosts.html#getMACAddrByIPAddr">getMACAddrByIPAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getMACHints"><a href="LuCI.Network.Hosts.html#getMACHints">getMACHints</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.Protocol">
- <span class="title">
- <a href="LuCI.Network.Protocol.html">LuCI.Network.Protocol</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.Protocol#addDevice"><a href="LuCI.Network.Protocol.html#addDevice">addDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#containsDevice"><a href="LuCI.Network.Protocol.html#containsDevice">containsDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#deleteDevice"><a href="LuCI.Network.Protocol.html#deleteDevice">deleteDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#get"><a href="LuCI.Network.Protocol.html#get">get</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDevice"><a href="LuCI.Network.Protocol.html#getDevice">getDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDevices"><a href="LuCI.Network.Protocol.html#getDevices">getDevices</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDNS6Addrs"><a href="LuCI.Network.Protocol.html#getDNS6Addrs">getDNS6Addrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDNSAddrs"><a href="LuCI.Network.Protocol.html#getDNSAddrs">getDNSAddrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getErrors"><a href="LuCI.Network.Protocol.html#getErrors">getErrors</a></li>
-
- <li data-name="LuCI.Network.Protocol#getExpiry"><a href="LuCI.Network.Protocol.html#getExpiry">getExpiry</a></li>
-
- <li data-name="LuCI.Network.Protocol#getGateway6Addr"><a href="LuCI.Network.Protocol.html#getGateway6Addr">getGateway6Addr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getGatewayAddr"><a href="LuCI.Network.Protocol.html#getGatewayAddr">getGatewayAddr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getI18n"><a href="LuCI.Network.Protocol.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIfname"><a href="LuCI.Network.Protocol.html#getIfname">getIfname</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIP6Addr"><a href="LuCI.Network.Protocol.html#getIP6Addr">getIP6Addr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIP6Addrs"><a href="LuCI.Network.Protocol.html#getIP6Addrs">getIP6Addrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIP6Prefix"><a href="LuCI.Network.Protocol.html#getIP6Prefix">getIP6Prefix</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIPAddr"><a href="LuCI.Network.Protocol.html#getIPAddr">getIPAddr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIPAddrs"><a href="LuCI.Network.Protocol.html#getIPAddrs">getIPAddrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getL2Device"><a href="LuCI.Network.Protocol.html#getL2Device">getL2Device</a></li>
-
- <li data-name="LuCI.Network.Protocol#getL3Device"><a href="LuCI.Network.Protocol.html#getL3Device">getL3Device</a></li>
-
- <li data-name="LuCI.Network.Protocol#getMetric"><a href="LuCI.Network.Protocol.html#getMetric">getMetric</a></li>
-
- <li data-name="LuCI.Network.Protocol#getName"><a href="LuCI.Network.Protocol.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.Protocol#getNetmask"><a href="LuCI.Network.Protocol.html#getNetmask">getNetmask</a></li>
-
- <li data-name="LuCI.Network.Protocol#getOpkgPackage"><a href="LuCI.Network.Protocol.html#getOpkgPackage">getOpkgPackage</a></li>
-
- <li data-name="LuCI.Network.Protocol#getProtocol"><a href="LuCI.Network.Protocol.html#getProtocol">getProtocol</a></li>
-
- <li data-name="LuCI.Network.Protocol#getType"><a href="LuCI.Network.Protocol.html#getType">getType</a></li>
-
- <li data-name="LuCI.Network.Protocol#getUptime"><a href="LuCI.Network.Protocol.html#getUptime">getUptime</a></li>
-
- <li data-name="LuCI.Network.Protocol#getZoneName"><a href="LuCI.Network.Protocol.html#getZoneName">getZoneName</a></li>
-
- <li data-name="LuCI.Network.Protocol#isAlias"><a href="LuCI.Network.Protocol.html#isAlias">isAlias</a></li>
-
- <li data-name="LuCI.Network.Protocol#isBridge"><a href="LuCI.Network.Protocol.html#isBridge">isBridge</a></li>
-
- <li data-name="LuCI.Network.Protocol#isDynamic"><a href="LuCI.Network.Protocol.html#isDynamic">isDynamic</a></li>
-
- <li data-name="LuCI.Network.Protocol#isEmpty"><a href="LuCI.Network.Protocol.html#isEmpty">isEmpty</a></li>
-
- <li data-name="LuCI.Network.Protocol#isFloating"><a href="LuCI.Network.Protocol.html#isFloating">isFloating</a></li>
-
- <li data-name="LuCI.Network.Protocol#isInstalled"><a href="LuCI.Network.Protocol.html#isInstalled">isInstalled</a></li>
-
- <li data-name="LuCI.Network.Protocol#isUp"><a href="LuCI.Network.Protocol.html#isUp">isUp</a></li>
-
- <li data-name="LuCI.Network.Protocol#isVirtual"><a href="LuCI.Network.Protocol.html#isVirtual">isVirtual</a></li>
-
- <li data-name="LuCI.Network.Protocol#set"><a href="LuCI.Network.Protocol.html#set">set</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.WifiDevice">
- <span class="title">
- <a href="LuCI.Network.WifiDevice.html">LuCI.Network.WifiDevice</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.WifiDevice#addWifiNetwork"><a href="LuCI.Network.WifiDevice.html#addWifiNetwork">addWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#deleteWifiNetwork"><a href="LuCI.Network.WifiDevice.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#get"><a href="LuCI.Network.WifiDevice.html#get">get</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getHTModes"><a href="LuCI.Network.WifiDevice.html#getHTModes">getHTModes</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getHWModes"><a href="LuCI.Network.WifiDevice.html#getHWModes">getHWModes</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getI18n"><a href="LuCI.Network.WifiDevice.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getName"><a href="LuCI.Network.WifiDevice.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getScanList"><a href="LuCI.Network.WifiDevice.html#getScanList">getScanList</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getWifiNetwork"><a href="LuCI.Network.WifiDevice.html#getWifiNetwork">getWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getWifiNetworks"><a href="LuCI.Network.WifiDevice.html#getWifiNetworks">getWifiNetworks</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#isDisabled"><a href="LuCI.Network.WifiDevice.html#isDisabled">isDisabled</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#isUp"><a href="LuCI.Network.WifiDevice.html#isUp">isUp</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#set"><a href="LuCI.Network.WifiDevice.html#set">set</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.WifiNetwork">
- <span class="title">
- <a href="LuCI.Network.WifiNetwork.html">LuCI.Network.WifiNetwork</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.WifiNetwork#get"><a href="LuCI.Network.WifiNetwork.html#get">get</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveBSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveBSSID">getActiveBSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveEncryption"><a href="LuCI.Network.WifiNetwork.html#getActiveEncryption">getActiveEncryption</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveMode"><a href="LuCI.Network.WifiNetwork.html#getActiveMode">getActiveMode</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveModeI18n"><a href="LuCI.Network.WifiNetwork.html#getActiveModeI18n">getActiveModeI18n</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveSSID">getActiveSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getAssocList"><a href="LuCI.Network.WifiNetwork.html#getAssocList">getAssocList</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getBitRate"><a href="LuCI.Network.WifiNetwork.html#getBitRate">getBitRate</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getBSSID"><a href="LuCI.Network.WifiNetwork.html#getBSSID">getBSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getChannel"><a href="LuCI.Network.WifiNetwork.html#getChannel">getChannel</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getCountryCode"><a href="LuCI.Network.WifiNetwork.html#getCountryCode">getCountryCode</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getDevice"><a href="LuCI.Network.WifiNetwork.html#getDevice">getDevice</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getFrequency"><a href="LuCI.Network.WifiNetwork.html#getFrequency">getFrequency</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getI18n"><a href="LuCI.Network.WifiNetwork.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getID"><a href="LuCI.Network.WifiNetwork.html#getID">getID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getIfname"><a href="LuCI.Network.WifiNetwork.html#getIfname">getIfname</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getMeshID"><a href="LuCI.Network.WifiNetwork.html#getMeshID">getMeshID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getMode"><a href="LuCI.Network.WifiNetwork.html#getMode">getMode</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getName"><a href="LuCI.Network.WifiNetwork.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNetwork"><a href="LuCI.Network.WifiNetwork.html#getNetwork">getNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNetworkNames"><a href="LuCI.Network.WifiNetwork.html#getNetworkNames">getNetworkNames</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNetworks"><a href="LuCI.Network.WifiNetwork.html#getNetworks">getNetworks</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNoise"><a href="LuCI.Network.WifiNetwork.html#getNoise">getNoise</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getShortName"><a href="LuCI.Network.WifiNetwork.html#getShortName">getShortName</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSignal"><a href="LuCI.Network.WifiNetwork.html#getSignal">getSignal</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSignalLevel"><a href="LuCI.Network.WifiNetwork.html#getSignalLevel">getSignalLevel</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSignalPercent"><a href="LuCI.Network.WifiNetwork.html#getSignalPercent">getSignalPercent</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSSID"><a href="LuCI.Network.WifiNetwork.html#getSSID">getSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getTXPower"><a href="LuCI.Network.WifiNetwork.html#getTXPower">getTXPower</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getTXPowerOffset"><a href="LuCI.Network.WifiNetwork.html#getTXPowerOffset">getTXPowerOffset</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getWifiDevice"><a href="LuCI.Network.WifiNetwork.html#getWifiDevice">getWifiDevice</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getWifiDeviceName"><a href="LuCI.Network.WifiNetwork.html#getWifiDeviceName">getWifiDeviceName</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#isDisabled"><a href="LuCI.Network.WifiNetwork.html#isDisabled">isDisabled</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#isUp"><a href="LuCI.Network.WifiNetwork.html#isUp">isUp</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#set"><a href="LuCI.Network.WifiNetwork.html#set">set</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Poll">
- <span class="title">
- <a href="LuCI.Poll.html">LuCI.Poll</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Poll#active"><a href="LuCI.Poll.html#active">active</a></li>
-
- <li data-name="LuCI.Poll#add"><a href="LuCI.Poll.html#add">add</a></li>
-
- <li data-name="LuCI.Poll#remove"><a href="LuCI.Poll.html#remove">remove</a></li>
-
- <li data-name="LuCI.Poll#start"><a href="LuCI.Poll.html#start">start</a></li>
-
- <li data-name="LuCI.Poll#stop"><a href="LuCI.Poll.html#stop">stop</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Request">
- <span class="title">
- <a href="LuCI.Request.html">LuCI.Request</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.Request.interceptorFn"><a href="LuCI.Request.html#.interceptorFn">interceptorFn</a></li>
-
- <li data-name="LuCI.Request.RequestOptions"><a href="LuCI.Request.html#.RequestOptions">RequestOptions</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Request#addInterceptor"><a href="LuCI.Request.html#addInterceptor">addInterceptor</a></li>
-
- <li data-name="LuCI.Request#expandURL"><a href="LuCI.Request.html#expandURL">expandURL</a></li>
-
- <li data-name="LuCI.Request#get"><a href="LuCI.Request.html#get">get</a></li>
-
- <li data-name="LuCI.Request#post"><a href="LuCI.Request.html#post">post</a></li>
-
- <li data-name="LuCI.Request#removeInterceptor"><a href="LuCI.Request.html#removeInterceptor">removeInterceptor</a></li>
-
- <li data-name="LuCI.Request#request"><a href="LuCI.Request.html#request">request</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Request.poll">
- <span class="title">
- <a href="LuCI.Request.poll.html">LuCI.Request.poll</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.Request.poll~callbackFn"><a href="LuCI.Request.poll.html#~callbackFn">callbackFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Request.poll#active"><a href="LuCI.Request.poll.html#active">active</a></li>
-
- <li data-name="LuCI.Request.poll#add"><a href="LuCI.Request.poll.html#add">add</a></li>
-
- <li data-name="LuCI.Request.poll#remove"><a href="LuCI.Request.poll.html#remove">remove</a></li>
-
- <li data-name="LuCI.Request.poll#start"><a href="LuCI.Request.poll.html#start">start</a></li>
-
- <li data-name="LuCI.Request.poll#stop"><a href="LuCI.Request.poll.html#stop">stop</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Response">
- <span class="title">
- <a href="LuCI.Response.html">LuCI.Response</a>
-
- </span>
- <ul class="members itemMembers">
-
- <span class="subtitle">Members</span>
-
- <li data-name="LuCI.Response#duration"><a href="LuCI.Response.html#duration">duration</a></li>
-
- <li data-name="LuCI.Response#headers"><a href="LuCI.Response.html#headers">headers</a></li>
-
- <li data-name="LuCI.Response#ok"><a href="LuCI.Response.html#ok">ok</a></li>
-
- <li data-name="LuCI.Response#status"><a href="LuCI.Response.html#status">status</a></li>
-
- <li data-name="LuCI.Response#statusText"><a href="LuCI.Response.html#statusText">statusText</a></li>
-
- <li data-name="LuCI.Response#url"><a href="LuCI.Response.html#url">url</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Response#clone"><a href="LuCI.Response.html#clone">clone</a></li>
-
- <li data-name="LuCI.Response#json"><a href="LuCI.Response.html#json">json</a></li>
-
- <li data-name="LuCI.Response#text"><a href="LuCI.Response.html#text">text</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.rpc">
- <span class="title">
- <a href="LuCI.rpc.html">LuCI.rpc</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.rpc.DeclareOptions"><a href="LuCI.rpc.html#.DeclareOptions">DeclareOptions</a></li>
-
- <li data-name="LuCI.rpc~filterFn"><a href="LuCI.rpc.html#~filterFn">filterFn</a></li>
-
- <li data-name="LuCI.rpc~interceptorFn"><a href="LuCI.rpc.html#~interceptorFn">interceptorFn</a></li>
-
- <li data-name="LuCI.rpc~invokeFn"><a href="LuCI.rpc.html#~invokeFn">invokeFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.rpc#addInterceptor"><a href="LuCI.rpc.html#addInterceptor">addInterceptor</a></li>
-
- <li data-name="LuCI.rpc#declare"><a href="LuCI.rpc.html#declare">declare</a></li>
-
- <li data-name="LuCI.rpc#getBaseURL"><a href="LuCI.rpc.html#getBaseURL">getBaseURL</a></li>
-
- <li data-name="LuCI.rpc#getSessionID"><a href="LuCI.rpc.html#getSessionID">getSessionID</a></li>
-
- <li data-name="LuCI.rpc#getStatusText"><a href="LuCI.rpc.html#getStatusText">getStatusText</a></li>
-
- <li data-name="LuCI.rpc#list"><a href="LuCI.rpc.html#list">list</a></li>
-
- <li data-name="LuCI.rpc#removeInterceptor"><a href="LuCI.rpc.html#removeInterceptor">removeInterceptor</a></li>
-
- <li data-name="LuCI.rpc#setBaseURL"><a href="LuCI.rpc.html#setBaseURL">setBaseURL</a></li>
-
- <li data-name="LuCI.rpc#setSessionID"><a href="LuCI.rpc.html#setSessionID">setSessionID</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.uci">
- <span class="title">
- <a href="LuCI.uci.html">LuCI.uci</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.uci.ChangeRecord"><a href="LuCI.uci.html#.ChangeRecord">ChangeRecord</a></li>
-
- <li data-name="LuCI.uci.SectionObject"><a href="LuCI.uci.html#.SectionObject">SectionObject</a></li>
-
- <li data-name="LuCI.uci~sectionsFn"><a href="LuCI.uci.html#~sectionsFn">sectionsFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.uci#add"><a href="LuCI.uci.html#add">add</a></li>
-
- <li data-name="LuCI.uci#apply"><a href="LuCI.uci.html#apply">apply</a></li>
-
- <li data-name="LuCI.uci#changes"><a href="LuCI.uci.html#changes">changes</a></li>
-
- <li data-name="LuCI.uci#createSID"><a href="LuCI.uci.html#createSID">createSID</a></li>
-
- <li data-name="LuCI.uci#get"><a href="LuCI.uci.html#get">get</a></li>
-
- <li data-name="LuCI.uci#get_first"><a href="LuCI.uci.html#get_first">get_first</a></li>
-
- <li data-name="LuCI.uci#load"><a href="LuCI.uci.html#load">load</a></li>
-
- <li data-name="LuCI.uci#move"><a href="LuCI.uci.html#move">move</a></li>
-
- <li data-name="LuCI.uci#remove"><a href="LuCI.uci.html#remove">remove</a></li>
-
- <li data-name="LuCI.uci#resolveSID"><a href="LuCI.uci.html#resolveSID">resolveSID</a></li>
-
- <li data-name="LuCI.uci#save"><a href="LuCI.uci.html#save">save</a></li>
-
- <li data-name="LuCI.uci#sections"><a href="LuCI.uci.html#sections">sections</a></li>
-
- <li data-name="LuCI.uci#set"><a href="LuCI.uci.html#set">set</a></li>
-
- <li data-name="LuCI.uci#set_first"><a href="LuCI.uci.html#set_first">set_first</a></li>
-
- <li data-name="LuCI.uci#unload"><a href="LuCI.uci.html#unload">unload</a></li>
-
- <li data-name="LuCI.uci#unset"><a href="LuCI.uci.html#unset">unset</a></li>
-
- <li data-name="LuCI.uci#unset_first"><a href="LuCI.uci.html#unset_first">unset_first</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.view">
- <span class="title">
- <a href="LuCI.view.html">LuCI.view</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.view#addFooter"><a href="LuCI.view.html#addFooter">addFooter</a></li>
-
- <li data-name="LuCI.view#handleReset"><a href="LuCI.view.html#handleReset">handleReset</a></li>
-
- <li data-name="LuCI.view#handleSave"><a href="LuCI.view.html#handleSave">handleSave</a></li>
-
- <li data-name="LuCI.view#handleSaveApply"><a href="LuCI.view.html#handleSaveApply">handleSaveApply</a></li>
-
- <li data-name="LuCI.view#load"><a href="LuCI.view.html#load">load</a></li>
-
- <li data-name="LuCI.view#render"><a href="LuCI.view.html#render">render</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.XHR">
- <span class="title">
- <a href="LuCI.XHR.html">LuCI.XHR</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.XHR#abort"><a href="LuCI.XHR.html#abort">abort</a></li>
-
- <li data-name="LuCI.XHR#busy"><a href="LuCI.XHR.html#busy">busy</a></li>
-
- <li data-name="LuCI.XHR#cancel"><a href="LuCI.XHR.html#cancel">cancel</a></li>
-
- <li data-name="LuCI.XHR#get"><a href="LuCI.XHR.html#get">get</a></li>
-
- <li data-name="LuCI.XHR#post"><a href="LuCI.XHR.html#post">post</a></li>
-
- <li data-name="LuCI.XHR#send_form"><a href="LuCI.XHR.html#send_form">send_form</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- </ul>
-</div>
- <div class="main">
- <h1 class="page-title" data-filename="LuCI.Network.WifiNetwork.html">Class: WifiNetwork</h1>
-
-
-
-
-<section>
-
-<header>
- <h2>
- <span class="ancestors"><a href="LuCI.html">LuCI</a><a href="LuCI.Network.html">.Network</a>.</span>
-
- WifiNetwork
- </h2>
-
- <div class="class-description"><p>A <code>Network.WifiNetwork</code> instance represents a wireless network (vif)
-configured on top of a radio device and provides functions for querying
-the runtime state of the network. Most radio devices support multiple
-such networks in parallel.</p></div>
-
-</header>
-
-<article>
- <div class="container-overview">
-
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="WifiNetwork">
-
- new LuCI.Network.WifiNetwork<span class="signature">()</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 3280
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dd>
-
-
- </div>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- <h3 class="subsection-title">Methods</h3>
-
- <dl>
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="get">
-
- get<span class="signature">(opt)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{null|string|Array.&lt;string>}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 3313
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Read the given UCI option value of this wireless network.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>opt</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The UCI option name to read.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- null
- |
-
- string
- |
-
- Array.&lt;string>
-
-
- </td>
- <td class="description last">Returns the UCI option value or <code>null</code> if the requested option is
-not found.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getActiveBSSID">
-
- getActiveBSSID<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{string}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 3566
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Query the current BSSID from runtime information.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- string
-
-
- </td>
- <td class="description last">Returns the current BSSID or Mesh ID as reported by <code>ubus</code> runtime
-information.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getActiveEncryption">
-
- getActiveEncryption<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{string}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 3577
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Query the current encryption settings from runtime information.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- string
-
-
- </td>
- <td class="description last">Returns a string describing the current encryption or <code>-</code> if the the
-encryption state could not be found in <code>ubus</code> runtime information.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getActiveMode">
-
- getActiveMode<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{string}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 3514
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Query the current operation mode from runtime information.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- string
-
-
- </td>
- <td class="description last">Returns the human readable mode name as reported by <code>ubus</code> runtime
-state. Possible returned values are:
-<ul>
-<li><code>Master</code></li>
-<li><code>Ad-Hoc</code></li>
-<li><code>Client</code></li>
-<li><code>Monitor</code></li>
-<li><code>Master (VLAN)</code></li>
-<li><code>WDS</code></li>
-<li><code>Mesh Point</code></li>
-<li><code>P2P Client</code></li>
-<li><code>P2P Go</code></li>
-<li><code>Unknown</code></li>
-</ul></td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getActiveModeI18n">
-
- getActiveModeI18n<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{string}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 3535
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Query the current operation mode from runtime information as
-translated string.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- string
-
-
- </td>
- <td class="description last">Returns the translated, human readable mode name as reported by
-<code>ubus</code> runtime state.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getActiveSSID">
-
- getActiveSSID<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{string}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 3555
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Query the current SSID from runtime information.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- string
-
-
- </td>
- <td class="description last">Returns the current SSID or Mesh ID as reported by <code>ubus</code> runtime
-information.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getAssocList">
-
- getAssocList<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Promise.&lt;Array.&lt;<a href="LuCI.Network.html#.WifiPeerEntry">LuCI.Network.WifiPeerEntry</a>>>}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 3757
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Fetch the list of associated peers.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Promise.&lt;Array.&lt;<a href="LuCI.Network.html#.WifiPeerEntry">LuCI.Network.WifiPeerEntry</a>>>
-
-
- </td>
- <td class="description last">Returns a promise resolving to an array of wireless peers associated
-with this network.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getBitRate">
-
- getBitRate<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{null|number}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 3787
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Query the current average bitrate of all peers associated to this
-wireless network.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- null
- |
-
- number
-
-
- </td>
- <td class="description last">Returns the average bit rate among all peers associated to the network
-as reported by <code>ubus</code> runtime information or <code>null</code> if the information
-is not available.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getBSSID">
-
- getBSSID<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{null|string}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 3392
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Get the configured BSSID of the wireless network.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- null
- |
-
- string
-
-
- </td>
- <td class="description last">Returns the BSSID value or <code>null</code> if none has been specified.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getChannel">
-
- getChannel<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{null|number}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 3803
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Query the current wireless channel.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- null
- |
-
- number
-
-
- </td>
- <td class="description last">Returns the wireless channel as reported by <code>ubus</code> runtime information
-or <code>null</code> if it cannot be determined.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getCountryCode">
-
- getCountryCode<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{string}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 3836
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Query the current country code.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- string
-
-
- </td>
- <td class="description last">Returns the wireless country code as reported by <code>ubus</code> runtime
-information or <code>00</code> if it cannot be determined.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getDevice">
-
- getDevice<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{<a href="LuCI.Network.Device.html">LuCI.Network.Device</a>}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 3982
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Get the associated Linux network device.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- <a href="LuCI.Network.Device.html">LuCI.Network.Device</a>
-
-
- </td>
- <td class="description last">Returns a <code>Network.Device</code> instance representing the Linux network
-device associted with this wireless network.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getFrequency">
-
- getFrequency<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{null|string}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 3769
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Query the current operating frequency of the wireless network.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- null
- |
-
- string
-
-
- </td>
- <td class="description last">Returns the current operating frequency of the network from <code>ubus</code>
-runtime information in GHz or <code>null</code> if the information is not
-available.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getI18n">
-
- getI18n<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{string}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 3930
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Get a description string for this wireless network.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- string
-
-
- </td>
- <td class="description last">Returns a string describing this network, consisting of the
-term <code>Wireless Network</code>, followed by the active operation mode,
-the SSID, BSSID or internal network ID and the Linux network device
-name, depending on which information is available.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getID">
-
- getID<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{string}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 3417
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Get the internal network ID of this wireless network.</p>
-<p>The network ID is a LuCI specific identifer in the form
-<code>radio#.network#</code> to identify wireless networks by their corresponding
-radio and network index numbers.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- string
-
-
- </td>
- <td class="description last">Returns the LuCI specific network ID.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getIfname">
-
- getIfname<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{null|string}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 3439
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Get the Linux network device name.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- null
- |
-
- string
-
-
- </td>
- <td class="description last">Returns the current Linux network device name as resolved from
-<code>ubus</code> runtime information or <code>null</code> if this network has no
-associated network device, e.g. when not configured or up.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getMeshID">
-
- getMeshID<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{null|string}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 3379
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Get the configured Mesh ID of the wireless network.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- null
- |
-
- string
-
-
- </td>
- <td class="description last">Returns the configured mesh ID value or <code>null</code> when this network
-is not in mesh mode.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getMode">
-
- getMode<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{string}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 3354
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Get the configured operation mode of the wireless network.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- string
-
-
- </td>
- <td class="description last">Returns the configured operation mode. Possible values are:
-<ul>
-<li><code>ap</code> - Master (Access Point) mode</li>
-<li><code>sta</code> - Station (client) mode</li>
-<li><code>adhoc</code> - Ad-Hoc (IBSS) mode</li>
-<li><code>mesh</code> - Mesh (IEEE 802.11s) mode</li>
-<li><code>monitor</code> - Monitor mode</li>
-</ul></td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getName">
-
- getName<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{string}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 3427
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Get the configuration ID of this wireless network.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- string
-
-
- </td>
- <td class="description last">Returns the corresponding UCI section ID of the network.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getNetwork">
-
- getNetwork<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{null|<a href="LuCI.Network.Protocol.html">LuCI.Network.Protocol</a>}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 3946
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Get the primary logical interface this wireless network is attached to.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- null
- |
-
- <a href="LuCI.Network.Protocol.html">LuCI.Network.Protocol</a>
-
-
- </td>
- <td class="description last">Returns a <code>Network.Protocol</code> instance representing the logical
-interface or <code>null</code> if this network is not attached to any logical
-interface.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getNetworkNames">
-
- getNetworkNames<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Array.&lt;string>}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 3403
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Get the names of the logical interfaces this wireless network is
-attached to.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Array.&lt;string>
-
-
- </td>
- <td class="description last">Returns an array of logical interface names.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getNetworks">
-
- getNetworks<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Array.&lt;<a href="LuCI.Network.Protocol.html">LuCI.Network.Protocol</a>>}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 3957
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Get the logical interfaces this wireless network is attached to.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Array.&lt;<a href="LuCI.Network.Protocol.html">LuCI.Network.Protocol</a>>
-
-
- </td>
- <td class="description last">Returns an array of <code>Network.Protocol</code> instances representing the
-logical interfaces this wireless network is attached to.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getNoise">
-
- getNoise<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{number}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 3825
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Query the current radio noise floor.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- number
-
-
- </td>
- <td class="description last">Returns the radio noise floor in dBm as reported by <code>ubus</code> runtime
-information or <code>0</code> if it cannot be determined.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getShortName">
-
- getShortName<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{string}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 3915
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Get a short description string for this wireless network.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- string
-
-
- </td>
- <td class="description last">Returns a string describing this network, consisting of the
-active operation mode, followed by either the SSID, BSSID or
-internal network ID, depending on which information is available.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getSignal">
-
- getSignal<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{null|number}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 3814
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Query the current wireless signal.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- null
- |
-
- number
-
-
- </td>
- <td class="description last">Returns the wireless signal in dBm as reported by <code>ubus</code> runtime
-information or <code>null</code> if it cannot be determined.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getSignalLevel">
-
- getSignalLevel<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{number}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 3874
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Calculate the current signal.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
- <dt class="important tag-deprecated">Deprecated</dt><dd class="yes-def tag-deprecated"><ul class="dummy"><li>Yes</li></ul></dd>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- number
-
-
- </td>
- <td class="description last">Returns the calculated signal level, which is the difference between
-noise and signal (SNR), divided by 5.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getSignalPercent">
-
- getSignalPercent<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{number}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 3897
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Calculate the current signal quality percentage.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- number
-
-
- </td>
- <td class="description last">Returns the calculated signal quality in percent. The value is
-calculated from the <code>quality</code> and <code>quality_max</code> indicators reported
-by <code>ubus</code> runtime state.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getSSID">
-
- getSSID<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{null|string}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 3365
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Get the configured SSID of the wireless network.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- null
- |
-
- string
-
-
- </td>
- <td class="description last">Returns the configured SSID value or <code>null</code> when this network is
-in mesh mode.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getTXPower">
-
- getTXPower<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{null|number}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 3847
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Query the current radio TX power.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- null
- |
-
- number
-
-
- </td>
- <td class="description last">Returns the wireless network transmit power in dBm as reported by
-<code>ubus</code> runtime information or <code>null</code> if it cannot be determined.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getTXPowerOffset">
-
- getTXPowerOffset<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{number}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 3862
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Query the radio TX power offset.</p>
-<p>Some wireless radios have a fixed power offset, e.g. due to the
-use of external amplifiers.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- number
-
-
- </td>
- <td class="description last">Returns the wireless network transmit power offset in dBm as reported
-by <code>ubus</code> runtime information or <code>0</code> if there is no offset, or if it
-cannot be determined.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getWifiDevice">
-
- getWifiDevice<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{null|<a href="LuCI.Network.WifiDevice.html">LuCI.Network.WifiDevice</a>}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 3467
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Get the corresponding wifi radio device.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- null
- |
-
- <a href="LuCI.Network.WifiDevice.html">LuCI.Network.WifiDevice</a>
-
-
- </td>
- <td class="description last">Returns a <code>Network.WifiDevice</code> instance representing the corresponding
-wifi radio device or <code>null</code> if the related radio device could not be
-found.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getWifiDeviceName">
-
- getWifiDeviceName<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{null|string}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 3455
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Get the name of the corresponding wifi radio device.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- null
- |
-
- string
-
-
- </td>
- <td class="description last">Returns the name of the radio device this network is configured on
-or <code>null</code> if it cannot be determined.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="isDisabled">
-
- isDisabled<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 3339
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Checks whether this wireless network is disabled.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- boolean
-
-
- </td>
- <td class="description last">Returns <code>true</code> when the wireless radio is marked as disabled in <code>ubus</code>
-runtime state or when the <code>disabled</code> option is set in the corresponding
-UCI configuration.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="isUp">
-
- isUp<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 3488
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Check whether the radio network is up.</p>
-<p>This function actually queries the up state of the related radio
-device and assumes this network to be up as well when the parent
-radio is up. This is due to the fact that OpenWrt does not control
-virtual interfaces individually but within one common hostapd
-instance.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- boolean
-
-
- </td>
- <td class="description last">Returns <code>true</code> when the network is up, else <code>false</code>.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="set">
-
- set<span class="signature">(opt, val)</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 3327
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Set the given UCI option of this network to the given value.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>opt</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The name of the UCI option to set.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>val</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">null</span>
-|
-
-<span class="param-type">string</span>
-|
-
-<span class="param-type">Array.&lt;string></span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The value to set or <code>null</code> to remove the given option from the
-configuration.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dd>
-
- </dl>
-
-
-
-
-
-
-
-</article>
-
-</section>
-
-
-
-
-
-
-
- <footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Nov 05 2019 10:17:12 GMT+0100 (Central European Standard Time)
- </footer>
- </div>
-</div>
-<script>prettyPrint();</script>
-<script src="scripts/jaguar.js"></script>
-</body>
-</html> \ No newline at end of file
diff --git a/documentation/jsapi/LuCI.Network.html b/documentation/jsapi/LuCI.Network.html
deleted file mode 100644
index 5b4d1e81b1..0000000000
--- a/documentation/jsapi/LuCI.Network.html
+++ /dev/null
@@ -1,7032 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <meta charset="utf-8">
- <title>Class: Network</title>
-
-
- <script src="scripts/prettify/prettify.js"></script>
- <script src="scripts/prettify/lang-css.js"></script>
- <script src="scripts/jquery.min.js"></script>
- <!--[if lt IE 9]>
- <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
- <![endif]-->
- <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
- <link type="text/css" rel="stylesheet" href="styles/bootstrap.min.css">
- <link type="text/css" rel="stylesheet" href="styles/jaguar.css">
-
-
- <script>
- var config = {"monospaceLinks":true,"cleverLinks":true,"default":{}};
- </script>
-
-
-
-</head>
-<body>
-<div id="wrap" class="clearfix">
-
-<div class="navigation">
- <h3 class="applicationName"><a href="index.html"></a></h3>
-
- <div class="search">
- <input id="search" type="text" class="form-control input-sm" placeholder="Search Documentations">
- </div>
- <ul class="list">
-
- <li class="item" data-name="LuCI">
- <span class="title">
- <a href="LuCI.html">LuCI</a>
-
- </span>
- <ul class="members itemMembers">
-
- <span class="subtitle">Members</span>
-
- <li data-name="LuCI#env"><a href="LuCI.html#env">env</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.requestCallbackFn"><a href="LuCI.html#.requestCallbackFn">requestCallbackFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI#bind"><a href="LuCI.html#bind">bind</a></li>
-
- <li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
-
- <li data-name="LuCI#get"><a href="LuCI.html#get">get</a></li>
-
- <li data-name="LuCI#halt"><a href="LuCI.html#halt">halt</a></li>
-
- <li data-name="LuCI#hasSystemFeature"><a href="LuCI.html#hasSystemFeature">hasSystemFeature</a></li>
-
- <li data-name="LuCI#isObject"><a href="LuCI.html#isObject">isObject</a></li>
-
- <li data-name="LuCI#location"><a href="LuCI.html#location">location</a></li>
-
- <li data-name="LuCI#path"><a href="LuCI.html#path">path</a></li>
-
- <li data-name="LuCI#poll"><a href="LuCI.html#poll">poll</a></li>
-
- <li data-name="LuCI#post"><a href="LuCI.html#post">post</a></li>
-
- <li data-name="LuCI#raise"><a href="LuCI.html#raise">raise</a></li>
-
- <li data-name="LuCI#require"><a href="LuCI.html#require">require</a></li>
-
- <li data-name="LuCI#resolveDefault"><a href="LuCI.html#resolveDefault">resolveDefault</a></li>
-
- <li data-name="LuCI#resource"><a href="LuCI.html#resource">resource</a></li>
-
- <li data-name="LuCI#run"><a href="LuCI.html#run">run</a></li>
-
- <li data-name="LuCI#sortedKeys"><a href="LuCI.html#sortedKeys">sortedKeys</a></li>
-
- <li data-name="LuCI#stop"><a href="LuCI.html#stop">stop</a></li>
-
- <li data-name="LuCI#toArray"><a href="LuCI.html#toArray">toArray</a></li>
-
- <li data-name="LuCI#url"><a href="LuCI.html#url">url</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Class">
- <span class="title">
- <a href="LuCI.Class.html">LuCI.Class</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Class.extend"><a href="LuCI.Class.html#.extend">extend</a></li>
-
- <li data-name="LuCI.Class.instantiate"><a href="LuCI.Class.html#.instantiate">instantiate</a></li>
-
- <li data-name="LuCI.Class.isSubclass"><a href="LuCI.Class.html#.isSubclass">isSubclass</a></li>
-
- <li data-name="LuCI.Class.singleton"><a href="LuCI.Class.html#.singleton">singleton</a></li>
-
- <li data-name="LuCI.Class#super"><a href="LuCI.Class.html#super">super</a></li>
-
- <li data-name="LuCI.Class#varargs"><a href="LuCI.Class.html#varargs">varargs</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.dom">
- <span class="title">
- <a href="LuCI.dom.html">LuCI.dom</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.dom~ignoreCallbackFn"><a href="LuCI.dom.html#~ignoreCallbackFn">ignoreCallbackFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.dom#append"><a href="LuCI.dom.html#append">append</a></li>
-
- <li data-name="LuCI.dom#attr"><a href="LuCI.dom.html#attr">attr</a></li>
-
- <li data-name="LuCI.dom#bindClassInstance"><a href="LuCI.dom.html#bindClassInstance">bindClassInstance</a></li>
-
- <li data-name="LuCI.dom#callClassMethod"><a href="LuCI.dom.html#callClassMethod">callClassMethod</a></li>
-
- <li data-name="LuCI.dom#content"><a href="LuCI.dom.html#content">content</a></li>
-
- <li data-name="LuCI.dom#create"><a href="LuCI.dom.html#create">create</a></li>
-
- <li data-name="LuCI.dom#data"><a href="LuCI.dom.html#data">data</a></li>
-
- <li data-name="LuCI.dom#elem"><a href="LuCI.dom.html#elem">elem</a></li>
-
- <li data-name="LuCI.dom#findClassInstance"><a href="LuCI.dom.html#findClassInstance">findClassInstance</a></li>
-
- <li data-name="LuCI.dom#isEmpty"><a href="LuCI.dom.html#isEmpty">isEmpty</a></li>
-
- <li data-name="LuCI.dom#matches"><a href="LuCI.dom.html#matches">matches</a></li>
-
- <li data-name="LuCI.dom#parent"><a href="LuCI.dom.html#parent">parent</a></li>
-
- <li data-name="LuCI.dom#parse"><a href="LuCI.dom.html#parse">parse</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.fs">
- <span class="title">
- <a href="LuCI.fs.html">LuCI.fs</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.fs.FileExecResult"><a href="LuCI.fs.html#.FileExecResult">FileExecResult</a></li>
-
- <li data-name="LuCI.fs.FileStatEntry"><a href="LuCI.fs.html#.FileStatEntry">FileStatEntry</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.fs#exec"><a href="LuCI.fs.html#exec">exec</a></li>
-
- <li data-name="LuCI.fs#lines"><a href="LuCI.fs.html#lines">lines</a></li>
-
- <li data-name="LuCI.fs#list"><a href="LuCI.fs.html#list">list</a></li>
-
- <li data-name="LuCI.fs#read"><a href="LuCI.fs.html#read">read</a></li>
-
- <li data-name="LuCI.fs#remove"><a href="LuCI.fs.html#remove">remove</a></li>
-
- <li data-name="LuCI.fs#stat"><a href="LuCI.fs.html#stat">stat</a></li>
-
- <li data-name="LuCI.fs#trimmed"><a href="LuCI.fs.html#trimmed">trimmed</a></li>
-
- <li data-name="LuCI.fs#write"><a href="LuCI.fs.html#write">write</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Headers">
- <span class="title">
- <a href="LuCI.Headers.html">LuCI.Headers</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Headers#get"><a href="LuCI.Headers.html#get">get</a></li>
-
- <li data-name="LuCI.Headers#has"><a href="LuCI.Headers.html#has">has</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network">
- <span class="title">
- <a href="LuCI.Network.html">LuCI.Network</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.Network.SwitchTopology"><a href="LuCI.Network.html#.SwitchTopology">SwitchTopology</a></li>
-
- <li data-name="LuCI.Network.WifiEncryption"><a href="LuCI.Network.html#.WifiEncryption">WifiEncryption</a></li>
-
- <li data-name="LuCI.Network.WifiPeerEntry"><a href="LuCI.Network.html#.WifiPeerEntry">WifiPeerEntry</a></li>
-
- <li data-name="LuCI.Network.WifiRateEntry"><a href="LuCI.Network.html#.WifiRateEntry">WifiRateEntry</a></li>
-
- <li data-name="LuCI.Network.WifiScanResult"><a href="LuCI.Network.html#.WifiScanResult">WifiScanResult</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network#addNetwork"><a href="LuCI.Network.html#addNetwork">addNetwork</a></li>
-
- <li data-name="LuCI.Network#addWifiNetwork"><a href="LuCI.Network.html#addWifiNetwork">addWifiNetwork</a></li>
-
- <li data-name="LuCI.Network#deleteNetwork"><a href="LuCI.Network.html#deleteNetwork">deleteNetwork</a></li>
-
- <li data-name="LuCI.Network#deleteWifiNetwork"><a href="LuCI.Network.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
-
- <li data-name="LuCI.Network#flushCache"><a href="LuCI.Network.html#flushCache">flushCache</a></li>
-
- <li data-name="LuCI.Network#formatWifiEncryption"><a href="LuCI.Network.html#formatWifiEncryption">formatWifiEncryption</a></li>
-
- <li data-name="LuCI.Network#getDevice"><a href="LuCI.Network.html#getDevice">getDevice</a></li>
-
- <li data-name="LuCI.Network#getDevices"><a href="LuCI.Network.html#getDevices">getDevices</a></li>
-
- <li data-name="LuCI.Network#getDSLModemType"><a href="LuCI.Network.html#getDSLModemType">getDSLModemType</a></li>
-
- <li data-name="LuCI.Network#getHostHints"><a href="LuCI.Network.html#getHostHints">getHostHints</a></li>
-
- <li data-name="LuCI.Network#getIfnameOf"><a href="LuCI.Network.html#getIfnameOf">getIfnameOf</a></li>
-
- <li data-name="LuCI.Network#getNetwork"><a href="LuCI.Network.html#getNetwork">getNetwork</a></li>
-
- <li data-name="LuCI.Network#getNetworks"><a href="LuCI.Network.html#getNetworks">getNetworks</a></li>
-
- <li data-name="LuCI.Network#getProtocol"><a href="LuCI.Network.html#getProtocol">getProtocol</a></li>
-
- <li data-name="LuCI.Network#getProtocols"><a href="LuCI.Network.html#getProtocols">getProtocols</a></li>
-
- <li data-name="LuCI.Network#getSwitchTopologies"><a href="LuCI.Network.html#getSwitchTopologies">getSwitchTopologies</a></li>
-
- <li data-name="LuCI.Network#getWAN6Networks"><a href="LuCI.Network.html#getWAN6Networks">getWAN6Networks</a></li>
-
- <li data-name="LuCI.Network#getWANNetworks"><a href="LuCI.Network.html#getWANNetworks">getWANNetworks</a></li>
-
- <li data-name="LuCI.Network#getWifiDevice"><a href="LuCI.Network.html#getWifiDevice">getWifiDevice</a></li>
-
- <li data-name="LuCI.Network#getWifiDevices"><a href="LuCI.Network.html#getWifiDevices">getWifiDevices</a></li>
-
- <li data-name="LuCI.Network#getWifiNetwork"><a href="LuCI.Network.html#getWifiNetwork">getWifiNetwork</a></li>
-
- <li data-name="LuCI.Network#isIgnoredDevice"><a href="LuCI.Network.html#isIgnoredDevice">isIgnoredDevice</a></li>
-
- <li data-name="LuCI.Network#maskToPrefix"><a href="LuCI.Network.html#maskToPrefix">maskToPrefix</a></li>
-
- <li data-name="LuCI.Network#prefixToMask"><a href="LuCI.Network.html#prefixToMask">prefixToMask</a></li>
-
- <li data-name="LuCI.Network#registerErrorCode"><a href="LuCI.Network.html#registerErrorCode">registerErrorCode</a></li>
-
- <li data-name="LuCI.Network#registerPatternVirtual"><a href="LuCI.Network.html#registerPatternVirtual">registerPatternVirtual</a></li>
-
- <li data-name="LuCI.Network#registerProtocol"><a href="LuCI.Network.html#registerProtocol">registerProtocol</a></li>
-
- <li data-name="LuCI.Network#renameNetwork"><a href="LuCI.Network.html#renameNetwork">renameNetwork</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.Device">
- <span class="title">
- <a href="LuCI.Network.Device.html">LuCI.Network.Device</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.Device#getBridgeID"><a href="LuCI.Network.Device.html#getBridgeID">getBridgeID</a></li>
-
- <li data-name="LuCI.Network.Device#getBridgeSTP"><a href="LuCI.Network.Device.html#getBridgeSTP">getBridgeSTP</a></li>
-
- <li data-name="LuCI.Network.Device#getI18n"><a href="LuCI.Network.Device.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.Device#getIP6Addrs"><a href="LuCI.Network.Device.html#getIP6Addrs">getIP6Addrs</a></li>
-
- <li data-name="LuCI.Network.Device#getIPAddrs"><a href="LuCI.Network.Device.html#getIPAddrs">getIPAddrs</a></li>
-
- <li data-name="LuCI.Network.Device#getMAC"><a href="LuCI.Network.Device.html#getMAC">getMAC</a></li>
-
- <li data-name="LuCI.Network.Device#getMTU"><a href="LuCI.Network.Device.html#getMTU">getMTU</a></li>
-
- <li data-name="LuCI.Network.Device#getName"><a href="LuCI.Network.Device.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.Device#getNetwork"><a href="LuCI.Network.Device.html#getNetwork">getNetwork</a></li>
-
- <li data-name="LuCI.Network.Device#getNetworks"><a href="LuCI.Network.Device.html#getNetworks">getNetworks</a></li>
-
- <li data-name="LuCI.Network.Device#getPorts"><a href="LuCI.Network.Device.html#getPorts">getPorts</a></li>
-
- <li data-name="LuCI.Network.Device#getRXBytes"><a href="LuCI.Network.Device.html#getRXBytes">getRXBytes</a></li>
-
- <li data-name="LuCI.Network.Device#getRXPackets"><a href="LuCI.Network.Device.html#getRXPackets">getRXPackets</a></li>
-
- <li data-name="LuCI.Network.Device#getShortName"><a href="LuCI.Network.Device.html#getShortName">getShortName</a></li>
-
- <li data-name="LuCI.Network.Device#getTXBytes"><a href="LuCI.Network.Device.html#getTXBytes">getTXBytes</a></li>
-
- <li data-name="LuCI.Network.Device#getTXPackets"><a href="LuCI.Network.Device.html#getTXPackets">getTXPackets</a></li>
-
- <li data-name="LuCI.Network.Device#getType"><a href="LuCI.Network.Device.html#getType">getType</a></li>
-
- <li data-name="LuCI.Network.Device#getTypeI18n"><a href="LuCI.Network.Device.html#getTypeI18n">getTypeI18n</a></li>
-
- <li data-name="LuCI.Network.Device#getWifiNetwork"><a href="LuCI.Network.Device.html#getWifiNetwork">getWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.Device#isBridge"><a href="LuCI.Network.Device.html#isBridge">isBridge</a></li>
-
- <li data-name="LuCI.Network.Device#isBridgePort"><a href="LuCI.Network.Device.html#isBridgePort">isBridgePort</a></li>
-
- <li data-name="LuCI.Network.Device#isUp"><a href="LuCI.Network.Device.html#isUp">isUp</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.Hosts">
- <span class="title">
- <a href="LuCI.Network.Hosts.html">LuCI.Network.Hosts</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.Hosts#getHostnameByIP6Addr"><a href="LuCI.Network.Hosts.html#getHostnameByIP6Addr">getHostnameByIP6Addr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getHostnameByIPAddr"><a href="LuCI.Network.Hosts.html#getHostnameByIPAddr">getHostnameByIPAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getHostnameByMACAddr"><a href="LuCI.Network.Hosts.html#getHostnameByMACAddr">getHostnameByMACAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getIP6AddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIP6AddrByMACAddr">getIP6AddrByMACAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getIPAddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIPAddrByMACAddr">getIPAddrByMACAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getMACAddrByIP6Addr"><a href="LuCI.Network.Hosts.html#getMACAddrByIP6Addr">getMACAddrByIP6Addr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getMACAddrByIPAddr"><a href="LuCI.Network.Hosts.html#getMACAddrByIPAddr">getMACAddrByIPAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getMACHints"><a href="LuCI.Network.Hosts.html#getMACHints">getMACHints</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.Protocol">
- <span class="title">
- <a href="LuCI.Network.Protocol.html">LuCI.Network.Protocol</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.Protocol#addDevice"><a href="LuCI.Network.Protocol.html#addDevice">addDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#containsDevice"><a href="LuCI.Network.Protocol.html#containsDevice">containsDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#deleteDevice"><a href="LuCI.Network.Protocol.html#deleteDevice">deleteDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#get"><a href="LuCI.Network.Protocol.html#get">get</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDevice"><a href="LuCI.Network.Protocol.html#getDevice">getDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDevices"><a href="LuCI.Network.Protocol.html#getDevices">getDevices</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDNS6Addrs"><a href="LuCI.Network.Protocol.html#getDNS6Addrs">getDNS6Addrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDNSAddrs"><a href="LuCI.Network.Protocol.html#getDNSAddrs">getDNSAddrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getErrors"><a href="LuCI.Network.Protocol.html#getErrors">getErrors</a></li>
-
- <li data-name="LuCI.Network.Protocol#getExpiry"><a href="LuCI.Network.Protocol.html#getExpiry">getExpiry</a></li>
-
- <li data-name="LuCI.Network.Protocol#getGateway6Addr"><a href="LuCI.Network.Protocol.html#getGateway6Addr">getGateway6Addr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getGatewayAddr"><a href="LuCI.Network.Protocol.html#getGatewayAddr">getGatewayAddr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getI18n"><a href="LuCI.Network.Protocol.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIfname"><a href="LuCI.Network.Protocol.html#getIfname">getIfname</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIP6Addr"><a href="LuCI.Network.Protocol.html#getIP6Addr">getIP6Addr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIP6Addrs"><a href="LuCI.Network.Protocol.html#getIP6Addrs">getIP6Addrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIP6Prefix"><a href="LuCI.Network.Protocol.html#getIP6Prefix">getIP6Prefix</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIPAddr"><a href="LuCI.Network.Protocol.html#getIPAddr">getIPAddr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIPAddrs"><a href="LuCI.Network.Protocol.html#getIPAddrs">getIPAddrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getL2Device"><a href="LuCI.Network.Protocol.html#getL2Device">getL2Device</a></li>
-
- <li data-name="LuCI.Network.Protocol#getL3Device"><a href="LuCI.Network.Protocol.html#getL3Device">getL3Device</a></li>
-
- <li data-name="LuCI.Network.Protocol#getMetric"><a href="LuCI.Network.Protocol.html#getMetric">getMetric</a></li>
-
- <li data-name="LuCI.Network.Protocol#getName"><a href="LuCI.Network.Protocol.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.Protocol#getNetmask"><a href="LuCI.Network.Protocol.html#getNetmask">getNetmask</a></li>
-
- <li data-name="LuCI.Network.Protocol#getOpkgPackage"><a href="LuCI.Network.Protocol.html#getOpkgPackage">getOpkgPackage</a></li>
-
- <li data-name="LuCI.Network.Protocol#getProtocol"><a href="LuCI.Network.Protocol.html#getProtocol">getProtocol</a></li>
-
- <li data-name="LuCI.Network.Protocol#getType"><a href="LuCI.Network.Protocol.html#getType">getType</a></li>
-
- <li data-name="LuCI.Network.Protocol#getUptime"><a href="LuCI.Network.Protocol.html#getUptime">getUptime</a></li>
-
- <li data-name="LuCI.Network.Protocol#getZoneName"><a href="LuCI.Network.Protocol.html#getZoneName">getZoneName</a></li>
-
- <li data-name="LuCI.Network.Protocol#isAlias"><a href="LuCI.Network.Protocol.html#isAlias">isAlias</a></li>
-
- <li data-name="LuCI.Network.Protocol#isBridge"><a href="LuCI.Network.Protocol.html#isBridge">isBridge</a></li>
-
- <li data-name="LuCI.Network.Protocol#isDynamic"><a href="LuCI.Network.Protocol.html#isDynamic">isDynamic</a></li>
-
- <li data-name="LuCI.Network.Protocol#isEmpty"><a href="LuCI.Network.Protocol.html#isEmpty">isEmpty</a></li>
-
- <li data-name="LuCI.Network.Protocol#isFloating"><a href="LuCI.Network.Protocol.html#isFloating">isFloating</a></li>
-
- <li data-name="LuCI.Network.Protocol#isInstalled"><a href="LuCI.Network.Protocol.html#isInstalled">isInstalled</a></li>
-
- <li data-name="LuCI.Network.Protocol#isUp"><a href="LuCI.Network.Protocol.html#isUp">isUp</a></li>
-
- <li data-name="LuCI.Network.Protocol#isVirtual"><a href="LuCI.Network.Protocol.html#isVirtual">isVirtual</a></li>
-
- <li data-name="LuCI.Network.Protocol#set"><a href="LuCI.Network.Protocol.html#set">set</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.WifiDevice">
- <span class="title">
- <a href="LuCI.Network.WifiDevice.html">LuCI.Network.WifiDevice</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.WifiDevice#addWifiNetwork"><a href="LuCI.Network.WifiDevice.html#addWifiNetwork">addWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#deleteWifiNetwork"><a href="LuCI.Network.WifiDevice.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#get"><a href="LuCI.Network.WifiDevice.html#get">get</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getHTModes"><a href="LuCI.Network.WifiDevice.html#getHTModes">getHTModes</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getHWModes"><a href="LuCI.Network.WifiDevice.html#getHWModes">getHWModes</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getI18n"><a href="LuCI.Network.WifiDevice.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getName"><a href="LuCI.Network.WifiDevice.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getScanList"><a href="LuCI.Network.WifiDevice.html#getScanList">getScanList</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getWifiNetwork"><a href="LuCI.Network.WifiDevice.html#getWifiNetwork">getWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getWifiNetworks"><a href="LuCI.Network.WifiDevice.html#getWifiNetworks">getWifiNetworks</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#isDisabled"><a href="LuCI.Network.WifiDevice.html#isDisabled">isDisabled</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#isUp"><a href="LuCI.Network.WifiDevice.html#isUp">isUp</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#set"><a href="LuCI.Network.WifiDevice.html#set">set</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.WifiNetwork">
- <span class="title">
- <a href="LuCI.Network.WifiNetwork.html">LuCI.Network.WifiNetwork</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.WifiNetwork#get"><a href="LuCI.Network.WifiNetwork.html#get">get</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveBSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveBSSID">getActiveBSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveEncryption"><a href="LuCI.Network.WifiNetwork.html#getActiveEncryption">getActiveEncryption</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveMode"><a href="LuCI.Network.WifiNetwork.html#getActiveMode">getActiveMode</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveModeI18n"><a href="LuCI.Network.WifiNetwork.html#getActiveModeI18n">getActiveModeI18n</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveSSID">getActiveSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getAssocList"><a href="LuCI.Network.WifiNetwork.html#getAssocList">getAssocList</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getBitRate"><a href="LuCI.Network.WifiNetwork.html#getBitRate">getBitRate</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getBSSID"><a href="LuCI.Network.WifiNetwork.html#getBSSID">getBSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getChannel"><a href="LuCI.Network.WifiNetwork.html#getChannel">getChannel</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getCountryCode"><a href="LuCI.Network.WifiNetwork.html#getCountryCode">getCountryCode</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getDevice"><a href="LuCI.Network.WifiNetwork.html#getDevice">getDevice</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getFrequency"><a href="LuCI.Network.WifiNetwork.html#getFrequency">getFrequency</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getI18n"><a href="LuCI.Network.WifiNetwork.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getID"><a href="LuCI.Network.WifiNetwork.html#getID">getID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getIfname"><a href="LuCI.Network.WifiNetwork.html#getIfname">getIfname</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getMeshID"><a href="LuCI.Network.WifiNetwork.html#getMeshID">getMeshID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getMode"><a href="LuCI.Network.WifiNetwork.html#getMode">getMode</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getName"><a href="LuCI.Network.WifiNetwork.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNetwork"><a href="LuCI.Network.WifiNetwork.html#getNetwork">getNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNetworkNames"><a href="LuCI.Network.WifiNetwork.html#getNetworkNames">getNetworkNames</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNetworks"><a href="LuCI.Network.WifiNetwork.html#getNetworks">getNetworks</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNoise"><a href="LuCI.Network.WifiNetwork.html#getNoise">getNoise</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getShortName"><a href="LuCI.Network.WifiNetwork.html#getShortName">getShortName</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSignal"><a href="LuCI.Network.WifiNetwork.html#getSignal">getSignal</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSignalLevel"><a href="LuCI.Network.WifiNetwork.html#getSignalLevel">getSignalLevel</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSignalPercent"><a href="LuCI.Network.WifiNetwork.html#getSignalPercent">getSignalPercent</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSSID"><a href="LuCI.Network.WifiNetwork.html#getSSID">getSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getTXPower"><a href="LuCI.Network.WifiNetwork.html#getTXPower">getTXPower</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getTXPowerOffset"><a href="LuCI.Network.WifiNetwork.html#getTXPowerOffset">getTXPowerOffset</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getWifiDevice"><a href="LuCI.Network.WifiNetwork.html#getWifiDevice">getWifiDevice</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getWifiDeviceName"><a href="LuCI.Network.WifiNetwork.html#getWifiDeviceName">getWifiDeviceName</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#isDisabled"><a href="LuCI.Network.WifiNetwork.html#isDisabled">isDisabled</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#isUp"><a href="LuCI.Network.WifiNetwork.html#isUp">isUp</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#set"><a href="LuCI.Network.WifiNetwork.html#set">set</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Poll">
- <span class="title">
- <a href="LuCI.Poll.html">LuCI.Poll</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Poll#active"><a href="LuCI.Poll.html#active">active</a></li>
-
- <li data-name="LuCI.Poll#add"><a href="LuCI.Poll.html#add">add</a></li>
-
- <li data-name="LuCI.Poll#remove"><a href="LuCI.Poll.html#remove">remove</a></li>
-
- <li data-name="LuCI.Poll#start"><a href="LuCI.Poll.html#start">start</a></li>
-
- <li data-name="LuCI.Poll#stop"><a href="LuCI.Poll.html#stop">stop</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Request">
- <span class="title">
- <a href="LuCI.Request.html">LuCI.Request</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.Request.interceptorFn"><a href="LuCI.Request.html#.interceptorFn">interceptorFn</a></li>
-
- <li data-name="LuCI.Request.RequestOptions"><a href="LuCI.Request.html#.RequestOptions">RequestOptions</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Request#addInterceptor"><a href="LuCI.Request.html#addInterceptor">addInterceptor</a></li>
-
- <li data-name="LuCI.Request#expandURL"><a href="LuCI.Request.html#expandURL">expandURL</a></li>
-
- <li data-name="LuCI.Request#get"><a href="LuCI.Request.html#get">get</a></li>
-
- <li data-name="LuCI.Request#post"><a href="LuCI.Request.html#post">post</a></li>
-
- <li data-name="LuCI.Request#removeInterceptor"><a href="LuCI.Request.html#removeInterceptor">removeInterceptor</a></li>
-
- <li data-name="LuCI.Request#request"><a href="LuCI.Request.html#request">request</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Request.poll">
- <span class="title">
- <a href="LuCI.Request.poll.html">LuCI.Request.poll</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.Request.poll~callbackFn"><a href="LuCI.Request.poll.html#~callbackFn">callbackFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Request.poll#active"><a href="LuCI.Request.poll.html#active">active</a></li>
-
- <li data-name="LuCI.Request.poll#add"><a href="LuCI.Request.poll.html#add">add</a></li>
-
- <li data-name="LuCI.Request.poll#remove"><a href="LuCI.Request.poll.html#remove">remove</a></li>
-
- <li data-name="LuCI.Request.poll#start"><a href="LuCI.Request.poll.html#start">start</a></li>
-
- <li data-name="LuCI.Request.poll#stop"><a href="LuCI.Request.poll.html#stop">stop</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Response">
- <span class="title">
- <a href="LuCI.Response.html">LuCI.Response</a>
-
- </span>
- <ul class="members itemMembers">
-
- <span class="subtitle">Members</span>
-
- <li data-name="LuCI.Response#duration"><a href="LuCI.Response.html#duration">duration</a></li>
-
- <li data-name="LuCI.Response#headers"><a href="LuCI.Response.html#headers">headers</a></li>
-
- <li data-name="LuCI.Response#ok"><a href="LuCI.Response.html#ok">ok</a></li>
-
- <li data-name="LuCI.Response#status"><a href="LuCI.Response.html#status">status</a></li>
-
- <li data-name="LuCI.Response#statusText"><a href="LuCI.Response.html#statusText">statusText</a></li>
-
- <li data-name="LuCI.Response#url"><a href="LuCI.Response.html#url">url</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Response#clone"><a href="LuCI.Response.html#clone">clone</a></li>
-
- <li data-name="LuCI.Response#json"><a href="LuCI.Response.html#json">json</a></li>
-
- <li data-name="LuCI.Response#text"><a href="LuCI.Response.html#text">text</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.rpc">
- <span class="title">
- <a href="LuCI.rpc.html">LuCI.rpc</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.rpc.DeclareOptions"><a href="LuCI.rpc.html#.DeclareOptions">DeclareOptions</a></li>
-
- <li data-name="LuCI.rpc~filterFn"><a href="LuCI.rpc.html#~filterFn">filterFn</a></li>
-
- <li data-name="LuCI.rpc~interceptorFn"><a href="LuCI.rpc.html#~interceptorFn">interceptorFn</a></li>
-
- <li data-name="LuCI.rpc~invokeFn"><a href="LuCI.rpc.html#~invokeFn">invokeFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.rpc#addInterceptor"><a href="LuCI.rpc.html#addInterceptor">addInterceptor</a></li>
-
- <li data-name="LuCI.rpc#declare"><a href="LuCI.rpc.html#declare">declare</a></li>
-
- <li data-name="LuCI.rpc#getBaseURL"><a href="LuCI.rpc.html#getBaseURL">getBaseURL</a></li>
-
- <li data-name="LuCI.rpc#getSessionID"><a href="LuCI.rpc.html#getSessionID">getSessionID</a></li>
-
- <li data-name="LuCI.rpc#getStatusText"><a href="LuCI.rpc.html#getStatusText">getStatusText</a></li>
-
- <li data-name="LuCI.rpc#list"><a href="LuCI.rpc.html#list">list</a></li>
-
- <li data-name="LuCI.rpc#removeInterceptor"><a href="LuCI.rpc.html#removeInterceptor">removeInterceptor</a></li>
-
- <li data-name="LuCI.rpc#setBaseURL"><a href="LuCI.rpc.html#setBaseURL">setBaseURL</a></li>
-
- <li data-name="LuCI.rpc#setSessionID"><a href="LuCI.rpc.html#setSessionID">setSessionID</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.uci">
- <span class="title">
- <a href="LuCI.uci.html">LuCI.uci</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.uci.ChangeRecord"><a href="LuCI.uci.html#.ChangeRecord">ChangeRecord</a></li>
-
- <li data-name="LuCI.uci.SectionObject"><a href="LuCI.uci.html#.SectionObject">SectionObject</a></li>
-
- <li data-name="LuCI.uci~sectionsFn"><a href="LuCI.uci.html#~sectionsFn">sectionsFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.uci#add"><a href="LuCI.uci.html#add">add</a></li>
-
- <li data-name="LuCI.uci#apply"><a href="LuCI.uci.html#apply">apply</a></li>
-
- <li data-name="LuCI.uci#changes"><a href="LuCI.uci.html#changes">changes</a></li>
-
- <li data-name="LuCI.uci#createSID"><a href="LuCI.uci.html#createSID">createSID</a></li>
-
- <li data-name="LuCI.uci#get"><a href="LuCI.uci.html#get">get</a></li>
-
- <li data-name="LuCI.uci#get_first"><a href="LuCI.uci.html#get_first">get_first</a></li>
-
- <li data-name="LuCI.uci#load"><a href="LuCI.uci.html#load">load</a></li>
-
- <li data-name="LuCI.uci#move"><a href="LuCI.uci.html#move">move</a></li>
-
- <li data-name="LuCI.uci#remove"><a href="LuCI.uci.html#remove">remove</a></li>
-
- <li data-name="LuCI.uci#resolveSID"><a href="LuCI.uci.html#resolveSID">resolveSID</a></li>
-
- <li data-name="LuCI.uci#save"><a href="LuCI.uci.html#save">save</a></li>
-
- <li data-name="LuCI.uci#sections"><a href="LuCI.uci.html#sections">sections</a></li>
-
- <li data-name="LuCI.uci#set"><a href="LuCI.uci.html#set">set</a></li>
-
- <li data-name="LuCI.uci#set_first"><a href="LuCI.uci.html#set_first">set_first</a></li>
-
- <li data-name="LuCI.uci#unload"><a href="LuCI.uci.html#unload">unload</a></li>
-
- <li data-name="LuCI.uci#unset"><a href="LuCI.uci.html#unset">unset</a></li>
-
- <li data-name="LuCI.uci#unset_first"><a href="LuCI.uci.html#unset_first">unset_first</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.view">
- <span class="title">
- <a href="LuCI.view.html">LuCI.view</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.view#addFooter"><a href="LuCI.view.html#addFooter">addFooter</a></li>
-
- <li data-name="LuCI.view#handleReset"><a href="LuCI.view.html#handleReset">handleReset</a></li>
-
- <li data-name="LuCI.view#handleSave"><a href="LuCI.view.html#handleSave">handleSave</a></li>
-
- <li data-name="LuCI.view#handleSaveApply"><a href="LuCI.view.html#handleSaveApply">handleSaveApply</a></li>
-
- <li data-name="LuCI.view#load"><a href="LuCI.view.html#load">load</a></li>
-
- <li data-name="LuCI.view#render"><a href="LuCI.view.html#render">render</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.XHR">
- <span class="title">
- <a href="LuCI.XHR.html">LuCI.XHR</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.XHR#abort"><a href="LuCI.XHR.html#abort">abort</a></li>
-
- <li data-name="LuCI.XHR#busy"><a href="LuCI.XHR.html#busy">busy</a></li>
-
- <li data-name="LuCI.XHR#cancel"><a href="LuCI.XHR.html#cancel">cancel</a></li>
-
- <li data-name="LuCI.XHR#get"><a href="LuCI.XHR.html#get">get</a></li>
-
- <li data-name="LuCI.XHR#post"><a href="LuCI.XHR.html#post">post</a></li>
-
- <li data-name="LuCI.XHR#send_form"><a href="LuCI.XHR.html#send_form">send_form</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- </ul>
-</div>
- <div class="main">
- <h1 class="page-title" data-filename="LuCI.Network.html">Class: Network</h1>
-
-
-
-
-<section>
-
-<header>
- <h2>
- <span class="ancestors"><a href="LuCI.html">LuCI</a>.</span>
-
- Network
- </h2>
-
- <div class="class-description"><p>The <code>LuCI.Network</code> class combines data from multiple <code>ubus</code> apis to
-provide an abstraction of the current network configuration state.</p>
-<p>It provides methods to enumerate interfaces and devices, to query
-current configuration details and to manipulate settings.</p></div>
-
-</header>
-
-<article>
- <div class="container-overview">
-
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="Network">
-
- new LuCI.Network<span class="signature">()</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 628
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dd>
-
-
- </div>
-
-
-
-
-
-
-
-
- <h3 class="subsection-title">Classes</h3>
-
- <dl>
- <dt><a href="LuCI.Network.Device.html">Device</a></dt>
- <dd></dd>
-
- <dt><a href="LuCI.Network.Hosts.html">Hosts</a></dt>
- <dd></dd>
-
- <dt><a href="LuCI.Network.Protocol.html">Protocol</a></dt>
- <dd></dd>
-
- <dt><a href="LuCI.Network.WifiDevice.html">WifiDevice</a></dt>
- <dd></dd>
-
- <dt><a href="LuCI.Network.WifiNetwork.html">WifiNetwork</a></dt>
- <dd></dd>
- </dl>
-
-
-
-
-
-
-
- <h3 class="subsection-title">Methods</h3>
-
- <dl>
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="addNetwork">
-
- addNetwork<span class="signature">(name, <span class="optional">options</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Promise.&lt;(null|<a href="LuCI.Network.Protocol.html">LuCI.Network.Protocol</a>)>}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 884
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Adds a new network of the given name and update it with the given
-uci option values.</p>
-<p>If a network with the given name already exist but is empty, then
-this function will update its option, otherwise it will do nothing.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>name</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
-
-
-
-
- <p>The name of the network to add. Must be in the format <code>[a-zA-Z0-9_]+</code>.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>options</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">Object.&lt;string, (string|Array.&lt;string>)></span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
-
- <p>An object of uci option values to set on the new network or to
-update in an existing, empty network.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Promise.&lt;(null|<a href="LuCI.Network.Protocol.html">LuCI.Network.Protocol</a>)>
-
-
- </td>
- <td class="description last">Returns a promise resolving to the <code>Protocol</code> subclass instance
-describing the added network or resolving to <code>null</code> if the name
-was invalid or if a non-empty network of the given name already
-existed.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="addWifiNetwork">
-
- addWifiNetwork<span class="signature">(options)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Promise.&lt;(null|<a href="LuCI.Network.WifiNetwork.html">LuCI.Network.WifiNetwork</a>)>}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 1352
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Adds a new wireless network to the configuration and sets its options
-to the provided values.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>options</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">Object.&lt;string, (string|Array.&lt;string>)></span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The options to set for the newly added wireless network. This object
-must at least contain a <code>device</code> property which is set to the radio
-name the new network belongs to.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Promise.&lt;(null|<a href="LuCI.Network.WifiNetwork.html">LuCI.Network.WifiNetwork</a>)>
-
-
- </td>
- <td class="description last">Returns a promise resolving to a <code>WifiNetwork</code> instance describing
-the newly added wireless network or <code>null</code> if the given options
-were invalid or if the associated radio device could not be found.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="deleteNetwork">
-
- deleteNetwork<span class="signature">(name)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Promise.&lt;boolean>}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 962
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Deletes the given network and its references from the network and
-firewall configuration.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>name</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The name of the network to delete.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Promise.&lt;boolean>
-
-
- </td>
- <td class="description last">Returns a promise resolving to either <code>true</code> if the network and
-references to it were successfully deleted from the configuration or
-<code>false</code> if the given network could not be found.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="deleteWifiNetwork">
-
- deleteWifiNetwork<span class="signature">(netname)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Promise.&lt;boolean>}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 1390
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Deletes the given wireless network from the configuration.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>netname</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The name of the network to remove. This may be either a
-network ID in the form <code>radio#.network#</code> or a Linux network device
-name like <code>wlan0</code> which is resolved to the corresponding configuration
-section through <code>ubus</code> runtime information.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Promise.&lt;boolean>
-
-
- </td>
- <td class="description last">Returns a promise resolving to <code>true</code> if the wireless network has been
-successfully deleted from the configuration or <code>false</code> if it could not
-be found.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="flushCache">
-
- flushCache<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Promise.&lt;Object>}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 728
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Flushes the local network state cache and fetches updated information
-from the remote <code>ubus</code> apis.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Promise.&lt;Object>
-
-
- </td>
- <td class="description last">Returns a promise resolving to the internal network state object.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="formatWifiEncryption">
-
- formatWifiEncryption<span class="signature">(encryption)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{null|string}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 719
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Converts a given <a href="LuCI.Network.html#.WifiEncryption"><code>encryption entry</code></a>
-into a human readable string such as <code>mixed WPA/WPA2 PSK (TKIP, CCMP)</code>
-or <code>WPA3 SAE (CCMP)</code>.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>encryption</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type"><a href="LuCI.Network.html#.WifiEncryption">LuCI.Network.WifiEncryption</a></span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The wireless encryption entry to convert.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- null
- |
-
- string
-
-
- </td>
- <td class="description last">Returns the description string for the given encryption entry or
-<code>null</code> if the given entry was invalid.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getDevice">
-
- getDevice<span class="signature">(name)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Promise.&lt;(null|<a href="LuCI.Network.Device.html">LuCI.Network.Device</a>)>}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 1087
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Get a <a href="LuCI.Network.Device.html"><code>Device</code></a> instance describing the
-given network device.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>name</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The name of the network device to get, e.g. <code>eth0</code> or <code>br-lan</code>.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Promise.&lt;(null|<a href="LuCI.Network.Device.html">LuCI.Network.Device</a>)>
-
-
- </td>
- <td class="description last">Returns a promise resolving to the <code>Device</code> instance describing
-the network device or <code>null</code> if the given device name could not
-be found.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getDevices">
-
- getDevices<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Promise.&lt;Array.&lt;<a href="LuCI.Network.Device.html">LuCI.Network.Device</a>>>}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 1110
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Get a sorted list of all found network devices.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Promise.&lt;Array.&lt;<a href="LuCI.Network.Device.html">LuCI.Network.Device</a>>>
-
-
- </td>
- <td class="description last">Returns a promise resolving to a sorted array of <code>Device</code> class
-instances describing the network devices found on the system.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getDSLModemType">
-
- getDSLModemType<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Promise.&lt;(null|string)>}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 1594
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Queries the internal DSL modem type from board information.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Promise.&lt;(null|string)>
-
-
- </td>
- <td class="description last">Returns a promise resolving to the type of the internal modem
-(e.g. <code>vdsl</code>) or to <code>null</code> if no internal modem is present.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getHostHints">
-
- getHostHints<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Promise.&lt;<a href="LuCI.Network.Hosts.html">LuCI.Network.Hosts</a>>}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 1611
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Queries aggregated information about known hosts.</p>
-<p>This function aggregates information from various sources such as
-DHCP lease databases, ARP and IPv6 neighbour entries, wireless
-association list etc. and returns a <a href="LuCI.Network.Hosts.html"><code>Hosts</code></a>
-class instance describing the found hosts.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Promise.&lt;<a href="LuCI.Network.Hosts.html">LuCI.Network.Hosts</a>>
-
-
- </td>
- <td class="description last">Returns a <code>Hosts</code> instance describing host known on the system.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getIfnameOf">
-
- getIfnameOf<span class="signature">(obj)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{null|string}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 1583
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Obtains the the network device name of the given object.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>obj</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type"><a href="LuCI.Network.Protocol.html">LuCI.Network.Protocol</a></span>
-|
-
-<span class="param-type"><a href="LuCI.Network.Device.html">LuCI.Network.Device</a></span>
-|
-
-<span class="param-type"><a href="LuCI.Network.WifiDevice.html">LuCI.Network.WifiDevice</a></span>
-|
-
-<span class="param-type"><a href="LuCI.Network.WifiNetwork.html">LuCI.Network.WifiNetwork</a></span>
-|
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The object to get the device name from.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- null
- |
-
- string
-
-
- </td>
- <td class="description last">Returns a string containing the device name or <code>null</code> if the given
-object could not be converted to a name.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getNetwork">
-
- getNetwork<span class="signature">(name)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Promise.&lt;(null|<a href="LuCI.Network.Protocol.html">LuCI.Network.Protocol</a>)>}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 921
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Get a <a href="LuCI.Network.Protocol.html"><code>Protocol</code></a> instance describing
-the network with the given name.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>name</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The logical interface name of the network get, e.g. <code>lan</code> or <code>wan</code>.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Promise.&lt;(null|<a href="LuCI.Network.Protocol.html">LuCI.Network.Protocol</a>)>
-
-
- </td>
- <td class="description last">Returns a promise resolving to a
-<a href="LuCI.Network.Protocol.html"><code>Protocol</code></a> subclass instance describing
-the network or <code>null</code> if the network did not exist.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getNetworks">
-
- getNetworks<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Promise.&lt;Array.&lt;<a href="LuCI.Network.Protocol.html">LuCI.Network.Protocol</a>>>}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 946
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Gets an array containing all known networks.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Promise.&lt;Array.&lt;<a href="LuCI.Network.Protocol.html">LuCI.Network.Protocol</a>>>
-
-
- </td>
- <td class="description last">Returns a promise resolving to a name-sorted array of
-<a href="LuCI.Network.Protocol.html"><code>Protocol</code></a> subclass instances
-describing all known networks.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getProtocol">
-
- getProtocol<span class="signature">(protoname, <span class="optional">netname</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{null|<a href="LuCI.Network.Protocol.html">LuCI.Network.Protocol</a>}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 750
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Instantiates the given <a href="LuCI.Network.Protocol.html"><code>Protocol</code></a> backend,
-optionally using the given network name.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
- <th>Default</th>
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>protoname</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
- <td class="default">
-
- </td>
-
-
- <td class="description last">
-
-
-
-
-
-
- <p>The protocol backend to use, e.g. <code>static</code> or <code>dhcp</code>.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>netname</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
- <td class="default">
-
- __dummy__
-
- </td>
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
-
- <p>The network name to use for the instantiated protocol. This should be
-usually set to one of the interfaces described in /etc/config/network
-but it is allowed to omit it, e.g. to query protocol capabilities
-without the need for an existing interface.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- null
- |
-
- <a href="LuCI.Network.Protocol.html">LuCI.Network.Protocol</a>
-
-
- </td>
- <td class="description last">Returns the instantiated protocol backend class or <code>null</code> if the given
-protocol isn't known.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getProtocols">
-
- getProtocols<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Array.&lt;<a href="LuCI.Network.Protocol.html">LuCI.Network.Protocol</a>>}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 765
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Obtains instances of all known <a href="LuCI.Network.Protocol.html"><code>Protocol</code></a>
-backend classes.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Array.&lt;<a href="LuCI.Network.Protocol.html">LuCI.Network.Protocol</a>>
-
-
- </td>
- <td class="description last">Returns an array of protocol class instances.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getSwitchTopologies">
-
- getSwitchTopologies<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Promise.&lt;Object.&lt;string, <a href="LuCI.Network.html#.SwitchTopology">LuCI.Network.SwitchTopology</a>>>}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 1538
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Returns the topologies of all swconfig switches found on the system.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Promise.&lt;Object.&lt;string, <a href="LuCI.Network.html#.SwitchTopology">LuCI.Network.SwitchTopology</a>>>
-
-
- </td>
- <td class="description last">Returns a promise resolving to an object containing the topologies
-of each switch. The object keys correspond to the name of the switches
-such as <code>switch0</code>, the values are
-<a href="LuCI.Network.html#.SwitchTopology"><code>SwitchTopology</code></a> objects describing
-the layout.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getWAN6Networks">
-
- getWAN6Networks<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Promise.&lt;Array.&lt;<a href="LuCI.Network.Protocol.html">LuCI.Network.Protocol</a>>>}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 1493
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Get IPv6 wan networks.</p>
-<p>This function looks up all networks having a default <code>::/0</code> route
-and returns them as array.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Promise.&lt;Array.&lt;<a href="LuCI.Network.Protocol.html">LuCI.Network.Protocol</a>>>
-
-
- </td>
- <td class="description last">Returns a promise resolving to an array of <code>Protocol</code> subclass
-instances describing the found IPv6 default route interfaces.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getWANNetworks">
-
- getWANNetworks<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Promise.&lt;Array.&lt;<a href="LuCI.Network.Protocol.html">LuCI.Network.Protocol</a>>>}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 1472
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Get IPv4 wan networks.</p>
-<p>This function looks up all networks having a default <code>0.0.0.0/0</code> route
-and returns them as array.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Promise.&lt;Array.&lt;<a href="LuCI.Network.Protocol.html">LuCI.Network.Protocol</a>>>
-
-
- </td>
- <td class="description last">Returns a promise resolving to an array of <code>Protocol</code> subclass
-instances describing the found default route interfaces.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getWifiDevice">
-
- getWifiDevice<span class="signature">(devname)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Promise.&lt;(null|<a href="LuCI.Network.WifiDevice.html">LuCI.Network.WifiDevice</a>)>}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 1240
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Get a <a href="LuCI.Network.WifiDevice.html"><code>WifiDevice</code></a> instance describing
-the given wireless radio.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>devname</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The configuration name of the wireless radio to lookup, e.g. <code>radio0</code>
-for the first mac80211 phy on the system.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Promise.&lt;(null|<a href="LuCI.Network.WifiDevice.html">LuCI.Network.WifiDevice</a>)>
-
-
- </td>
- <td class="description last">Returns a promise resolving to the <code>WifiDevice</code> instance describing
-the underlying radio device or <code>null</code> if the wireless radio could not
-be found.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getWifiDevices">
-
- getWifiDevices<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Promise.&lt;Array.&lt;<a href="LuCI.Network.WifiDevice.html">LuCI.Network.WifiDevice</a>>>}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 1260
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Obtain a list of all configured radio devices.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Promise.&lt;Array.&lt;<a href="LuCI.Network.WifiDevice.html">LuCI.Network.WifiDevice</a>>>
-
-
- </td>
- <td class="description last">Returns a promise resolving to an array of <code>WifiDevice</code> instances
-describing the wireless radios configured in the system.
-The order of the array corresponds to the order of the radios in
-the configuration.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getWifiNetwork">
-
- getWifiNetwork<span class="signature">(netname)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Promise.&lt;(null|<a href="LuCI.Network.WifiNetwork.html">LuCI.Network.WifiNetwork</a>)>}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 1289
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Get a <a href="LuCI.Network.WifiNetwork.html"><code>WifiNetwork</code></a> instance describing
-the given wireless network.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>netname</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The name of the wireless network to lookup. This may be either an uci
-configuration section ID, a network ID in the form <code>radio#.network#</code>
-or a Linux network device name like <code>wlan0</code> which is resolved to the
-corresponding configuration section through <code>ubus</code> runtime information.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Promise.&lt;(null|<a href="LuCI.Network.WifiNetwork.html">LuCI.Network.WifiNetwork</a>)>
-
-
- </td>
- <td class="description last">Returns a promise resolving to the <code>WifiNetwork</code> instance describing
-the wireless network or <code>null</code> if the corresponding network could not
-be found.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="isIgnoredDevice">
-
- isIgnoredDevice<span class="signature">(name)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 1223
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Test if a given network device name is in the list of patterns for
-device names to ignore.</p>
-<p>Ignored device names are usually Linux network devices which are
-spawned implicitly by kernel modules such as <code>tunl0</code> or <code>hwsim0</code>
-and which are unsuitable for use in network configuration.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>name</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The device name to test.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- boolean
-
-
- </td>
- <td class="description last">Returns <code>true</code> if the given name is in the ignore pattern list,
-else returns <code>false</code>.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="maskToPrefix">
-
- maskToPrefix<span class="signature">(netmask, <span class="optional">v6</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{null|number}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 664
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Converts the given netmask to a prefix size in bits.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
- <th>Default</th>
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>netmask</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
- <td class="default">
-
- </td>
-
-
- <td class="description last">
-
-
-
-
-
-
- <p>The netmask to convert into a bit count.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>v6</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">boolean</span>
-
-
-
- </td>
-
-
- <td class="default">
-
- false
-
- </td>
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
-
- <p>Whether to parse the given netmask as IPv4 (<code>false</code>) or IPv6 (<code>true</code>)
-address.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- null
- |
-
- number
-
-
- </td>
- <td class="description last">Returns the number of prefix bits contained in the netmask or <code>null</code>
-if the given netmask value was invalid.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="prefixToMask">
-
- prefixToMask<span class="signature">(bits, <span class="optional">v6</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{null|string}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 646
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Converts the given prefix size in bits to a netmask.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
- <th>Default</th>
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>bits</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">number</span>
-
-
-
- </td>
-
-
- <td class="default">
-
- </td>
-
-
- <td class="description last">
-
-
-
-
-
-
- <p>The prefix size in bits.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>v6</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">boolean</span>
-
-
-
- </td>
-
-
- <td class="default">
-
- false
-
- </td>
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
-
- <p>Whether to convert the bits value into an IPv4 netmask (<code>false</code>) or
-an IPv6 netmask (<code>true</code>).</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- null
- |
-
- string
-
-
- </td>
- <td class="description last">Returns a string containing the netmask corresponding to the bit count
-or <code>null</code> when the given amount of bits exceeds the maximum possible
-value of <code>32</code> for IPv4 or <code>128</code> for IPv6.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="registerErrorCode">
-
- registerErrorCode<span class="signature">(code, message)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 853
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Registers a new human readable translation string for a <code>Protocol</code>
-error code.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>code</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The <code>ubus</code> protocol error code to register a translation for, e.g.
-<code>NO_DEVICE</code>.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>message</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The message to use as translation for the given protocol error code.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- boolean
-
-
- </td>
- <td class="description last">Returns <code>true</code> if the error code description has been added or <code>false</code>
-if either the arguments were invalid or if there already was a
-description for the given code.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="registerPatternVirtual">
-
- registerPatternVirtual<span class="signature">(pat)</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 833
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Registers a new regular expression pattern to recognize
-virtual interfaces.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>pat</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">RegExp</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>A <code>RegExp</code> instance to match a virtual interface name
-such as <code>6in4-wan</code> or <code>tun0</code>.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="registerProtocol">
-
- registerProtocol<span class="signature">(protoname, methods)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{<a href="LuCI.Network.Protocol.html">LuCI.Network.Protocol</a>}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 792
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Registers a new <a href="LuCI.Network.Protocol.html"><code>Protocol</code></a> subclass
-with the given methods and returns the resulting subclass value.</p>
-<p>This functions internally calls
-<a href="LuCI.Class.html#.extend"><code>Class.extend()</code></a> on the <code>Network.Protocol</code>
-base class.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>protoname</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The name of the new protocol to register.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>methods</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">Object.&lt;string, *></span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The member methods and values of the new <code>Protocol</code> subclass to
-be passed to <a href="LuCI.Class.html#.extend"><code>Class.extend()</code></a>.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- <a href="LuCI.Network.Protocol.html">LuCI.Network.Protocol</a>
-
-
- </td>
- <td class="description last">Returns the new <code>Protocol</code> subclass.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="renameNetwork">
-
- renameNetwork<span class="signature">(oldName, newName)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Promise.&lt;boolean>}</span>
- </h4>
-
-
- <div class="tag-source">
- network.js, line 1026
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Rename the given network and its references to a new name.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>oldName</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The current name of the network.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>newName</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The name to rename the network to, must be in the format
-<code>[a-z-A-Z0-9_]+</code>.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Promise.&lt;boolean>
-
-
- </td>
- <td class="description last">Returns a promise resolving to either <code>true</code> if the network was
-successfully renamed or <code>false</code> if the new name was invalid, if
-a network with the new name already exists or if the network to
-rename could not be found.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
- </dl>
-
-
-
- <h3 class="subsection-title">Type Definitions</h3>
-
- <dl>
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id=".SwitchTopology">LuCI.Network.SwitchTopology<span class="type-signature type object.<string, (object|array)>">Object.&lt;string, (Object|Array)></span> </h4>
- </div>
-
-
-</dt>
-<dd>
-
- <div class="description">
- <p>Describes an swconfig switch topology by specifying the CPU
-connections and external port labels of a switch.</p>
- </div>
-
-
-
-<dl class="details">
-
-
- <h5 class="subsection-title">Properties:</h5>
-
- <dl>
-
-<table class="props">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>netdevs</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">Object.&lt;number, string></span>
-
-
-
- </td>
-
-
-
-
-
- <td class="description last"><p>The <code>netdevs</code> property points to an object describing the CPU port
-connections of the switch. The numeric key of the enclosed object is
-the port number, the value contains the Linux network device name the
-port is hardwired to.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>ports</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">Array.&lt;Object.&lt;string, (boolean|number|string)>></span>
-
-
-
- </td>
-
-
-
-
-
- <td class="description last"><p>The <code>ports</code> property points to an array describing the populated
-ports of the switch in the external label order. Each array item is
-an object containg the following keys:</p>
-<ul>
-<li><code>num</code> - the internal switch port number</li>
-<li><code>label</code> - the label of the port, e.g. <code>LAN 1</code> or <code>CPU (eth0)</code></li>
-<li><code>device</code> - the connected Linux network device name (CPU ports only)</li>
-<li><code>tagged</code> - a boolean indicating whether the port must be tagged to
-function (CPU ports only)</li>
-</ul></td>
- </tr>
-
-
- </tbody>
-</table></dl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id=".WifiEncryption">LuCI.Network.WifiEncryption<span class="type-signature type object.<string, (boolean|array.<(number|string)>)>">Object.&lt;string, (boolean|Array.&lt;(number|string)>)></span> </h4>
- </div>
-
-
-</dt>
-<dd>
-
- <div class="description">
- <p>An encryption entry describes active wireless encryption settings
-such as the used key management protocols, active ciphers and
-protocol versions.</p>
- </div>
-
-
-
-<dl class="details">
-
-
- <h5 class="subsection-title">Properties:</h5>
-
- <dl>
-
-<table class="props">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
- <th>Argument</th>
-
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>enabled</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">boolean</span>
-
-
-
- </td>
-
-
- <td class="attributes">
-
-
-
- </td>
-
-
-
-
- <td class="description last"><p>Specifies whether any kind of encryption, such as <code>WEP</code> or <code>WPA</code> is
-enabled. If set to <code>false</code>, then no encryption is active and the
-corresponding network is open.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>wep</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">Array.&lt;string></span>
-
-
-
- </td>
-
-
- <td class="attributes">
-
- &lt;optional><br>
-
-
-
- </td>
-
-
-
-
- <td class="description last"><p>When the <code>wep</code> property exists, the network uses WEP encryption.
-In this case, the property is set to an array of active WEP modes
-which might be either <code>open</code>, <code>shared</code> or both.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>wpa</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">Array.&lt;number></span>
-
-
-
- </td>
-
-
- <td class="attributes">
-
- &lt;optional><br>
-
-
-
- </td>
-
-
-
-
- <td class="description last"><p>When the <code>wpa</code> property exists, the network uses WPA security.
-In this case, the property is set to an array containing the WPA
-protocol versions used, e.g. <code>[ 1, 2 ]</code> for WPA/WPA2 mixed mode or
-<code>[ 3 ]</code> for WPA3-SAE.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>authentication</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">Array.&lt;string></span>
-
-
-
- </td>
-
-
- <td class="attributes">
-
- &lt;optional><br>
-
-
-
- </td>
-
-
-
-
- <td class="description last"><p>The <code>authentication</code> property only applies to WPA encryption and
-is defined when the <code>wpa</code> property is set as well. It points to
-an array of active authentication suites used by the network, e.g.
-<code>[ &quot;psk&quot; ]</code> for a WPA(2)-PSK network or <code>[ &quot;psk&quot;, &quot;sae&quot; ]</code> for
-mixed WPA2-PSK/WPA3-SAE encryption.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>ciphers</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">Array.&lt;string></span>
-
-
-
- </td>
-
-
- <td class="attributes">
-
- &lt;optional><br>
-
-
-
- </td>
-
-
-
-
- <td class="description last"><p>If either WEP or WPA encryption is active, then the <code>ciphers</code>
-property will be set to an array describing the active encryption
-ciphers used by the network, e.g. <code>[ &quot;tkip&quot;, &quot;ccmp&quot; ]</code> for a
-WPA/WPA2-PSK mixed network or <code>[ &quot;wep-40&quot;, &quot;wep-104&quot; ]</code> for an
-WEP network.</p></td>
- </tr>
-
-
- </tbody>
-</table></dl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id=".WifiPeerEntry">LuCI.Network.WifiPeerEntry<span class="type-signature type object.<string, (boolean|number|string|luci.network.wifirateentry)>">Object.&lt;string, (boolean|number|string|<a href="LuCI.Network.html#.WifiRateEntry">LuCI.Network.WifiRateEntry</a>)></span> </h4>
- </div>
-
-
-</dt>
-<dd>
-
- <div class="description">
- <p>A wireless peer entry describes the properties of a remote wireless
-peer associated with a local network.</p>
- </div>
-
-
-
-<dl class="details">
-
-
- <h5 class="subsection-title">Properties:</h5>
-
- <dl>
-
-<table class="props">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
- <th>Argument</th>
-
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>mac</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
- <td class="attributes">
-
-
-
- </td>
-
-
-
-
- <td class="description last"><p>The MAC address (BSSID).</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>signal</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">number</span>
-
-
-
- </td>
-
-
- <td class="attributes">
-
-
-
- </td>
-
-
-
-
- <td class="description last"><p>The received signal strength.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>signal_avg</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">number</span>
-
-
-
- </td>
-
-
- <td class="attributes">
-
- &lt;optional><br>
-
-
-
- </td>
-
-
-
-
- <td class="description last"><p>The average signal strength if supported by the driver.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>noise</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">number</span>
-
-
-
- </td>
-
-
- <td class="attributes">
-
- &lt;optional><br>
-
-
-
- </td>
-
-
-
-
- <td class="description last"><p>The current noise floor of the radio. May be <code>0</code> or absent if not
-supported by the driver.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>inactive</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">number</span>
-
-
-
- </td>
-
-
- <td class="attributes">
-
-
-
- </td>
-
-
-
-
- <td class="description last"><p>The amount of milliseconds the peer has been inactive, e.g. due
-to powersave.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>connected_time</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">number</span>
-
-
-
- </td>
-
-
- <td class="attributes">
-
-
-
- </td>
-
-
-
-
- <td class="description last"><p>The amount of milliseconds the peer is associated to this network.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>thr</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">number</span>
-
-
-
- </td>
-
-
- <td class="attributes">
-
- &lt;optional><br>
-
-
-
- </td>
-
-
-
-
- <td class="description last"><p>The estimated throughput of the peer, May be <code>0</code> or absent if not
-supported by the driver.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>authorized</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">boolean</span>
-
-
-
- </td>
-
-
- <td class="attributes">
-
-
-
- </td>
-
-
-
-
- <td class="description last"><p>Specifies whether the peer is authorized to associate to this network.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>authenticated</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">boolean</span>
-
-
-
- </td>
-
-
- <td class="attributes">
-
-
-
- </td>
-
-
-
-
- <td class="description last"><p>Specifies whether the peer completed authentication to this network.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>preamble</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
- <td class="attributes">
-
-
-
- </td>
-
-
-
-
- <td class="description last"><p>The preamble mode used by the peer. May be <code>long</code> or <code>short</code>.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>wme</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">boolean</span>
-
-
-
- </td>
-
-
- <td class="attributes">
-
-
-
- </td>
-
-
-
-
- <td class="description last"><p>Specifies whether the peer supports WME/WMM capabilities.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>mfp</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">boolean</span>
-
-
-
- </td>
-
-
- <td class="attributes">
-
-
-
- </td>
-
-
-
-
- <td class="description last"><p>Specifies whether management frame protection is active.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>tdls</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">boolean</span>
-
-
-
- </td>
-
-
- <td class="attributes">
-
-
-
- </td>
-
-
-
-
- <td class="description last"><p>Specifies whether TDLS is active.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>mesh llid</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">number</span>
-
-
-
- </td>
-
-
- <td class="attributes">
-
- &lt;optional><br>
-
-
-
- </td>
-
-
-
-
- <td class="description last"><p>The mesh LLID, may be <code>0</code> or absent if not applicable or supported
-by the driver.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>mesh plid</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">number</span>
-
-
-
- </td>
-
-
- <td class="attributes">
-
- &lt;optional><br>
-
-
-
- </td>
-
-
-
-
- <td class="description last"><p>The mesh PLID, may be <code>0</code> or absent if not applicable or supported
-by the driver.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>mesh plink</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
- <td class="attributes">
-
- &lt;optional><br>
-
-
-
- </td>
-
-
-
-
- <td class="description last"><p>The mesh peer link state description, may be an empty string (<code>''</code>)
-or absent if not applicable or supported by the driver.</p>
-<p>The following states are known:</p>
-<ul>
-<li><code>LISTEN</code></li>
-<li><code>OPN_SNT</code></li>
-<li><code>OPN_RCVD</code></li>
-<li><code>CNF_RCVD</code></li>
-<li><code>ESTAB</code></li>
-<li><code>HOLDING</code></li>
-<li><code>BLOCKED</code></li>
-<li><code>UNKNOWN</code></li>
-</ul></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>mesh local PS</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">number</span>
-
-
-
- </td>
-
-
- <td class="attributes">
-
- &lt;optional><br>
-
-
-
- </td>
-
-
-
-
- <td class="description last"><p>The local powersafe mode for the peer link, may be an empty
-string (<code>''</code>) or absent if not applicable or supported by
-the driver.</p>
-<p>The following modes are known:</p>
-<ul>
-<li><code>ACTIVE</code> (no power save)</li>
-<li><code>LIGHT SLEEP</code></li>
-<li><code>DEEP SLEEP</code></li>
-<li><code>UNKNOWN</code></li>
-</ul></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>mesh peer PS</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">number</span>
-
-
-
- </td>
-
-
- <td class="attributes">
-
- &lt;optional><br>
-
-
-
- </td>
-
-
-
-
- <td class="description last"><p>The remote powersafe mode for the peer link, may be an empty
-string (<code>''</code>) or absent if not applicable or supported by
-the driver.</p>
-<p>The following modes are known:</p>
-<ul>
-<li><code>ACTIVE</code> (no power save)</li>
-<li><code>LIGHT SLEEP</code></li>
-<li><code>DEEP SLEEP</code></li>
-<li><code>UNKNOWN</code></li>
-</ul></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>mesh non-peer PS</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">number</span>
-
-
-
- </td>
-
-
- <td class="attributes">
-
- &lt;optional><br>
-
-
-
- </td>
-
-
-
-
- <td class="description last"><p>The powersafe mode for all non-peer neigbours, may be an empty
-string (<code>''</code>) or absent if not applicable or supported by the driver.</p>
-<p>The following modes are known:</p>
-<ul>
-<li><code>ACTIVE</code> (no power save)</li>
-<li><code>LIGHT SLEEP</code></li>
-<li><code>DEEP SLEEP</code></li>
-<li><code>UNKNOWN</code></li>
-</ul></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>rx</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type"><a href="LuCI.Network.html#.WifiRateEntry">LuCI.Network.WifiRateEntry</a></span>
-
-
-
- </td>
-
-
- <td class="attributes">
-
-
-
- </td>
-
-
-
-
- <td class="description last"><p>Describes the receiving wireless rate from the peer.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>tx</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type"><a href="LuCI.Network.html#.WifiRateEntry">LuCI.Network.WifiRateEntry</a></span>
-
-
-
- </td>
-
-
- <td class="attributes">
-
-
-
- </td>
-
-
-
-
- <td class="description last"><p>Describes the transmitting wireless rate to the peer.</p></td>
- </tr>
-
-
- </tbody>
-</table></dl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id=".WifiRateEntry">LuCI.Network.WifiRateEntry<span class="type-signature type object.<string, (boolean|number)>">Object.&lt;string, (boolean|number)></span> </h4>
- </div>
-
-
-</dt>
-<dd>
-
- <div class="description">
- <p>A wireless rate entry describes the properties of a wireless
-transmission rate to or from a peer.</p>
- </div>
-
-
-
-<dl class="details">
-
-
- <h5 class="subsection-title">Properties:</h5>
-
- <dl>
-
-<table class="props">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
- <th>Argument</th>
-
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>drop_misc</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">number</span>
-
-
-
- </td>
-
-
- <td class="attributes">
-
- &lt;optional><br>
-
-
-
- </td>
-
-
-
-
- <td class="description last"><p>The amount of received misc. packages that have been dropped, e.g.
-due to corruption or missing authentication. Only applicable to
-receiving rates.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>packets</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">number</span>
-
-
-
- </td>
-
-
- <td class="attributes">
-
-
-
- </td>
-
-
-
-
- <td class="description last"><p>The amount of packets that have been received or sent.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>bytes</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">number</span>
-
-
-
- </td>
-
-
- <td class="attributes">
-
-
-
- </td>
-
-
-
-
- <td class="description last"><p>The amount of bytes that have been received or sent.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>failed</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">number</span>
-
-
-
- </td>
-
-
- <td class="attributes">
-
- &lt;optional><br>
-
-
-
- </td>
-
-
-
-
- <td class="description last"><p>The amount of failed tranmission attempts. Only applicable to
-transmit rates.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>retries</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">number</span>
-
-
-
- </td>
-
-
- <td class="attributes">
-
- &lt;optional><br>
-
-
-
- </td>
-
-
-
-
- <td class="description last"><p>The amount of retried transmissions. Only applicable to transmit
-rates.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>is_ht</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">boolean</span>
-
-
-
- </td>
-
-
- <td class="attributes">
-
-
-
- </td>
-
-
-
-
- <td class="description last"><p>Specifies whether this rate is an HT (IEEE 802.11n) rate.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>is_vht</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">boolean</span>
-
-
-
- </td>
-
-
- <td class="attributes">
-
-
-
- </td>
-
-
-
-
- <td class="description last"><p>Specifies whether this rate is an VHT (IEEE 802.11ac) rate.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>mhz</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">number</span>
-
-
-
- </td>
-
-
- <td class="attributes">
-
-
-
- </td>
-
-
-
-
- <td class="description last"><p>The channel width in MHz used for the transmission.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>rate</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">number</span>
-
-
-
- </td>
-
-
- <td class="attributes">
-
-
-
- </td>
-
-
-
-
- <td class="description last"><p>The bitrate in bit/s of the transmission.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>mcs</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">number</span>
-
-
-
- </td>
-
-
- <td class="attributes">
-
- &lt;optional><br>
-
-
-
- </td>
-
-
-
-
- <td class="description last"><p>The MCS index of the used transmission rate. Only applicable to
-HT or VHT rates.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>40mhz</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">number</span>
-
-
-
- </td>
-
-
- <td class="attributes">
-
- &lt;optional><br>
-
-
-
- </td>
-
-
-
-
- <td class="description last"><p>Specifies whether the tranmission rate used 40MHz wide channel.
-Only applicable to HT or VHT rates.</p>
-<p>Note: this option exists for backwards compatibility only and its
-use is discouraged. The <code>mhz</code> field should be used instead to
-determine the channel width.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>short_gi</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">boolean</span>
-
-
-
- </td>
-
-
- <td class="attributes">
-
- &lt;optional><br>
-
-
-
- </td>
-
-
-
-
- <td class="description last"><p>Specifies whether a short guard interval is used for the transmission.
-Only applicable to HT or VHT rates.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>nss</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">number</span>
-
-
-
- </td>
-
-
- <td class="attributes">
-
- &lt;optional><br>
-
-
-
- </td>
-
-
-
-
- <td class="description last"><p>Specifies the number of spatial streams used by the transmission.
-Only applicable to VHT rates.</p></td>
- </tr>
-
-
- </tbody>
-</table></dl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id=".WifiScanResult">LuCI.Network.WifiScanResult<span class="type-signature type object.<string, (number|string|luci.network.wifiencryption)>">Object.&lt;string, (number|string|<a href="LuCI.Network.html#.WifiEncryption">LuCI.Network.WifiEncryption</a>)></span> </h4>
- </div>
-
-
-</dt>
-<dd>
-
- <div class="description">
- <p>A wireless scan result object describes a neighbouring wireless
-network found in the vincinity.</p>
- </div>
-
-
-
-<dl class="details">
-
-
- <h5 class="subsection-title">Properties:</h5>
-
- <dl>
-
-<table class="props">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>ssid</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
-
-
- <td class="description last"><p>The SSID / Mesh ID of the network.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>bssid</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
-
-
- <td class="description last"><p>The BSSID if the network.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>mode</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
-
-
- <td class="description last"><p>The operation mode of the network (<code>Master</code>, <code>Ad-Hoc</code>, <code>Mesh Point</code>).</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>channel</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">number</span>
-
-
-
- </td>
-
-
-
-
-
- <td class="description last"><p>The wireless channel of the network.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>signal</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">number</span>
-
-
-
- </td>
-
-
-
-
-
- <td class="description last"><p>The received signal strength of the network in dBm.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>quality</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">number</span>
-
-
-
- </td>
-
-
-
-
-
- <td class="description last"><p>The numeric quality level of the signal, can be used in conjunction
-with <code>quality_max</code> to calculate a quality percentage.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>quality_max</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">number</span>
-
-
-
- </td>
-
-
-
-
-
- <td class="description last"><p>The maximum possible quality level of the signal, can be used in
-conjunction with <code>quality</code> to calculate a quality percentage.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>encryption</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type"><a href="LuCI.Network.html#.WifiEncryption">LuCI.Network.WifiEncryption</a></span>
-
-
-
- </td>
-
-
-
-
-
- <td class="description last"><p>The encryption used by the wireless network.</p></td>
- </tr>
-
-
- </tbody>
-</table></dl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-</dd>
-
- </dl>
-
-
-
-
-
-</article>
-
-</section>
-
-
-
-
-
-
-
- <footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Nov 05 2019 10:17:12 GMT+0100 (Central European Standard Time)
- </footer>
- </div>
-</div>
-<script>prettyPrint();</script>
-<script src="scripts/jaguar.js"></script>
-</body>
-</html> \ No newline at end of file
diff --git a/documentation/jsapi/LuCI.Poll.html b/documentation/jsapi/LuCI.Poll.html
deleted file mode 100644
index a00c9a3acb..0000000000
--- a/documentation/jsapi/LuCI.Poll.html
+++ /dev/null
@@ -1,1878 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <meta charset="utf-8">
- <title>Class: Poll</title>
-
-
- <script src="scripts/prettify/prettify.js"></script>
- <script src="scripts/prettify/lang-css.js"></script>
- <script src="scripts/jquery.min.js"></script>
- <!--[if lt IE 9]>
- <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
- <![endif]-->
- <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
- <link type="text/css" rel="stylesheet" href="styles/bootstrap.min.css">
- <link type="text/css" rel="stylesheet" href="styles/jaguar.css">
-
-
- <script>
- var config = {"monospaceLinks":true,"cleverLinks":true,"default":{}};
- </script>
-
-
-
-</head>
-<body>
-<div id="wrap" class="clearfix">
-
-<div class="navigation">
- <h3 class="applicationName"><a href="index.html"></a></h3>
-
- <div class="search">
- <input id="search" type="text" class="form-control input-sm" placeholder="Search Documentations">
- </div>
- <ul class="list">
-
- <li class="item" data-name="LuCI">
- <span class="title">
- <a href="LuCI.html">LuCI</a>
-
- </span>
- <ul class="members itemMembers">
-
- <span class="subtitle">Members</span>
-
- <li data-name="LuCI#env"><a href="LuCI.html#env">env</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.requestCallbackFn"><a href="LuCI.html#.requestCallbackFn">requestCallbackFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI#bind"><a href="LuCI.html#bind">bind</a></li>
-
- <li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
-
- <li data-name="LuCI#get"><a href="LuCI.html#get">get</a></li>
-
- <li data-name="LuCI#halt"><a href="LuCI.html#halt">halt</a></li>
-
- <li data-name="LuCI#hasSystemFeature"><a href="LuCI.html#hasSystemFeature">hasSystemFeature</a></li>
-
- <li data-name="LuCI#isObject"><a href="LuCI.html#isObject">isObject</a></li>
-
- <li data-name="LuCI#location"><a href="LuCI.html#location">location</a></li>
-
- <li data-name="LuCI#path"><a href="LuCI.html#path">path</a></li>
-
- <li data-name="LuCI#poll"><a href="LuCI.html#poll">poll</a></li>
-
- <li data-name="LuCI#post"><a href="LuCI.html#post">post</a></li>
-
- <li data-name="LuCI#raise"><a href="LuCI.html#raise">raise</a></li>
-
- <li data-name="LuCI#require"><a href="LuCI.html#require">require</a></li>
-
- <li data-name="LuCI#resolveDefault"><a href="LuCI.html#resolveDefault">resolveDefault</a></li>
-
- <li data-name="LuCI#resource"><a href="LuCI.html#resource">resource</a></li>
-
- <li data-name="LuCI#run"><a href="LuCI.html#run">run</a></li>
-
- <li data-name="LuCI#sortedKeys"><a href="LuCI.html#sortedKeys">sortedKeys</a></li>
-
- <li data-name="LuCI#stop"><a href="LuCI.html#stop">stop</a></li>
-
- <li data-name="LuCI#toArray"><a href="LuCI.html#toArray">toArray</a></li>
-
- <li data-name="LuCI#url"><a href="LuCI.html#url">url</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Class">
- <span class="title">
- <a href="LuCI.Class.html">LuCI.Class</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Class.extend"><a href="LuCI.Class.html#.extend">extend</a></li>
-
- <li data-name="LuCI.Class.instantiate"><a href="LuCI.Class.html#.instantiate">instantiate</a></li>
-
- <li data-name="LuCI.Class.isSubclass"><a href="LuCI.Class.html#.isSubclass">isSubclass</a></li>
-
- <li data-name="LuCI.Class.singleton"><a href="LuCI.Class.html#.singleton">singleton</a></li>
-
- <li data-name="LuCI.Class#super"><a href="LuCI.Class.html#super">super</a></li>
-
- <li data-name="LuCI.Class#varargs"><a href="LuCI.Class.html#varargs">varargs</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.dom">
- <span class="title">
- <a href="LuCI.dom.html">LuCI.dom</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.dom~ignoreCallbackFn"><a href="LuCI.dom.html#~ignoreCallbackFn">ignoreCallbackFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.dom#append"><a href="LuCI.dom.html#append">append</a></li>
-
- <li data-name="LuCI.dom#attr"><a href="LuCI.dom.html#attr">attr</a></li>
-
- <li data-name="LuCI.dom#bindClassInstance"><a href="LuCI.dom.html#bindClassInstance">bindClassInstance</a></li>
-
- <li data-name="LuCI.dom#callClassMethod"><a href="LuCI.dom.html#callClassMethod">callClassMethod</a></li>
-
- <li data-name="LuCI.dom#content"><a href="LuCI.dom.html#content">content</a></li>
-
- <li data-name="LuCI.dom#create"><a href="LuCI.dom.html#create">create</a></li>
-
- <li data-name="LuCI.dom#data"><a href="LuCI.dom.html#data">data</a></li>
-
- <li data-name="LuCI.dom#elem"><a href="LuCI.dom.html#elem">elem</a></li>
-
- <li data-name="LuCI.dom#findClassInstance"><a href="LuCI.dom.html#findClassInstance">findClassInstance</a></li>
-
- <li data-name="LuCI.dom#isEmpty"><a href="LuCI.dom.html#isEmpty">isEmpty</a></li>
-
- <li data-name="LuCI.dom#matches"><a href="LuCI.dom.html#matches">matches</a></li>
-
- <li data-name="LuCI.dom#parent"><a href="LuCI.dom.html#parent">parent</a></li>
-
- <li data-name="LuCI.dom#parse"><a href="LuCI.dom.html#parse">parse</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.fs">
- <span class="title">
- <a href="LuCI.fs.html">LuCI.fs</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.fs.FileExecResult"><a href="LuCI.fs.html#.FileExecResult">FileExecResult</a></li>
-
- <li data-name="LuCI.fs.FileStatEntry"><a href="LuCI.fs.html#.FileStatEntry">FileStatEntry</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.fs#exec"><a href="LuCI.fs.html#exec">exec</a></li>
-
- <li data-name="LuCI.fs#lines"><a href="LuCI.fs.html#lines">lines</a></li>
-
- <li data-name="LuCI.fs#list"><a href="LuCI.fs.html#list">list</a></li>
-
- <li data-name="LuCI.fs#read"><a href="LuCI.fs.html#read">read</a></li>
-
- <li data-name="LuCI.fs#remove"><a href="LuCI.fs.html#remove">remove</a></li>
-
- <li data-name="LuCI.fs#stat"><a href="LuCI.fs.html#stat">stat</a></li>
-
- <li data-name="LuCI.fs#trimmed"><a href="LuCI.fs.html#trimmed">trimmed</a></li>
-
- <li data-name="LuCI.fs#write"><a href="LuCI.fs.html#write">write</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Headers">
- <span class="title">
- <a href="LuCI.Headers.html">LuCI.Headers</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Headers#get"><a href="LuCI.Headers.html#get">get</a></li>
-
- <li data-name="LuCI.Headers#has"><a href="LuCI.Headers.html#has">has</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network">
- <span class="title">
- <a href="LuCI.Network.html">LuCI.Network</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.Network.SwitchTopology"><a href="LuCI.Network.html#.SwitchTopology">SwitchTopology</a></li>
-
- <li data-name="LuCI.Network.WifiEncryption"><a href="LuCI.Network.html#.WifiEncryption">WifiEncryption</a></li>
-
- <li data-name="LuCI.Network.WifiPeerEntry"><a href="LuCI.Network.html#.WifiPeerEntry">WifiPeerEntry</a></li>
-
- <li data-name="LuCI.Network.WifiRateEntry"><a href="LuCI.Network.html#.WifiRateEntry">WifiRateEntry</a></li>
-
- <li data-name="LuCI.Network.WifiScanResult"><a href="LuCI.Network.html#.WifiScanResult">WifiScanResult</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network#addNetwork"><a href="LuCI.Network.html#addNetwork">addNetwork</a></li>
-
- <li data-name="LuCI.Network#addWifiNetwork"><a href="LuCI.Network.html#addWifiNetwork">addWifiNetwork</a></li>
-
- <li data-name="LuCI.Network#deleteNetwork"><a href="LuCI.Network.html#deleteNetwork">deleteNetwork</a></li>
-
- <li data-name="LuCI.Network#deleteWifiNetwork"><a href="LuCI.Network.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
-
- <li data-name="LuCI.Network#flushCache"><a href="LuCI.Network.html#flushCache">flushCache</a></li>
-
- <li data-name="LuCI.Network#formatWifiEncryption"><a href="LuCI.Network.html#formatWifiEncryption">formatWifiEncryption</a></li>
-
- <li data-name="LuCI.Network#getDevice"><a href="LuCI.Network.html#getDevice">getDevice</a></li>
-
- <li data-name="LuCI.Network#getDevices"><a href="LuCI.Network.html#getDevices">getDevices</a></li>
-
- <li data-name="LuCI.Network#getDSLModemType"><a href="LuCI.Network.html#getDSLModemType">getDSLModemType</a></li>
-
- <li data-name="LuCI.Network#getHostHints"><a href="LuCI.Network.html#getHostHints">getHostHints</a></li>
-
- <li data-name="LuCI.Network#getIfnameOf"><a href="LuCI.Network.html#getIfnameOf">getIfnameOf</a></li>
-
- <li data-name="LuCI.Network#getNetwork"><a href="LuCI.Network.html#getNetwork">getNetwork</a></li>
-
- <li data-name="LuCI.Network#getNetworks"><a href="LuCI.Network.html#getNetworks">getNetworks</a></li>
-
- <li data-name="LuCI.Network#getProtocol"><a href="LuCI.Network.html#getProtocol">getProtocol</a></li>
-
- <li data-name="LuCI.Network#getProtocols"><a href="LuCI.Network.html#getProtocols">getProtocols</a></li>
-
- <li data-name="LuCI.Network#getSwitchTopologies"><a href="LuCI.Network.html#getSwitchTopologies">getSwitchTopologies</a></li>
-
- <li data-name="LuCI.Network#getWAN6Networks"><a href="LuCI.Network.html#getWAN6Networks">getWAN6Networks</a></li>
-
- <li data-name="LuCI.Network#getWANNetworks"><a href="LuCI.Network.html#getWANNetworks">getWANNetworks</a></li>
-
- <li data-name="LuCI.Network#getWifiDevice"><a href="LuCI.Network.html#getWifiDevice">getWifiDevice</a></li>
-
- <li data-name="LuCI.Network#getWifiDevices"><a href="LuCI.Network.html#getWifiDevices">getWifiDevices</a></li>
-
- <li data-name="LuCI.Network#getWifiNetwork"><a href="LuCI.Network.html#getWifiNetwork">getWifiNetwork</a></li>
-
- <li data-name="LuCI.Network#isIgnoredDevice"><a href="LuCI.Network.html#isIgnoredDevice">isIgnoredDevice</a></li>
-
- <li data-name="LuCI.Network#maskToPrefix"><a href="LuCI.Network.html#maskToPrefix">maskToPrefix</a></li>
-
- <li data-name="LuCI.Network#prefixToMask"><a href="LuCI.Network.html#prefixToMask">prefixToMask</a></li>
-
- <li data-name="LuCI.Network#registerErrorCode"><a href="LuCI.Network.html#registerErrorCode">registerErrorCode</a></li>
-
- <li data-name="LuCI.Network#registerPatternVirtual"><a href="LuCI.Network.html#registerPatternVirtual">registerPatternVirtual</a></li>
-
- <li data-name="LuCI.Network#registerProtocol"><a href="LuCI.Network.html#registerProtocol">registerProtocol</a></li>
-
- <li data-name="LuCI.Network#renameNetwork"><a href="LuCI.Network.html#renameNetwork">renameNetwork</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.Device">
- <span class="title">
- <a href="LuCI.Network.Device.html">LuCI.Network.Device</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.Device#getBridgeID"><a href="LuCI.Network.Device.html#getBridgeID">getBridgeID</a></li>
-
- <li data-name="LuCI.Network.Device#getBridgeSTP"><a href="LuCI.Network.Device.html#getBridgeSTP">getBridgeSTP</a></li>
-
- <li data-name="LuCI.Network.Device#getI18n"><a href="LuCI.Network.Device.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.Device#getIP6Addrs"><a href="LuCI.Network.Device.html#getIP6Addrs">getIP6Addrs</a></li>
-
- <li data-name="LuCI.Network.Device#getIPAddrs"><a href="LuCI.Network.Device.html#getIPAddrs">getIPAddrs</a></li>
-
- <li data-name="LuCI.Network.Device#getMAC"><a href="LuCI.Network.Device.html#getMAC">getMAC</a></li>
-
- <li data-name="LuCI.Network.Device#getMTU"><a href="LuCI.Network.Device.html#getMTU">getMTU</a></li>
-
- <li data-name="LuCI.Network.Device#getName"><a href="LuCI.Network.Device.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.Device#getNetwork"><a href="LuCI.Network.Device.html#getNetwork">getNetwork</a></li>
-
- <li data-name="LuCI.Network.Device#getNetworks"><a href="LuCI.Network.Device.html#getNetworks">getNetworks</a></li>
-
- <li data-name="LuCI.Network.Device#getPorts"><a href="LuCI.Network.Device.html#getPorts">getPorts</a></li>
-
- <li data-name="LuCI.Network.Device#getRXBytes"><a href="LuCI.Network.Device.html#getRXBytes">getRXBytes</a></li>
-
- <li data-name="LuCI.Network.Device#getRXPackets"><a href="LuCI.Network.Device.html#getRXPackets">getRXPackets</a></li>
-
- <li data-name="LuCI.Network.Device#getShortName"><a href="LuCI.Network.Device.html#getShortName">getShortName</a></li>
-
- <li data-name="LuCI.Network.Device#getTXBytes"><a href="LuCI.Network.Device.html#getTXBytes">getTXBytes</a></li>
-
- <li data-name="LuCI.Network.Device#getTXPackets"><a href="LuCI.Network.Device.html#getTXPackets">getTXPackets</a></li>
-
- <li data-name="LuCI.Network.Device#getType"><a href="LuCI.Network.Device.html#getType">getType</a></li>
-
- <li data-name="LuCI.Network.Device#getTypeI18n"><a href="LuCI.Network.Device.html#getTypeI18n">getTypeI18n</a></li>
-
- <li data-name="LuCI.Network.Device#getWifiNetwork"><a href="LuCI.Network.Device.html#getWifiNetwork">getWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.Device#isBridge"><a href="LuCI.Network.Device.html#isBridge">isBridge</a></li>
-
- <li data-name="LuCI.Network.Device#isBridgePort"><a href="LuCI.Network.Device.html#isBridgePort">isBridgePort</a></li>
-
- <li data-name="LuCI.Network.Device#isUp"><a href="LuCI.Network.Device.html#isUp">isUp</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.Hosts">
- <span class="title">
- <a href="LuCI.Network.Hosts.html">LuCI.Network.Hosts</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.Hosts#getHostnameByIP6Addr"><a href="LuCI.Network.Hosts.html#getHostnameByIP6Addr">getHostnameByIP6Addr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getHostnameByIPAddr"><a href="LuCI.Network.Hosts.html#getHostnameByIPAddr">getHostnameByIPAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getHostnameByMACAddr"><a href="LuCI.Network.Hosts.html#getHostnameByMACAddr">getHostnameByMACAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getIP6AddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIP6AddrByMACAddr">getIP6AddrByMACAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getIPAddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIPAddrByMACAddr">getIPAddrByMACAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getMACAddrByIP6Addr"><a href="LuCI.Network.Hosts.html#getMACAddrByIP6Addr">getMACAddrByIP6Addr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getMACAddrByIPAddr"><a href="LuCI.Network.Hosts.html#getMACAddrByIPAddr">getMACAddrByIPAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getMACHints"><a href="LuCI.Network.Hosts.html#getMACHints">getMACHints</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.Protocol">
- <span class="title">
- <a href="LuCI.Network.Protocol.html">LuCI.Network.Protocol</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.Protocol#addDevice"><a href="LuCI.Network.Protocol.html#addDevice">addDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#containsDevice"><a href="LuCI.Network.Protocol.html#containsDevice">containsDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#deleteDevice"><a href="LuCI.Network.Protocol.html#deleteDevice">deleteDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#get"><a href="LuCI.Network.Protocol.html#get">get</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDevice"><a href="LuCI.Network.Protocol.html#getDevice">getDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDevices"><a href="LuCI.Network.Protocol.html#getDevices">getDevices</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDNS6Addrs"><a href="LuCI.Network.Protocol.html#getDNS6Addrs">getDNS6Addrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDNSAddrs"><a href="LuCI.Network.Protocol.html#getDNSAddrs">getDNSAddrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getErrors"><a href="LuCI.Network.Protocol.html#getErrors">getErrors</a></li>
-
- <li data-name="LuCI.Network.Protocol#getExpiry"><a href="LuCI.Network.Protocol.html#getExpiry">getExpiry</a></li>
-
- <li data-name="LuCI.Network.Protocol#getGateway6Addr"><a href="LuCI.Network.Protocol.html#getGateway6Addr">getGateway6Addr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getGatewayAddr"><a href="LuCI.Network.Protocol.html#getGatewayAddr">getGatewayAddr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getI18n"><a href="LuCI.Network.Protocol.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIfname"><a href="LuCI.Network.Protocol.html#getIfname">getIfname</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIP6Addr"><a href="LuCI.Network.Protocol.html#getIP6Addr">getIP6Addr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIP6Addrs"><a href="LuCI.Network.Protocol.html#getIP6Addrs">getIP6Addrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIP6Prefix"><a href="LuCI.Network.Protocol.html#getIP6Prefix">getIP6Prefix</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIPAddr"><a href="LuCI.Network.Protocol.html#getIPAddr">getIPAddr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIPAddrs"><a href="LuCI.Network.Protocol.html#getIPAddrs">getIPAddrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getL2Device"><a href="LuCI.Network.Protocol.html#getL2Device">getL2Device</a></li>
-
- <li data-name="LuCI.Network.Protocol#getL3Device"><a href="LuCI.Network.Protocol.html#getL3Device">getL3Device</a></li>
-
- <li data-name="LuCI.Network.Protocol#getMetric"><a href="LuCI.Network.Protocol.html#getMetric">getMetric</a></li>
-
- <li data-name="LuCI.Network.Protocol#getName"><a href="LuCI.Network.Protocol.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.Protocol#getNetmask"><a href="LuCI.Network.Protocol.html#getNetmask">getNetmask</a></li>
-
- <li data-name="LuCI.Network.Protocol#getOpkgPackage"><a href="LuCI.Network.Protocol.html#getOpkgPackage">getOpkgPackage</a></li>
-
- <li data-name="LuCI.Network.Protocol#getProtocol"><a href="LuCI.Network.Protocol.html#getProtocol">getProtocol</a></li>
-
- <li data-name="LuCI.Network.Protocol#getType"><a href="LuCI.Network.Protocol.html#getType">getType</a></li>
-
- <li data-name="LuCI.Network.Protocol#getUptime"><a href="LuCI.Network.Protocol.html#getUptime">getUptime</a></li>
-
- <li data-name="LuCI.Network.Protocol#getZoneName"><a href="LuCI.Network.Protocol.html#getZoneName">getZoneName</a></li>
-
- <li data-name="LuCI.Network.Protocol#isAlias"><a href="LuCI.Network.Protocol.html#isAlias">isAlias</a></li>
-
- <li data-name="LuCI.Network.Protocol#isBridge"><a href="LuCI.Network.Protocol.html#isBridge">isBridge</a></li>
-
- <li data-name="LuCI.Network.Protocol#isDynamic"><a href="LuCI.Network.Protocol.html#isDynamic">isDynamic</a></li>
-
- <li data-name="LuCI.Network.Protocol#isEmpty"><a href="LuCI.Network.Protocol.html#isEmpty">isEmpty</a></li>
-
- <li data-name="LuCI.Network.Protocol#isFloating"><a href="LuCI.Network.Protocol.html#isFloating">isFloating</a></li>
-
- <li data-name="LuCI.Network.Protocol#isInstalled"><a href="LuCI.Network.Protocol.html#isInstalled">isInstalled</a></li>
-
- <li data-name="LuCI.Network.Protocol#isUp"><a href="LuCI.Network.Protocol.html#isUp">isUp</a></li>
-
- <li data-name="LuCI.Network.Protocol#isVirtual"><a href="LuCI.Network.Protocol.html#isVirtual">isVirtual</a></li>
-
- <li data-name="LuCI.Network.Protocol#set"><a href="LuCI.Network.Protocol.html#set">set</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.WifiDevice">
- <span class="title">
- <a href="LuCI.Network.WifiDevice.html">LuCI.Network.WifiDevice</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.WifiDevice#addWifiNetwork"><a href="LuCI.Network.WifiDevice.html#addWifiNetwork">addWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#deleteWifiNetwork"><a href="LuCI.Network.WifiDevice.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#get"><a href="LuCI.Network.WifiDevice.html#get">get</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getHTModes"><a href="LuCI.Network.WifiDevice.html#getHTModes">getHTModes</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getHWModes"><a href="LuCI.Network.WifiDevice.html#getHWModes">getHWModes</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getI18n"><a href="LuCI.Network.WifiDevice.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getName"><a href="LuCI.Network.WifiDevice.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getScanList"><a href="LuCI.Network.WifiDevice.html#getScanList">getScanList</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getWifiNetwork"><a href="LuCI.Network.WifiDevice.html#getWifiNetwork">getWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getWifiNetworks"><a href="LuCI.Network.WifiDevice.html#getWifiNetworks">getWifiNetworks</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#isDisabled"><a href="LuCI.Network.WifiDevice.html#isDisabled">isDisabled</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#isUp"><a href="LuCI.Network.WifiDevice.html#isUp">isUp</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#set"><a href="LuCI.Network.WifiDevice.html#set">set</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.WifiNetwork">
- <span class="title">
- <a href="LuCI.Network.WifiNetwork.html">LuCI.Network.WifiNetwork</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.WifiNetwork#get"><a href="LuCI.Network.WifiNetwork.html#get">get</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveBSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveBSSID">getActiveBSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveEncryption"><a href="LuCI.Network.WifiNetwork.html#getActiveEncryption">getActiveEncryption</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveMode"><a href="LuCI.Network.WifiNetwork.html#getActiveMode">getActiveMode</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveModeI18n"><a href="LuCI.Network.WifiNetwork.html#getActiveModeI18n">getActiveModeI18n</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveSSID">getActiveSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getAssocList"><a href="LuCI.Network.WifiNetwork.html#getAssocList">getAssocList</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getBitRate"><a href="LuCI.Network.WifiNetwork.html#getBitRate">getBitRate</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getBSSID"><a href="LuCI.Network.WifiNetwork.html#getBSSID">getBSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getChannel"><a href="LuCI.Network.WifiNetwork.html#getChannel">getChannel</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getCountryCode"><a href="LuCI.Network.WifiNetwork.html#getCountryCode">getCountryCode</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getDevice"><a href="LuCI.Network.WifiNetwork.html#getDevice">getDevice</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getFrequency"><a href="LuCI.Network.WifiNetwork.html#getFrequency">getFrequency</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getI18n"><a href="LuCI.Network.WifiNetwork.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getID"><a href="LuCI.Network.WifiNetwork.html#getID">getID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getIfname"><a href="LuCI.Network.WifiNetwork.html#getIfname">getIfname</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getMeshID"><a href="LuCI.Network.WifiNetwork.html#getMeshID">getMeshID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getMode"><a href="LuCI.Network.WifiNetwork.html#getMode">getMode</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getName"><a href="LuCI.Network.WifiNetwork.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNetwork"><a href="LuCI.Network.WifiNetwork.html#getNetwork">getNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNetworkNames"><a href="LuCI.Network.WifiNetwork.html#getNetworkNames">getNetworkNames</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNetworks"><a href="LuCI.Network.WifiNetwork.html#getNetworks">getNetworks</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNoise"><a href="LuCI.Network.WifiNetwork.html#getNoise">getNoise</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getShortName"><a href="LuCI.Network.WifiNetwork.html#getShortName">getShortName</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSignal"><a href="LuCI.Network.WifiNetwork.html#getSignal">getSignal</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSignalLevel"><a href="LuCI.Network.WifiNetwork.html#getSignalLevel">getSignalLevel</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSignalPercent"><a href="LuCI.Network.WifiNetwork.html#getSignalPercent">getSignalPercent</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSSID"><a href="LuCI.Network.WifiNetwork.html#getSSID">getSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getTXPower"><a href="LuCI.Network.WifiNetwork.html#getTXPower">getTXPower</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getTXPowerOffset"><a href="LuCI.Network.WifiNetwork.html#getTXPowerOffset">getTXPowerOffset</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getWifiDevice"><a href="LuCI.Network.WifiNetwork.html#getWifiDevice">getWifiDevice</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getWifiDeviceName"><a href="LuCI.Network.WifiNetwork.html#getWifiDeviceName">getWifiDeviceName</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#isDisabled"><a href="LuCI.Network.WifiNetwork.html#isDisabled">isDisabled</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#isUp"><a href="LuCI.Network.WifiNetwork.html#isUp">isUp</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#set"><a href="LuCI.Network.WifiNetwork.html#set">set</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Poll">
- <span class="title">
- <a href="LuCI.Poll.html">LuCI.Poll</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Poll#active"><a href="LuCI.Poll.html#active">active</a></li>
-
- <li data-name="LuCI.Poll#add"><a href="LuCI.Poll.html#add">add</a></li>
-
- <li data-name="LuCI.Poll#remove"><a href="LuCI.Poll.html#remove">remove</a></li>
-
- <li data-name="LuCI.Poll#start"><a href="LuCI.Poll.html#start">start</a></li>
-
- <li data-name="LuCI.Poll#stop"><a href="LuCI.Poll.html#stop">stop</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Request">
- <span class="title">
- <a href="LuCI.Request.html">LuCI.Request</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.Request.interceptorFn"><a href="LuCI.Request.html#.interceptorFn">interceptorFn</a></li>
-
- <li data-name="LuCI.Request.RequestOptions"><a href="LuCI.Request.html#.RequestOptions">RequestOptions</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Request#addInterceptor"><a href="LuCI.Request.html#addInterceptor">addInterceptor</a></li>
-
- <li data-name="LuCI.Request#expandURL"><a href="LuCI.Request.html#expandURL">expandURL</a></li>
-
- <li data-name="LuCI.Request#get"><a href="LuCI.Request.html#get">get</a></li>
-
- <li data-name="LuCI.Request#post"><a href="LuCI.Request.html#post">post</a></li>
-
- <li data-name="LuCI.Request#removeInterceptor"><a href="LuCI.Request.html#removeInterceptor">removeInterceptor</a></li>
-
- <li data-name="LuCI.Request#request"><a href="LuCI.Request.html#request">request</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Request.poll">
- <span class="title">
- <a href="LuCI.Request.poll.html">LuCI.Request.poll</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.Request.poll~callbackFn"><a href="LuCI.Request.poll.html#~callbackFn">callbackFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Request.poll#active"><a href="LuCI.Request.poll.html#active">active</a></li>
-
- <li data-name="LuCI.Request.poll#add"><a href="LuCI.Request.poll.html#add">add</a></li>
-
- <li data-name="LuCI.Request.poll#remove"><a href="LuCI.Request.poll.html#remove">remove</a></li>
-
- <li data-name="LuCI.Request.poll#start"><a href="LuCI.Request.poll.html#start">start</a></li>
-
- <li data-name="LuCI.Request.poll#stop"><a href="LuCI.Request.poll.html#stop">stop</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Response">
- <span class="title">
- <a href="LuCI.Response.html">LuCI.Response</a>
-
- </span>
- <ul class="members itemMembers">
-
- <span class="subtitle">Members</span>
-
- <li data-name="LuCI.Response#duration"><a href="LuCI.Response.html#duration">duration</a></li>
-
- <li data-name="LuCI.Response#headers"><a href="LuCI.Response.html#headers">headers</a></li>
-
- <li data-name="LuCI.Response#ok"><a href="LuCI.Response.html#ok">ok</a></li>
-
- <li data-name="LuCI.Response#status"><a href="LuCI.Response.html#status">status</a></li>
-
- <li data-name="LuCI.Response#statusText"><a href="LuCI.Response.html#statusText">statusText</a></li>
-
- <li data-name="LuCI.Response#url"><a href="LuCI.Response.html#url">url</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Response#clone"><a href="LuCI.Response.html#clone">clone</a></li>
-
- <li data-name="LuCI.Response#json"><a href="LuCI.Response.html#json">json</a></li>
-
- <li data-name="LuCI.Response#text"><a href="LuCI.Response.html#text">text</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.rpc">
- <span class="title">
- <a href="LuCI.rpc.html">LuCI.rpc</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.rpc.DeclareOptions"><a href="LuCI.rpc.html#.DeclareOptions">DeclareOptions</a></li>
-
- <li data-name="LuCI.rpc~filterFn"><a href="LuCI.rpc.html#~filterFn">filterFn</a></li>
-
- <li data-name="LuCI.rpc~interceptorFn"><a href="LuCI.rpc.html#~interceptorFn">interceptorFn</a></li>
-
- <li data-name="LuCI.rpc~invokeFn"><a href="LuCI.rpc.html#~invokeFn">invokeFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.rpc#addInterceptor"><a href="LuCI.rpc.html#addInterceptor">addInterceptor</a></li>
-
- <li data-name="LuCI.rpc#declare"><a href="LuCI.rpc.html#declare">declare</a></li>
-
- <li data-name="LuCI.rpc#getBaseURL"><a href="LuCI.rpc.html#getBaseURL">getBaseURL</a></li>
-
- <li data-name="LuCI.rpc#getSessionID"><a href="LuCI.rpc.html#getSessionID">getSessionID</a></li>
-
- <li data-name="LuCI.rpc#getStatusText"><a href="LuCI.rpc.html#getStatusText">getStatusText</a></li>
-
- <li data-name="LuCI.rpc#list"><a href="LuCI.rpc.html#list">list</a></li>
-
- <li data-name="LuCI.rpc#removeInterceptor"><a href="LuCI.rpc.html#removeInterceptor">removeInterceptor</a></li>
-
- <li data-name="LuCI.rpc#setBaseURL"><a href="LuCI.rpc.html#setBaseURL">setBaseURL</a></li>
-
- <li data-name="LuCI.rpc#setSessionID"><a href="LuCI.rpc.html#setSessionID">setSessionID</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.uci">
- <span class="title">
- <a href="LuCI.uci.html">LuCI.uci</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.uci.ChangeRecord"><a href="LuCI.uci.html#.ChangeRecord">ChangeRecord</a></li>
-
- <li data-name="LuCI.uci.SectionObject"><a href="LuCI.uci.html#.SectionObject">SectionObject</a></li>
-
- <li data-name="LuCI.uci~sectionsFn"><a href="LuCI.uci.html#~sectionsFn">sectionsFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.uci#add"><a href="LuCI.uci.html#add">add</a></li>
-
- <li data-name="LuCI.uci#apply"><a href="LuCI.uci.html#apply">apply</a></li>
-
- <li data-name="LuCI.uci#changes"><a href="LuCI.uci.html#changes">changes</a></li>
-
- <li data-name="LuCI.uci#createSID"><a href="LuCI.uci.html#createSID">createSID</a></li>
-
- <li data-name="LuCI.uci#get"><a href="LuCI.uci.html#get">get</a></li>
-
- <li data-name="LuCI.uci#get_first"><a href="LuCI.uci.html#get_first">get_first</a></li>
-
- <li data-name="LuCI.uci#load"><a href="LuCI.uci.html#load">load</a></li>
-
- <li data-name="LuCI.uci#move"><a href="LuCI.uci.html#move">move</a></li>
-
- <li data-name="LuCI.uci#remove"><a href="LuCI.uci.html#remove">remove</a></li>
-
- <li data-name="LuCI.uci#resolveSID"><a href="LuCI.uci.html#resolveSID">resolveSID</a></li>
-
- <li data-name="LuCI.uci#save"><a href="LuCI.uci.html#save">save</a></li>
-
- <li data-name="LuCI.uci#sections"><a href="LuCI.uci.html#sections">sections</a></li>
-
- <li data-name="LuCI.uci#set"><a href="LuCI.uci.html#set">set</a></li>
-
- <li data-name="LuCI.uci#set_first"><a href="LuCI.uci.html#set_first">set_first</a></li>
-
- <li data-name="LuCI.uci#unload"><a href="LuCI.uci.html#unload">unload</a></li>
-
- <li data-name="LuCI.uci#unset"><a href="LuCI.uci.html#unset">unset</a></li>
-
- <li data-name="LuCI.uci#unset_first"><a href="LuCI.uci.html#unset_first">unset_first</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.view">
- <span class="title">
- <a href="LuCI.view.html">LuCI.view</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.view#addFooter"><a href="LuCI.view.html#addFooter">addFooter</a></li>
-
- <li data-name="LuCI.view#handleReset"><a href="LuCI.view.html#handleReset">handleReset</a></li>
-
- <li data-name="LuCI.view#handleSave"><a href="LuCI.view.html#handleSave">handleSave</a></li>
-
- <li data-name="LuCI.view#handleSaveApply"><a href="LuCI.view.html#handleSaveApply">handleSaveApply</a></li>
-
- <li data-name="LuCI.view#load"><a href="LuCI.view.html#load">load</a></li>
-
- <li data-name="LuCI.view#render"><a href="LuCI.view.html#render">render</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.XHR">
- <span class="title">
- <a href="LuCI.XHR.html">LuCI.XHR</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.XHR#abort"><a href="LuCI.XHR.html#abort">abort</a></li>
-
- <li data-name="LuCI.XHR#busy"><a href="LuCI.XHR.html#busy">busy</a></li>
-
- <li data-name="LuCI.XHR#cancel"><a href="LuCI.XHR.html#cancel">cancel</a></li>
-
- <li data-name="LuCI.XHR#get"><a href="LuCI.XHR.html#get">get</a></li>
-
- <li data-name="LuCI.XHR#post"><a href="LuCI.XHR.html#post">post</a></li>
-
- <li data-name="LuCI.XHR#send_form"><a href="LuCI.XHR.html#send_form">send_form</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- </ul>
-</div>
- <div class="main">
- <h1 class="page-title" data-filename="LuCI.Poll.html">Class: Poll</h1>
-
-
-
-
-<section>
-
-<header>
- <h2>
- <span class="ancestors"><a href="LuCI.html">LuCI</a>.</span>
-
- Poll
- </h2>
-
- <div class="class-description"><p>The <code>Poll</code> class allows registering and unregistering poll actions,
-as well as starting, stopping and querying the state of the polling
-loop.</p></div>
-
-</header>
-
-<article>
- <div class="container-overview">
-
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="Poll">
-
- new LuCI.Poll<span class="signature">()</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 999
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dd>
-
-
- </div>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- <h3 class="subsection-title">Methods</h3>
-
- <dl>
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="active">
-
- active<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 1150
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Test whether the polling loop is running.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- boolean
-
-
- </td>
- <td class="description last"><ul>
-<li>Returns <code>true</code> if polling is active, else <code>false</code>.</li>
-</ul></td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="add">
-
- add<span class="signature">(fn, interval)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 1023
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Add a new operation to the polling loop. If the polling loop is not
-already started at this point, it will be implicitely started.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>fn</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">function</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The function to invoke on each poll interval.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>interval</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">number</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The poll interval in seconds.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
- <h5>Throws:</h5>
-
-
-
-<dl>
- <dt>
- <div class="param-desc">
- <p>Throws <code>TypeError</code> when an invalid interval was passed.</p>
- </div>
- </dt>
- <dt>
- <dl>
- <dt>
- Type
- </dt>
- <dd>
-
-<span class="param-type">TypeError</span>
-
-
- </dd>
- </dl>
- </dt>
-</dl>
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- boolean
-
-
- </td>
- <td class="description last">Returns <code>true</code> if the function has been added or <code>false</code> if it
-already is registered.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="remove">
-
- remove<span class="signature">(fn)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 1064
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Remove an operation from the polling loop. If no further operatons
-are registered, the polling loop is implicitely stopped.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>fn</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">function</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The function to remove.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
- <h5>Throws:</h5>
-
-
-
-<dl>
- <dt>
- <div class="param-desc">
- <p>Throws <code>TypeError</code> when the given argument isn't a function.</p>
- </div>
- </dt>
- <dt>
- <dl>
- <dt>
- Type
- </dt>
- <dd>
-
-<span class="param-type">TypeError</span>
-
-
- </dd>
- </dl>
- </dt>
-</dl>
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- boolean
-
-
- </td>
- <td class="description last">Returns <code>true</code> if the function has been removed or <code>false</code> if it
-wasn't found.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="start">
-
- start<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 1090
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>(Re)start the polling loop. Dispatches a custom <code>poll-start</code> event
-to the <code>document</code> object upon successful start.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- boolean
-
-
- </td>
- <td class="description last">Returns <code>true</code> if polling has been started (or if no functions
-where registered) or <code>false</code> when the polling loop already runs.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="stop">
-
- stop<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 1115
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Stop the polling loop. Dispatches a custom <code>poll-stop</code> event
-to the <code>document</code> object upon successful stop.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- boolean
-
-
- </td>
- <td class="description last">Returns <code>true</code> if polling has been stopped or <code>false</code> if it din't
-run to begin with.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
- </dl>
-
-
-
-
-
-
-
-</article>
-
-</section>
-
-
-
-
-
-
-
- <footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Nov 05 2019 10:17:12 GMT+0100 (Central European Standard Time)
- </footer>
- </div>
-</div>
-<script>prettyPrint();</script>
-<script src="scripts/jaguar.js"></script>
-</body>
-</html> \ No newline at end of file
diff --git a/documentation/jsapi/LuCI.Request.html b/documentation/jsapi/LuCI.Request.html
deleted file mode 100644
index 530bf9a033..0000000000
--- a/documentation/jsapi/LuCI.Request.html
+++ /dev/null
@@ -1,2774 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <meta charset="utf-8">
- <title>Class: Request</title>
-
-
- <script src="scripts/prettify/prettify.js"></script>
- <script src="scripts/prettify/lang-css.js"></script>
- <script src="scripts/jquery.min.js"></script>
- <!--[if lt IE 9]>
- <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
- <![endif]-->
- <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
- <link type="text/css" rel="stylesheet" href="styles/bootstrap.min.css">
- <link type="text/css" rel="stylesheet" href="styles/jaguar.css">
-
-
- <script>
- var config = {"monospaceLinks":true,"cleverLinks":true,"default":{}};
- </script>
-
-
-
-</head>
-<body>
-<div id="wrap" class="clearfix">
-
-<div class="navigation">
- <h3 class="applicationName"><a href="index.html"></a></h3>
-
- <div class="search">
- <input id="search" type="text" class="form-control input-sm" placeholder="Search Documentations">
- </div>
- <ul class="list">
-
- <li class="item" data-name="LuCI">
- <span class="title">
- <a href="LuCI.html">LuCI</a>
-
- </span>
- <ul class="members itemMembers">
-
- <span class="subtitle">Members</span>
-
- <li data-name="LuCI#env"><a href="LuCI.html#env">env</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.requestCallbackFn"><a href="LuCI.html#.requestCallbackFn">requestCallbackFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI#bind"><a href="LuCI.html#bind">bind</a></li>
-
- <li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
-
- <li data-name="LuCI#get"><a href="LuCI.html#get">get</a></li>
-
- <li data-name="LuCI#halt"><a href="LuCI.html#halt">halt</a></li>
-
- <li data-name="LuCI#hasSystemFeature"><a href="LuCI.html#hasSystemFeature">hasSystemFeature</a></li>
-
- <li data-name="LuCI#isObject"><a href="LuCI.html#isObject">isObject</a></li>
-
- <li data-name="LuCI#location"><a href="LuCI.html#location">location</a></li>
-
- <li data-name="LuCI#path"><a href="LuCI.html#path">path</a></li>
-
- <li data-name="LuCI#poll"><a href="LuCI.html#poll">poll</a></li>
-
- <li data-name="LuCI#post"><a href="LuCI.html#post">post</a></li>
-
- <li data-name="LuCI#raise"><a href="LuCI.html#raise">raise</a></li>
-
- <li data-name="LuCI#require"><a href="LuCI.html#require">require</a></li>
-
- <li data-name="LuCI#resolveDefault"><a href="LuCI.html#resolveDefault">resolveDefault</a></li>
-
- <li data-name="LuCI#resource"><a href="LuCI.html#resource">resource</a></li>
-
- <li data-name="LuCI#run"><a href="LuCI.html#run">run</a></li>
-
- <li data-name="LuCI#sortedKeys"><a href="LuCI.html#sortedKeys">sortedKeys</a></li>
-
- <li data-name="LuCI#stop"><a href="LuCI.html#stop">stop</a></li>
-
- <li data-name="LuCI#toArray"><a href="LuCI.html#toArray">toArray</a></li>
-
- <li data-name="LuCI#url"><a href="LuCI.html#url">url</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Class">
- <span class="title">
- <a href="LuCI.Class.html">LuCI.Class</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Class.extend"><a href="LuCI.Class.html#.extend">extend</a></li>
-
- <li data-name="LuCI.Class.instantiate"><a href="LuCI.Class.html#.instantiate">instantiate</a></li>
-
- <li data-name="LuCI.Class.isSubclass"><a href="LuCI.Class.html#.isSubclass">isSubclass</a></li>
-
- <li data-name="LuCI.Class.singleton"><a href="LuCI.Class.html#.singleton">singleton</a></li>
-
- <li data-name="LuCI.Class#super"><a href="LuCI.Class.html#super">super</a></li>
-
- <li data-name="LuCI.Class#varargs"><a href="LuCI.Class.html#varargs">varargs</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.dom">
- <span class="title">
- <a href="LuCI.dom.html">LuCI.dom</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.dom~ignoreCallbackFn"><a href="LuCI.dom.html#~ignoreCallbackFn">ignoreCallbackFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.dom#append"><a href="LuCI.dom.html#append">append</a></li>
-
- <li data-name="LuCI.dom#attr"><a href="LuCI.dom.html#attr">attr</a></li>
-
- <li data-name="LuCI.dom#bindClassInstance"><a href="LuCI.dom.html#bindClassInstance">bindClassInstance</a></li>
-
- <li data-name="LuCI.dom#callClassMethod"><a href="LuCI.dom.html#callClassMethod">callClassMethod</a></li>
-
- <li data-name="LuCI.dom#content"><a href="LuCI.dom.html#content">content</a></li>
-
- <li data-name="LuCI.dom#create"><a href="LuCI.dom.html#create">create</a></li>
-
- <li data-name="LuCI.dom#data"><a href="LuCI.dom.html#data">data</a></li>
-
- <li data-name="LuCI.dom#elem"><a href="LuCI.dom.html#elem">elem</a></li>
-
- <li data-name="LuCI.dom#findClassInstance"><a href="LuCI.dom.html#findClassInstance">findClassInstance</a></li>
-
- <li data-name="LuCI.dom#isEmpty"><a href="LuCI.dom.html#isEmpty">isEmpty</a></li>
-
- <li data-name="LuCI.dom#matches"><a href="LuCI.dom.html#matches">matches</a></li>
-
- <li data-name="LuCI.dom#parent"><a href="LuCI.dom.html#parent">parent</a></li>
-
- <li data-name="LuCI.dom#parse"><a href="LuCI.dom.html#parse">parse</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.fs">
- <span class="title">
- <a href="LuCI.fs.html">LuCI.fs</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.fs.FileExecResult"><a href="LuCI.fs.html#.FileExecResult">FileExecResult</a></li>
-
- <li data-name="LuCI.fs.FileStatEntry"><a href="LuCI.fs.html#.FileStatEntry">FileStatEntry</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.fs#exec"><a href="LuCI.fs.html#exec">exec</a></li>
-
- <li data-name="LuCI.fs#lines"><a href="LuCI.fs.html#lines">lines</a></li>
-
- <li data-name="LuCI.fs#list"><a href="LuCI.fs.html#list">list</a></li>
-
- <li data-name="LuCI.fs#read"><a href="LuCI.fs.html#read">read</a></li>
-
- <li data-name="LuCI.fs#remove"><a href="LuCI.fs.html#remove">remove</a></li>
-
- <li data-name="LuCI.fs#stat"><a href="LuCI.fs.html#stat">stat</a></li>
-
- <li data-name="LuCI.fs#trimmed"><a href="LuCI.fs.html#trimmed">trimmed</a></li>
-
- <li data-name="LuCI.fs#write"><a href="LuCI.fs.html#write">write</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Headers">
- <span class="title">
- <a href="LuCI.Headers.html">LuCI.Headers</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Headers#get"><a href="LuCI.Headers.html#get">get</a></li>
-
- <li data-name="LuCI.Headers#has"><a href="LuCI.Headers.html#has">has</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network">
- <span class="title">
- <a href="LuCI.Network.html">LuCI.Network</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.Network.SwitchTopology"><a href="LuCI.Network.html#.SwitchTopology">SwitchTopology</a></li>
-
- <li data-name="LuCI.Network.WifiEncryption"><a href="LuCI.Network.html#.WifiEncryption">WifiEncryption</a></li>
-
- <li data-name="LuCI.Network.WifiPeerEntry"><a href="LuCI.Network.html#.WifiPeerEntry">WifiPeerEntry</a></li>
-
- <li data-name="LuCI.Network.WifiRateEntry"><a href="LuCI.Network.html#.WifiRateEntry">WifiRateEntry</a></li>
-
- <li data-name="LuCI.Network.WifiScanResult"><a href="LuCI.Network.html#.WifiScanResult">WifiScanResult</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network#addNetwork"><a href="LuCI.Network.html#addNetwork">addNetwork</a></li>
-
- <li data-name="LuCI.Network#addWifiNetwork"><a href="LuCI.Network.html#addWifiNetwork">addWifiNetwork</a></li>
-
- <li data-name="LuCI.Network#deleteNetwork"><a href="LuCI.Network.html#deleteNetwork">deleteNetwork</a></li>
-
- <li data-name="LuCI.Network#deleteWifiNetwork"><a href="LuCI.Network.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
-
- <li data-name="LuCI.Network#flushCache"><a href="LuCI.Network.html#flushCache">flushCache</a></li>
-
- <li data-name="LuCI.Network#formatWifiEncryption"><a href="LuCI.Network.html#formatWifiEncryption">formatWifiEncryption</a></li>
-
- <li data-name="LuCI.Network#getDevice"><a href="LuCI.Network.html#getDevice">getDevice</a></li>
-
- <li data-name="LuCI.Network#getDevices"><a href="LuCI.Network.html#getDevices">getDevices</a></li>
-
- <li data-name="LuCI.Network#getDSLModemType"><a href="LuCI.Network.html#getDSLModemType">getDSLModemType</a></li>
-
- <li data-name="LuCI.Network#getHostHints"><a href="LuCI.Network.html#getHostHints">getHostHints</a></li>
-
- <li data-name="LuCI.Network#getIfnameOf"><a href="LuCI.Network.html#getIfnameOf">getIfnameOf</a></li>
-
- <li data-name="LuCI.Network#getNetwork"><a href="LuCI.Network.html#getNetwork">getNetwork</a></li>
-
- <li data-name="LuCI.Network#getNetworks"><a href="LuCI.Network.html#getNetworks">getNetworks</a></li>
-
- <li data-name="LuCI.Network#getProtocol"><a href="LuCI.Network.html#getProtocol">getProtocol</a></li>
-
- <li data-name="LuCI.Network#getProtocols"><a href="LuCI.Network.html#getProtocols">getProtocols</a></li>
-
- <li data-name="LuCI.Network#getSwitchTopologies"><a href="LuCI.Network.html#getSwitchTopologies">getSwitchTopologies</a></li>
-
- <li data-name="LuCI.Network#getWAN6Networks"><a href="LuCI.Network.html#getWAN6Networks">getWAN6Networks</a></li>
-
- <li data-name="LuCI.Network#getWANNetworks"><a href="LuCI.Network.html#getWANNetworks">getWANNetworks</a></li>
-
- <li data-name="LuCI.Network#getWifiDevice"><a href="LuCI.Network.html#getWifiDevice">getWifiDevice</a></li>
-
- <li data-name="LuCI.Network#getWifiDevices"><a href="LuCI.Network.html#getWifiDevices">getWifiDevices</a></li>
-
- <li data-name="LuCI.Network#getWifiNetwork"><a href="LuCI.Network.html#getWifiNetwork">getWifiNetwork</a></li>
-
- <li data-name="LuCI.Network#isIgnoredDevice"><a href="LuCI.Network.html#isIgnoredDevice">isIgnoredDevice</a></li>
-
- <li data-name="LuCI.Network#maskToPrefix"><a href="LuCI.Network.html#maskToPrefix">maskToPrefix</a></li>
-
- <li data-name="LuCI.Network#prefixToMask"><a href="LuCI.Network.html#prefixToMask">prefixToMask</a></li>
-
- <li data-name="LuCI.Network#registerErrorCode"><a href="LuCI.Network.html#registerErrorCode">registerErrorCode</a></li>
-
- <li data-name="LuCI.Network#registerPatternVirtual"><a href="LuCI.Network.html#registerPatternVirtual">registerPatternVirtual</a></li>
-
- <li data-name="LuCI.Network#registerProtocol"><a href="LuCI.Network.html#registerProtocol">registerProtocol</a></li>
-
- <li data-name="LuCI.Network#renameNetwork"><a href="LuCI.Network.html#renameNetwork">renameNetwork</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.Device">
- <span class="title">
- <a href="LuCI.Network.Device.html">LuCI.Network.Device</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.Device#getBridgeID"><a href="LuCI.Network.Device.html#getBridgeID">getBridgeID</a></li>
-
- <li data-name="LuCI.Network.Device#getBridgeSTP"><a href="LuCI.Network.Device.html#getBridgeSTP">getBridgeSTP</a></li>
-
- <li data-name="LuCI.Network.Device#getI18n"><a href="LuCI.Network.Device.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.Device#getIP6Addrs"><a href="LuCI.Network.Device.html#getIP6Addrs">getIP6Addrs</a></li>
-
- <li data-name="LuCI.Network.Device#getIPAddrs"><a href="LuCI.Network.Device.html#getIPAddrs">getIPAddrs</a></li>
-
- <li data-name="LuCI.Network.Device#getMAC"><a href="LuCI.Network.Device.html#getMAC">getMAC</a></li>
-
- <li data-name="LuCI.Network.Device#getMTU"><a href="LuCI.Network.Device.html#getMTU">getMTU</a></li>
-
- <li data-name="LuCI.Network.Device#getName"><a href="LuCI.Network.Device.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.Device#getNetwork"><a href="LuCI.Network.Device.html#getNetwork">getNetwork</a></li>
-
- <li data-name="LuCI.Network.Device#getNetworks"><a href="LuCI.Network.Device.html#getNetworks">getNetworks</a></li>
-
- <li data-name="LuCI.Network.Device#getPorts"><a href="LuCI.Network.Device.html#getPorts">getPorts</a></li>
-
- <li data-name="LuCI.Network.Device#getRXBytes"><a href="LuCI.Network.Device.html#getRXBytes">getRXBytes</a></li>
-
- <li data-name="LuCI.Network.Device#getRXPackets"><a href="LuCI.Network.Device.html#getRXPackets">getRXPackets</a></li>
-
- <li data-name="LuCI.Network.Device#getShortName"><a href="LuCI.Network.Device.html#getShortName">getShortName</a></li>
-
- <li data-name="LuCI.Network.Device#getTXBytes"><a href="LuCI.Network.Device.html#getTXBytes">getTXBytes</a></li>
-
- <li data-name="LuCI.Network.Device#getTXPackets"><a href="LuCI.Network.Device.html#getTXPackets">getTXPackets</a></li>
-
- <li data-name="LuCI.Network.Device#getType"><a href="LuCI.Network.Device.html#getType">getType</a></li>
-
- <li data-name="LuCI.Network.Device#getTypeI18n"><a href="LuCI.Network.Device.html#getTypeI18n">getTypeI18n</a></li>
-
- <li data-name="LuCI.Network.Device#getWifiNetwork"><a href="LuCI.Network.Device.html#getWifiNetwork">getWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.Device#isBridge"><a href="LuCI.Network.Device.html#isBridge">isBridge</a></li>
-
- <li data-name="LuCI.Network.Device#isBridgePort"><a href="LuCI.Network.Device.html#isBridgePort">isBridgePort</a></li>
-
- <li data-name="LuCI.Network.Device#isUp"><a href="LuCI.Network.Device.html#isUp">isUp</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.Hosts">
- <span class="title">
- <a href="LuCI.Network.Hosts.html">LuCI.Network.Hosts</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.Hosts#getHostnameByIP6Addr"><a href="LuCI.Network.Hosts.html#getHostnameByIP6Addr">getHostnameByIP6Addr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getHostnameByIPAddr"><a href="LuCI.Network.Hosts.html#getHostnameByIPAddr">getHostnameByIPAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getHostnameByMACAddr"><a href="LuCI.Network.Hosts.html#getHostnameByMACAddr">getHostnameByMACAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getIP6AddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIP6AddrByMACAddr">getIP6AddrByMACAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getIPAddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIPAddrByMACAddr">getIPAddrByMACAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getMACAddrByIP6Addr"><a href="LuCI.Network.Hosts.html#getMACAddrByIP6Addr">getMACAddrByIP6Addr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getMACAddrByIPAddr"><a href="LuCI.Network.Hosts.html#getMACAddrByIPAddr">getMACAddrByIPAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getMACHints"><a href="LuCI.Network.Hosts.html#getMACHints">getMACHints</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.Protocol">
- <span class="title">
- <a href="LuCI.Network.Protocol.html">LuCI.Network.Protocol</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.Protocol#addDevice"><a href="LuCI.Network.Protocol.html#addDevice">addDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#containsDevice"><a href="LuCI.Network.Protocol.html#containsDevice">containsDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#deleteDevice"><a href="LuCI.Network.Protocol.html#deleteDevice">deleteDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#get"><a href="LuCI.Network.Protocol.html#get">get</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDevice"><a href="LuCI.Network.Protocol.html#getDevice">getDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDevices"><a href="LuCI.Network.Protocol.html#getDevices">getDevices</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDNS6Addrs"><a href="LuCI.Network.Protocol.html#getDNS6Addrs">getDNS6Addrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDNSAddrs"><a href="LuCI.Network.Protocol.html#getDNSAddrs">getDNSAddrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getErrors"><a href="LuCI.Network.Protocol.html#getErrors">getErrors</a></li>
-
- <li data-name="LuCI.Network.Protocol#getExpiry"><a href="LuCI.Network.Protocol.html#getExpiry">getExpiry</a></li>
-
- <li data-name="LuCI.Network.Protocol#getGateway6Addr"><a href="LuCI.Network.Protocol.html#getGateway6Addr">getGateway6Addr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getGatewayAddr"><a href="LuCI.Network.Protocol.html#getGatewayAddr">getGatewayAddr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getI18n"><a href="LuCI.Network.Protocol.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIfname"><a href="LuCI.Network.Protocol.html#getIfname">getIfname</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIP6Addr"><a href="LuCI.Network.Protocol.html#getIP6Addr">getIP6Addr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIP6Addrs"><a href="LuCI.Network.Protocol.html#getIP6Addrs">getIP6Addrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIP6Prefix"><a href="LuCI.Network.Protocol.html#getIP6Prefix">getIP6Prefix</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIPAddr"><a href="LuCI.Network.Protocol.html#getIPAddr">getIPAddr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIPAddrs"><a href="LuCI.Network.Protocol.html#getIPAddrs">getIPAddrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getL2Device"><a href="LuCI.Network.Protocol.html#getL2Device">getL2Device</a></li>
-
- <li data-name="LuCI.Network.Protocol#getL3Device"><a href="LuCI.Network.Protocol.html#getL3Device">getL3Device</a></li>
-
- <li data-name="LuCI.Network.Protocol#getMetric"><a href="LuCI.Network.Protocol.html#getMetric">getMetric</a></li>
-
- <li data-name="LuCI.Network.Protocol#getName"><a href="LuCI.Network.Protocol.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.Protocol#getNetmask"><a href="LuCI.Network.Protocol.html#getNetmask">getNetmask</a></li>
-
- <li data-name="LuCI.Network.Protocol#getOpkgPackage"><a href="LuCI.Network.Protocol.html#getOpkgPackage">getOpkgPackage</a></li>
-
- <li data-name="LuCI.Network.Protocol#getProtocol"><a href="LuCI.Network.Protocol.html#getProtocol">getProtocol</a></li>
-
- <li data-name="LuCI.Network.Protocol#getType"><a href="LuCI.Network.Protocol.html#getType">getType</a></li>
-
- <li data-name="LuCI.Network.Protocol#getUptime"><a href="LuCI.Network.Protocol.html#getUptime">getUptime</a></li>
-
- <li data-name="LuCI.Network.Protocol#getZoneName"><a href="LuCI.Network.Protocol.html#getZoneName">getZoneName</a></li>
-
- <li data-name="LuCI.Network.Protocol#isAlias"><a href="LuCI.Network.Protocol.html#isAlias">isAlias</a></li>
-
- <li data-name="LuCI.Network.Protocol#isBridge"><a href="LuCI.Network.Protocol.html#isBridge">isBridge</a></li>
-
- <li data-name="LuCI.Network.Protocol#isDynamic"><a href="LuCI.Network.Protocol.html#isDynamic">isDynamic</a></li>
-
- <li data-name="LuCI.Network.Protocol#isEmpty"><a href="LuCI.Network.Protocol.html#isEmpty">isEmpty</a></li>
-
- <li data-name="LuCI.Network.Protocol#isFloating"><a href="LuCI.Network.Protocol.html#isFloating">isFloating</a></li>
-
- <li data-name="LuCI.Network.Protocol#isInstalled"><a href="LuCI.Network.Protocol.html#isInstalled">isInstalled</a></li>
-
- <li data-name="LuCI.Network.Protocol#isUp"><a href="LuCI.Network.Protocol.html#isUp">isUp</a></li>
-
- <li data-name="LuCI.Network.Protocol#isVirtual"><a href="LuCI.Network.Protocol.html#isVirtual">isVirtual</a></li>
-
- <li data-name="LuCI.Network.Protocol#set"><a href="LuCI.Network.Protocol.html#set">set</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.WifiDevice">
- <span class="title">
- <a href="LuCI.Network.WifiDevice.html">LuCI.Network.WifiDevice</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.WifiDevice#addWifiNetwork"><a href="LuCI.Network.WifiDevice.html#addWifiNetwork">addWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#deleteWifiNetwork"><a href="LuCI.Network.WifiDevice.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#get"><a href="LuCI.Network.WifiDevice.html#get">get</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getHTModes"><a href="LuCI.Network.WifiDevice.html#getHTModes">getHTModes</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getHWModes"><a href="LuCI.Network.WifiDevice.html#getHWModes">getHWModes</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getI18n"><a href="LuCI.Network.WifiDevice.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getName"><a href="LuCI.Network.WifiDevice.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getScanList"><a href="LuCI.Network.WifiDevice.html#getScanList">getScanList</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getWifiNetwork"><a href="LuCI.Network.WifiDevice.html#getWifiNetwork">getWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getWifiNetworks"><a href="LuCI.Network.WifiDevice.html#getWifiNetworks">getWifiNetworks</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#isDisabled"><a href="LuCI.Network.WifiDevice.html#isDisabled">isDisabled</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#isUp"><a href="LuCI.Network.WifiDevice.html#isUp">isUp</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#set"><a href="LuCI.Network.WifiDevice.html#set">set</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.WifiNetwork">
- <span class="title">
- <a href="LuCI.Network.WifiNetwork.html">LuCI.Network.WifiNetwork</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.WifiNetwork#get"><a href="LuCI.Network.WifiNetwork.html#get">get</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveBSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveBSSID">getActiveBSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveEncryption"><a href="LuCI.Network.WifiNetwork.html#getActiveEncryption">getActiveEncryption</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveMode"><a href="LuCI.Network.WifiNetwork.html#getActiveMode">getActiveMode</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveModeI18n"><a href="LuCI.Network.WifiNetwork.html#getActiveModeI18n">getActiveModeI18n</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveSSID">getActiveSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getAssocList"><a href="LuCI.Network.WifiNetwork.html#getAssocList">getAssocList</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getBitRate"><a href="LuCI.Network.WifiNetwork.html#getBitRate">getBitRate</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getBSSID"><a href="LuCI.Network.WifiNetwork.html#getBSSID">getBSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getChannel"><a href="LuCI.Network.WifiNetwork.html#getChannel">getChannel</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getCountryCode"><a href="LuCI.Network.WifiNetwork.html#getCountryCode">getCountryCode</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getDevice"><a href="LuCI.Network.WifiNetwork.html#getDevice">getDevice</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getFrequency"><a href="LuCI.Network.WifiNetwork.html#getFrequency">getFrequency</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getI18n"><a href="LuCI.Network.WifiNetwork.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getID"><a href="LuCI.Network.WifiNetwork.html#getID">getID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getIfname"><a href="LuCI.Network.WifiNetwork.html#getIfname">getIfname</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getMeshID"><a href="LuCI.Network.WifiNetwork.html#getMeshID">getMeshID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getMode"><a href="LuCI.Network.WifiNetwork.html#getMode">getMode</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getName"><a href="LuCI.Network.WifiNetwork.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNetwork"><a href="LuCI.Network.WifiNetwork.html#getNetwork">getNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNetworkNames"><a href="LuCI.Network.WifiNetwork.html#getNetworkNames">getNetworkNames</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNetworks"><a href="LuCI.Network.WifiNetwork.html#getNetworks">getNetworks</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNoise"><a href="LuCI.Network.WifiNetwork.html#getNoise">getNoise</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getShortName"><a href="LuCI.Network.WifiNetwork.html#getShortName">getShortName</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSignal"><a href="LuCI.Network.WifiNetwork.html#getSignal">getSignal</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSignalLevel"><a href="LuCI.Network.WifiNetwork.html#getSignalLevel">getSignalLevel</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSignalPercent"><a href="LuCI.Network.WifiNetwork.html#getSignalPercent">getSignalPercent</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSSID"><a href="LuCI.Network.WifiNetwork.html#getSSID">getSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getTXPower"><a href="LuCI.Network.WifiNetwork.html#getTXPower">getTXPower</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getTXPowerOffset"><a href="LuCI.Network.WifiNetwork.html#getTXPowerOffset">getTXPowerOffset</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getWifiDevice"><a href="LuCI.Network.WifiNetwork.html#getWifiDevice">getWifiDevice</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getWifiDeviceName"><a href="LuCI.Network.WifiNetwork.html#getWifiDeviceName">getWifiDeviceName</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#isDisabled"><a href="LuCI.Network.WifiNetwork.html#isDisabled">isDisabled</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#isUp"><a href="LuCI.Network.WifiNetwork.html#isUp">isUp</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#set"><a href="LuCI.Network.WifiNetwork.html#set">set</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Poll">
- <span class="title">
- <a href="LuCI.Poll.html">LuCI.Poll</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Poll#active"><a href="LuCI.Poll.html#active">active</a></li>
-
- <li data-name="LuCI.Poll#add"><a href="LuCI.Poll.html#add">add</a></li>
-
- <li data-name="LuCI.Poll#remove"><a href="LuCI.Poll.html#remove">remove</a></li>
-
- <li data-name="LuCI.Poll#start"><a href="LuCI.Poll.html#start">start</a></li>
-
- <li data-name="LuCI.Poll#stop"><a href="LuCI.Poll.html#stop">stop</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Request">
- <span class="title">
- <a href="LuCI.Request.html">LuCI.Request</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.Request.interceptorFn"><a href="LuCI.Request.html#.interceptorFn">interceptorFn</a></li>
-
- <li data-name="LuCI.Request.RequestOptions"><a href="LuCI.Request.html#.RequestOptions">RequestOptions</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Request#addInterceptor"><a href="LuCI.Request.html#addInterceptor">addInterceptor</a></li>
-
- <li data-name="LuCI.Request#expandURL"><a href="LuCI.Request.html#expandURL">expandURL</a></li>
-
- <li data-name="LuCI.Request#get"><a href="LuCI.Request.html#get">get</a></li>
-
- <li data-name="LuCI.Request#post"><a href="LuCI.Request.html#post">post</a></li>
-
- <li data-name="LuCI.Request#removeInterceptor"><a href="LuCI.Request.html#removeInterceptor">removeInterceptor</a></li>
-
- <li data-name="LuCI.Request#request"><a href="LuCI.Request.html#request">request</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Request.poll">
- <span class="title">
- <a href="LuCI.Request.poll.html">LuCI.Request.poll</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.Request.poll~callbackFn"><a href="LuCI.Request.poll.html#~callbackFn">callbackFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Request.poll#active"><a href="LuCI.Request.poll.html#active">active</a></li>
-
- <li data-name="LuCI.Request.poll#add"><a href="LuCI.Request.poll.html#add">add</a></li>
-
- <li data-name="LuCI.Request.poll#remove"><a href="LuCI.Request.poll.html#remove">remove</a></li>
-
- <li data-name="LuCI.Request.poll#start"><a href="LuCI.Request.poll.html#start">start</a></li>
-
- <li data-name="LuCI.Request.poll#stop"><a href="LuCI.Request.poll.html#stop">stop</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Response">
- <span class="title">
- <a href="LuCI.Response.html">LuCI.Response</a>
-
- </span>
- <ul class="members itemMembers">
-
- <span class="subtitle">Members</span>
-
- <li data-name="LuCI.Response#duration"><a href="LuCI.Response.html#duration">duration</a></li>
-
- <li data-name="LuCI.Response#headers"><a href="LuCI.Response.html#headers">headers</a></li>
-
- <li data-name="LuCI.Response#ok"><a href="LuCI.Response.html#ok">ok</a></li>
-
- <li data-name="LuCI.Response#status"><a href="LuCI.Response.html#status">status</a></li>
-
- <li data-name="LuCI.Response#statusText"><a href="LuCI.Response.html#statusText">statusText</a></li>
-
- <li data-name="LuCI.Response#url"><a href="LuCI.Response.html#url">url</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Response#clone"><a href="LuCI.Response.html#clone">clone</a></li>
-
- <li data-name="LuCI.Response#json"><a href="LuCI.Response.html#json">json</a></li>
-
- <li data-name="LuCI.Response#text"><a href="LuCI.Response.html#text">text</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.rpc">
- <span class="title">
- <a href="LuCI.rpc.html">LuCI.rpc</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.rpc.DeclareOptions"><a href="LuCI.rpc.html#.DeclareOptions">DeclareOptions</a></li>
-
- <li data-name="LuCI.rpc~filterFn"><a href="LuCI.rpc.html#~filterFn">filterFn</a></li>
-
- <li data-name="LuCI.rpc~interceptorFn"><a href="LuCI.rpc.html#~interceptorFn">interceptorFn</a></li>
-
- <li data-name="LuCI.rpc~invokeFn"><a href="LuCI.rpc.html#~invokeFn">invokeFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.rpc#addInterceptor"><a href="LuCI.rpc.html#addInterceptor">addInterceptor</a></li>
-
- <li data-name="LuCI.rpc#declare"><a href="LuCI.rpc.html#declare">declare</a></li>
-
- <li data-name="LuCI.rpc#getBaseURL"><a href="LuCI.rpc.html#getBaseURL">getBaseURL</a></li>
-
- <li data-name="LuCI.rpc#getSessionID"><a href="LuCI.rpc.html#getSessionID">getSessionID</a></li>
-
- <li data-name="LuCI.rpc#getStatusText"><a href="LuCI.rpc.html#getStatusText">getStatusText</a></li>
-
- <li data-name="LuCI.rpc#list"><a href="LuCI.rpc.html#list">list</a></li>
-
- <li data-name="LuCI.rpc#removeInterceptor"><a href="LuCI.rpc.html#removeInterceptor">removeInterceptor</a></li>
-
- <li data-name="LuCI.rpc#setBaseURL"><a href="LuCI.rpc.html#setBaseURL">setBaseURL</a></li>
-
- <li data-name="LuCI.rpc#setSessionID"><a href="LuCI.rpc.html#setSessionID">setSessionID</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.uci">
- <span class="title">
- <a href="LuCI.uci.html">LuCI.uci</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.uci.ChangeRecord"><a href="LuCI.uci.html#.ChangeRecord">ChangeRecord</a></li>
-
- <li data-name="LuCI.uci.SectionObject"><a href="LuCI.uci.html#.SectionObject">SectionObject</a></li>
-
- <li data-name="LuCI.uci~sectionsFn"><a href="LuCI.uci.html#~sectionsFn">sectionsFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.uci#add"><a href="LuCI.uci.html#add">add</a></li>
-
- <li data-name="LuCI.uci#apply"><a href="LuCI.uci.html#apply">apply</a></li>
-
- <li data-name="LuCI.uci#changes"><a href="LuCI.uci.html#changes">changes</a></li>
-
- <li data-name="LuCI.uci#createSID"><a href="LuCI.uci.html#createSID">createSID</a></li>
-
- <li data-name="LuCI.uci#get"><a href="LuCI.uci.html#get">get</a></li>
-
- <li data-name="LuCI.uci#get_first"><a href="LuCI.uci.html#get_first">get_first</a></li>
-
- <li data-name="LuCI.uci#load"><a href="LuCI.uci.html#load">load</a></li>
-
- <li data-name="LuCI.uci#move"><a href="LuCI.uci.html#move">move</a></li>
-
- <li data-name="LuCI.uci#remove"><a href="LuCI.uci.html#remove">remove</a></li>
-
- <li data-name="LuCI.uci#resolveSID"><a href="LuCI.uci.html#resolveSID">resolveSID</a></li>
-
- <li data-name="LuCI.uci#save"><a href="LuCI.uci.html#save">save</a></li>
-
- <li data-name="LuCI.uci#sections"><a href="LuCI.uci.html#sections">sections</a></li>
-
- <li data-name="LuCI.uci#set"><a href="LuCI.uci.html#set">set</a></li>
-
- <li data-name="LuCI.uci#set_first"><a href="LuCI.uci.html#set_first">set_first</a></li>
-
- <li data-name="LuCI.uci#unload"><a href="LuCI.uci.html#unload">unload</a></li>
-
- <li data-name="LuCI.uci#unset"><a href="LuCI.uci.html#unset">unset</a></li>
-
- <li data-name="LuCI.uci#unset_first"><a href="LuCI.uci.html#unset_first">unset_first</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.view">
- <span class="title">
- <a href="LuCI.view.html">LuCI.view</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.view#addFooter"><a href="LuCI.view.html#addFooter">addFooter</a></li>
-
- <li data-name="LuCI.view#handleReset"><a href="LuCI.view.html#handleReset">handleReset</a></li>
-
- <li data-name="LuCI.view#handleSave"><a href="LuCI.view.html#handleSave">handleSave</a></li>
-
- <li data-name="LuCI.view#handleSaveApply"><a href="LuCI.view.html#handleSaveApply">handleSaveApply</a></li>
-
- <li data-name="LuCI.view#load"><a href="LuCI.view.html#load">load</a></li>
-
- <li data-name="LuCI.view#render"><a href="LuCI.view.html#render">render</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.XHR">
- <span class="title">
- <a href="LuCI.XHR.html">LuCI.XHR</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.XHR#abort"><a href="LuCI.XHR.html#abort">abort</a></li>
-
- <li data-name="LuCI.XHR#busy"><a href="LuCI.XHR.html#busy">busy</a></li>
-
- <li data-name="LuCI.XHR#cancel"><a href="LuCI.XHR.html#cancel">cancel</a></li>
-
- <li data-name="LuCI.XHR#get"><a href="LuCI.XHR.html#get">get</a></li>
-
- <li data-name="LuCI.XHR#post"><a href="LuCI.XHR.html#post">post</a></li>
-
- <li data-name="LuCI.XHR#send_form"><a href="LuCI.XHR.html#send_form">send_form</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- </ul>
-</div>
- <div class="main">
- <h1 class="page-title" data-filename="LuCI.Request.html">Class: Request</h1>
-
-
-
-
-<section>
-
-<header>
- <h2>
- <span class="ancestors"><a href="LuCI.html">LuCI</a>.</span>
-
- Request
- </h2>
-
- <div class="class-description"><p>The <code>Request</code> class allows initiating HTTP requests and provides utilities
-for dealing with responses.</p></div>
-
-</header>
-
-<article>
- <div class="container-overview">
-
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="Request">
-
- new LuCI.Request<span class="signature">()</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 569
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dd>
-
-
- </div>
-
-
-
-
-
-
-
-
- <h3 class="subsection-title">Classes</h3>
-
- <dl>
- <dt><a href="LuCI.Request.poll.html">poll</a></dt>
- <dd></dd>
- </dl>
-
-
-
-
-
-
-
- <h3 class="subsection-title">Methods</h3>
-
- <dl>
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="addInterceptor">
-
- addInterceptor<span class="signature">(interceptorFn)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{<a href="LuCI.Request.html#.interceptorFn">LuCI.Request.interceptorFn</a>}</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 844
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Register an HTTP response interceptor function. Interceptor
-functions are useful to perform default actions on incoming HTTP
-responses, such as checking for expired authentication or for
-implementing request retries before returning a failure.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>interceptorFn</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type"><a href="LuCI.Request.html#.interceptorFn">LuCI.Request.interceptorFn</a></span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The interceptor function to register.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- <a href="LuCI.Request.html#.interceptorFn">LuCI.Request.interceptorFn</a>
-
-
- </td>
- <td class="description last">The registered function.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="expandURL">
-
- expandURL<span class="signature">(url)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{string}</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 586
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Turn the given relative URL into an absolute URL if necessary.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>url</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The URL to convert.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- string
-
-
- </td>
- <td class="description last">The absolute URL derived from the given one, or the original URL
-if it already was absolute.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="get">
-
- get<span class="signature">(target, <span class="optional">options</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Promise.&lt;<a href="LuCI.Response.html">LuCI.Response</a>>}</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 797
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Initiate an HTTP GET request to the given target.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>target</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
-
-
-
-
- <p>The URL to request.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>options</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type"><a href="LuCI.Request.html#.RequestOptions">LuCI.Request.RequestOptions</a></span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
-
- <p>Additional options to configure the request.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Promise.&lt;<a href="LuCI.Response.html">LuCI.Response</a>>
-
-
- </td>
- <td class="description last">The resulting HTTP response.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="post">
-
- post<span class="signature">(target, <span class="optional">data</span>, <span class="optional">options</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Promise.&lt;<a href="LuCI.Response.html">LuCI.Response</a>>}</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 818
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Initiate an HTTP POST request to the given target.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>target</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
-
-
-
-
- <p>The URL to request.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>data</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">*</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
-
- <p>The request data to send, see <a href="LuCI.Request.html#.RequestOptions"><code>LuCI.Request.RequestOptions</code></a> for details.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>options</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type"><a href="LuCI.Request.html#.RequestOptions">LuCI.Request.RequestOptions</a></span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
-
- <p>Additional options to configure the request.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Promise.&lt;<a href="LuCI.Response.html">LuCI.Response</a>>
-
-
- </td>
- <td class="description last">The resulting HTTP response.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="removeInterceptor">
-
- removeInterceptor<span class="signature">(interceptorFn)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 863
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Remove an HTTP response interceptor function. The passed function
-value must be the very same value that was used to register the
-function.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>interceptorFn</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type"><a href="LuCI.Request.html#.interceptorFn">LuCI.Request.interceptorFn</a></span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The interceptor function to remove.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- boolean
-
-
- </td>
- <td class="description last">Returns <code>true</code> if any function has been removed, else <code>false</code>.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="request">
-
- request<span class="signature">(target, <span class="optional">options</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Promise.&lt;<a href="LuCI.Response.html">LuCI.Response</a>>}</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 648
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Initiate an HTTP request to the given target.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>target</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
-
-
-
-
- <p>The URL to request.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>options</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type"><a href="LuCI.Request.html#.RequestOptions">LuCI.Request.RequestOptions</a></span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
-
- <p>Additional options to configure the request.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Promise.&lt;<a href="LuCI.Response.html">LuCI.Response</a>>
-
-
- </td>
- <td class="description last">The resulting HTTP response.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
- </dl>
-
-
-
- <h3 class="subsection-title">Type Definitions</h3>
-
- <dl>
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id=".interceptorFn">
-
- LuCI.Request.interceptorFn<span class="signature">(res)</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 822
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Interceptor functions are invoked whenever an HTTP reply is received, in the order
-these functions have been registered.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>res</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type"><a href="LuCI.Response.html">LuCI.Response</a></span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The HTTP response object</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id=".RequestOptions">LuCI.Request.RequestOptions<span class="type-signature type object">Object</span> </h4>
- </div>
-
-
-</dt>
-<dd>
-
-
-
-<dl class="details">
-
-
- <h5 class="subsection-title">Properties:</h5>
-
- <dl>
-
-<table class="props">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
- <th>Argument</th>
-
-
-
- <th>Default</th>
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>method</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
- <td class="attributes">
-
- &lt;optional><br>
-
-
-
- </td>
-
-
-
- <td class="default">
-
- GET
-
- </td>
-
-
- <td class="description last"><p>The HTTP method to use, e.g. <code>GET</code> or <code>POST</code>.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>query</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">Object.&lt;string, (Object|string)></span>
-
-
-
- </td>
-
-
- <td class="attributes">
-
- &lt;optional><br>
-
-
-
- </td>
-
-
-
- <td class="default">
-
- </td>
-
-
- <td class="description last"><p>Query string data to append to the URL. Non-string values of the
-given object will be converted to JSON.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>cache</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">boolean</span>
-
-
-
- </td>
-
-
- <td class="attributes">
-
- &lt;optional><br>
-
-
-
- </td>
-
-
-
- <td class="default">
-
- false
-
- </td>
-
-
- <td class="description last"><p>Specifies whether the HTTP response may be retrieved from cache.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>username</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
- <td class="attributes">
-
- &lt;optional><br>
-
-
-
- </td>
-
-
-
- <td class="default">
-
- </td>
-
-
- <td class="description last"><p>Provides a username for HTTP basic authentication.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>password</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
- <td class="attributes">
-
- &lt;optional><br>
-
-
-
- </td>
-
-
-
- <td class="default">
-
- </td>
-
-
- <td class="description last"><p>Provides a password for HTTP basic authentication.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>timeout</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">number</span>
-
-
-
- </td>
-
-
- <td class="attributes">
-
- &lt;optional><br>
-
-
-
- </td>
-
-
-
- <td class="default">
-
- </td>
-
-
- <td class="description last"><p>Specifies the request timeout in seconds.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>credentials</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">boolean</span>
-
-
-
- </td>
-
-
- <td class="attributes">
-
- &lt;optional><br>
-
-
-
- </td>
-
-
-
- <td class="default">
-
- false
-
- </td>
-
-
- <td class="description last"><p>Whether to include credentials such as cookies in the request.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>content</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">*</span>
-
-
-
- </td>
-
-
- <td class="attributes">
-
- &lt;optional><br>
-
-
-
- </td>
-
-
-
- <td class="default">
-
- </td>
-
-
- <td class="description last"><p>Specifies the HTTP message body to send along with the request.
-If the value is a function, it is invoked and the return value
-used as content, if it is a FormData instance, it is used as-is,
-if it is an object, it will be converted to JSON, in all other
-cases it is converted to a string.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>header</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">Object.&lt;string, string></span>
-
-
-
- </td>
-
-
- <td class="attributes">
-
- &lt;optional><br>
-
-
-
- </td>
-
-
-
- <td class="default">
-
- </td>
-
-
- <td class="description last"><p>Specifies HTTP headers to set for the request.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>progress</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">function</span>
-
-
-
- </td>
-
-
- <td class="attributes">
-
- &lt;optional><br>
-
-
-
- </td>
-
-
-
- <td class="default">
-
- </td>
-
-
- <td class="description last"><p>An optional request callback function which receives ProgressEvent
-instances as sole argument during the HTTP request transfer.</p></td>
- </tr>
-
-
- </tbody>
-</table></dl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-</dd>
-
- </dl>
-
-
-
-
-
-</article>
-
-</section>
-
-
-
-
-
-
-
- <footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Nov 05 2019 10:17:12 GMT+0100 (Central European Standard Time)
- </footer>
- </div>
-</div>
-<script>prettyPrint();</script>
-<script src="scripts/jaguar.js"></script>
-</body>
-</html> \ No newline at end of file
diff --git a/documentation/jsapi/LuCI.Request.poll.html b/documentation/jsapi/LuCI.Request.poll.html
deleted file mode 100644
index 656f91152b..0000000000
--- a/documentation/jsapi/LuCI.Request.poll.html
+++ /dev/null
@@ -1,1997 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <meta charset="utf-8">
- <title>Class: poll</title>
-
-
- <script src="scripts/prettify/prettify.js"></script>
- <script src="scripts/prettify/lang-css.js"></script>
- <script src="scripts/jquery.min.js"></script>
- <!--[if lt IE 9]>
- <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
- <![endif]-->
- <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
- <link type="text/css" rel="stylesheet" href="styles/bootstrap.min.css">
- <link type="text/css" rel="stylesheet" href="styles/jaguar.css">
-
-
- <script>
- var config = {"monospaceLinks":true,"cleverLinks":true,"default":{}};
- </script>
-
-
-
-</head>
-<body>
-<div id="wrap" class="clearfix">
-
-<div class="navigation">
- <h3 class="applicationName"><a href="index.html"></a></h3>
-
- <div class="search">
- <input id="search" type="text" class="form-control input-sm" placeholder="Search Documentations">
- </div>
- <ul class="list">
-
- <li class="item" data-name="LuCI">
- <span class="title">
- <a href="LuCI.html">LuCI</a>
-
- </span>
- <ul class="members itemMembers">
-
- <span class="subtitle">Members</span>
-
- <li data-name="LuCI#env"><a href="LuCI.html#env">env</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.requestCallbackFn"><a href="LuCI.html#.requestCallbackFn">requestCallbackFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI#bind"><a href="LuCI.html#bind">bind</a></li>
-
- <li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
-
- <li data-name="LuCI#get"><a href="LuCI.html#get">get</a></li>
-
- <li data-name="LuCI#halt"><a href="LuCI.html#halt">halt</a></li>
-
- <li data-name="LuCI#hasSystemFeature"><a href="LuCI.html#hasSystemFeature">hasSystemFeature</a></li>
-
- <li data-name="LuCI#isObject"><a href="LuCI.html#isObject">isObject</a></li>
-
- <li data-name="LuCI#location"><a href="LuCI.html#location">location</a></li>
-
- <li data-name="LuCI#path"><a href="LuCI.html#path">path</a></li>
-
- <li data-name="LuCI#poll"><a href="LuCI.html#poll">poll</a></li>
-
- <li data-name="LuCI#post"><a href="LuCI.html#post">post</a></li>
-
- <li data-name="LuCI#raise"><a href="LuCI.html#raise">raise</a></li>
-
- <li data-name="LuCI#require"><a href="LuCI.html#require">require</a></li>
-
- <li data-name="LuCI#resolveDefault"><a href="LuCI.html#resolveDefault">resolveDefault</a></li>
-
- <li data-name="LuCI#resource"><a href="LuCI.html#resource">resource</a></li>
-
- <li data-name="LuCI#run"><a href="LuCI.html#run">run</a></li>
-
- <li data-name="LuCI#sortedKeys"><a href="LuCI.html#sortedKeys">sortedKeys</a></li>
-
- <li data-name="LuCI#stop"><a href="LuCI.html#stop">stop</a></li>
-
- <li data-name="LuCI#toArray"><a href="LuCI.html#toArray">toArray</a></li>
-
- <li data-name="LuCI#url"><a href="LuCI.html#url">url</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Class">
- <span class="title">
- <a href="LuCI.Class.html">LuCI.Class</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Class.extend"><a href="LuCI.Class.html#.extend">extend</a></li>
-
- <li data-name="LuCI.Class.instantiate"><a href="LuCI.Class.html#.instantiate">instantiate</a></li>
-
- <li data-name="LuCI.Class.isSubclass"><a href="LuCI.Class.html#.isSubclass">isSubclass</a></li>
-
- <li data-name="LuCI.Class.singleton"><a href="LuCI.Class.html#.singleton">singleton</a></li>
-
- <li data-name="LuCI.Class#super"><a href="LuCI.Class.html#super">super</a></li>
-
- <li data-name="LuCI.Class#varargs"><a href="LuCI.Class.html#varargs">varargs</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.dom">
- <span class="title">
- <a href="LuCI.dom.html">LuCI.dom</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.dom~ignoreCallbackFn"><a href="LuCI.dom.html#~ignoreCallbackFn">ignoreCallbackFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.dom#append"><a href="LuCI.dom.html#append">append</a></li>
-
- <li data-name="LuCI.dom#attr"><a href="LuCI.dom.html#attr">attr</a></li>
-
- <li data-name="LuCI.dom#bindClassInstance"><a href="LuCI.dom.html#bindClassInstance">bindClassInstance</a></li>
-
- <li data-name="LuCI.dom#callClassMethod"><a href="LuCI.dom.html#callClassMethod">callClassMethod</a></li>
-
- <li data-name="LuCI.dom#content"><a href="LuCI.dom.html#content">content</a></li>
-
- <li data-name="LuCI.dom#create"><a href="LuCI.dom.html#create">create</a></li>
-
- <li data-name="LuCI.dom#data"><a href="LuCI.dom.html#data">data</a></li>
-
- <li data-name="LuCI.dom#elem"><a href="LuCI.dom.html#elem">elem</a></li>
-
- <li data-name="LuCI.dom#findClassInstance"><a href="LuCI.dom.html#findClassInstance">findClassInstance</a></li>
-
- <li data-name="LuCI.dom#isEmpty"><a href="LuCI.dom.html#isEmpty">isEmpty</a></li>
-
- <li data-name="LuCI.dom#matches"><a href="LuCI.dom.html#matches">matches</a></li>
-
- <li data-name="LuCI.dom#parent"><a href="LuCI.dom.html#parent">parent</a></li>
-
- <li data-name="LuCI.dom#parse"><a href="LuCI.dom.html#parse">parse</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.fs">
- <span class="title">
- <a href="LuCI.fs.html">LuCI.fs</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.fs.FileExecResult"><a href="LuCI.fs.html#.FileExecResult">FileExecResult</a></li>
-
- <li data-name="LuCI.fs.FileStatEntry"><a href="LuCI.fs.html#.FileStatEntry">FileStatEntry</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.fs#exec"><a href="LuCI.fs.html#exec">exec</a></li>
-
- <li data-name="LuCI.fs#lines"><a href="LuCI.fs.html#lines">lines</a></li>
-
- <li data-name="LuCI.fs#list"><a href="LuCI.fs.html#list">list</a></li>
-
- <li data-name="LuCI.fs#read"><a href="LuCI.fs.html#read">read</a></li>
-
- <li data-name="LuCI.fs#remove"><a href="LuCI.fs.html#remove">remove</a></li>
-
- <li data-name="LuCI.fs#stat"><a href="LuCI.fs.html#stat">stat</a></li>
-
- <li data-name="LuCI.fs#trimmed"><a href="LuCI.fs.html#trimmed">trimmed</a></li>
-
- <li data-name="LuCI.fs#write"><a href="LuCI.fs.html#write">write</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Headers">
- <span class="title">
- <a href="LuCI.Headers.html">LuCI.Headers</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Headers#get"><a href="LuCI.Headers.html#get">get</a></li>
-
- <li data-name="LuCI.Headers#has"><a href="LuCI.Headers.html#has">has</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network">
- <span class="title">
- <a href="LuCI.Network.html">LuCI.Network</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.Network.SwitchTopology"><a href="LuCI.Network.html#.SwitchTopology">SwitchTopology</a></li>
-
- <li data-name="LuCI.Network.WifiEncryption"><a href="LuCI.Network.html#.WifiEncryption">WifiEncryption</a></li>
-
- <li data-name="LuCI.Network.WifiPeerEntry"><a href="LuCI.Network.html#.WifiPeerEntry">WifiPeerEntry</a></li>
-
- <li data-name="LuCI.Network.WifiRateEntry"><a href="LuCI.Network.html#.WifiRateEntry">WifiRateEntry</a></li>
-
- <li data-name="LuCI.Network.WifiScanResult"><a href="LuCI.Network.html#.WifiScanResult">WifiScanResult</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network#addNetwork"><a href="LuCI.Network.html#addNetwork">addNetwork</a></li>
-
- <li data-name="LuCI.Network#addWifiNetwork"><a href="LuCI.Network.html#addWifiNetwork">addWifiNetwork</a></li>
-
- <li data-name="LuCI.Network#deleteNetwork"><a href="LuCI.Network.html#deleteNetwork">deleteNetwork</a></li>
-
- <li data-name="LuCI.Network#deleteWifiNetwork"><a href="LuCI.Network.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
-
- <li data-name="LuCI.Network#flushCache"><a href="LuCI.Network.html#flushCache">flushCache</a></li>
-
- <li data-name="LuCI.Network#formatWifiEncryption"><a href="LuCI.Network.html#formatWifiEncryption">formatWifiEncryption</a></li>
-
- <li data-name="LuCI.Network#getDevice"><a href="LuCI.Network.html#getDevice">getDevice</a></li>
-
- <li data-name="LuCI.Network#getDevices"><a href="LuCI.Network.html#getDevices">getDevices</a></li>
-
- <li data-name="LuCI.Network#getDSLModemType"><a href="LuCI.Network.html#getDSLModemType">getDSLModemType</a></li>
-
- <li data-name="LuCI.Network#getHostHints"><a href="LuCI.Network.html#getHostHints">getHostHints</a></li>
-
- <li data-name="LuCI.Network#getIfnameOf"><a href="LuCI.Network.html#getIfnameOf">getIfnameOf</a></li>
-
- <li data-name="LuCI.Network#getNetwork"><a href="LuCI.Network.html#getNetwork">getNetwork</a></li>
-
- <li data-name="LuCI.Network#getNetworks"><a href="LuCI.Network.html#getNetworks">getNetworks</a></li>
-
- <li data-name="LuCI.Network#getProtocol"><a href="LuCI.Network.html#getProtocol">getProtocol</a></li>
-
- <li data-name="LuCI.Network#getProtocols"><a href="LuCI.Network.html#getProtocols">getProtocols</a></li>
-
- <li data-name="LuCI.Network#getSwitchTopologies"><a href="LuCI.Network.html#getSwitchTopologies">getSwitchTopologies</a></li>
-
- <li data-name="LuCI.Network#getWAN6Networks"><a href="LuCI.Network.html#getWAN6Networks">getWAN6Networks</a></li>
-
- <li data-name="LuCI.Network#getWANNetworks"><a href="LuCI.Network.html#getWANNetworks">getWANNetworks</a></li>
-
- <li data-name="LuCI.Network#getWifiDevice"><a href="LuCI.Network.html#getWifiDevice">getWifiDevice</a></li>
-
- <li data-name="LuCI.Network#getWifiDevices"><a href="LuCI.Network.html#getWifiDevices">getWifiDevices</a></li>
-
- <li data-name="LuCI.Network#getWifiNetwork"><a href="LuCI.Network.html#getWifiNetwork">getWifiNetwork</a></li>
-
- <li data-name="LuCI.Network#isIgnoredDevice"><a href="LuCI.Network.html#isIgnoredDevice">isIgnoredDevice</a></li>
-
- <li data-name="LuCI.Network#maskToPrefix"><a href="LuCI.Network.html#maskToPrefix">maskToPrefix</a></li>
-
- <li data-name="LuCI.Network#prefixToMask"><a href="LuCI.Network.html#prefixToMask">prefixToMask</a></li>
-
- <li data-name="LuCI.Network#registerErrorCode"><a href="LuCI.Network.html#registerErrorCode">registerErrorCode</a></li>
-
- <li data-name="LuCI.Network#registerPatternVirtual"><a href="LuCI.Network.html#registerPatternVirtual">registerPatternVirtual</a></li>
-
- <li data-name="LuCI.Network#registerProtocol"><a href="LuCI.Network.html#registerProtocol">registerProtocol</a></li>
-
- <li data-name="LuCI.Network#renameNetwork"><a href="LuCI.Network.html#renameNetwork">renameNetwork</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.Device">
- <span class="title">
- <a href="LuCI.Network.Device.html">LuCI.Network.Device</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.Device#getBridgeID"><a href="LuCI.Network.Device.html#getBridgeID">getBridgeID</a></li>
-
- <li data-name="LuCI.Network.Device#getBridgeSTP"><a href="LuCI.Network.Device.html#getBridgeSTP">getBridgeSTP</a></li>
-
- <li data-name="LuCI.Network.Device#getI18n"><a href="LuCI.Network.Device.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.Device#getIP6Addrs"><a href="LuCI.Network.Device.html#getIP6Addrs">getIP6Addrs</a></li>
-
- <li data-name="LuCI.Network.Device#getIPAddrs"><a href="LuCI.Network.Device.html#getIPAddrs">getIPAddrs</a></li>
-
- <li data-name="LuCI.Network.Device#getMAC"><a href="LuCI.Network.Device.html#getMAC">getMAC</a></li>
-
- <li data-name="LuCI.Network.Device#getMTU"><a href="LuCI.Network.Device.html#getMTU">getMTU</a></li>
-
- <li data-name="LuCI.Network.Device#getName"><a href="LuCI.Network.Device.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.Device#getNetwork"><a href="LuCI.Network.Device.html#getNetwork">getNetwork</a></li>
-
- <li data-name="LuCI.Network.Device#getNetworks"><a href="LuCI.Network.Device.html#getNetworks">getNetworks</a></li>
-
- <li data-name="LuCI.Network.Device#getPorts"><a href="LuCI.Network.Device.html#getPorts">getPorts</a></li>
-
- <li data-name="LuCI.Network.Device#getRXBytes"><a href="LuCI.Network.Device.html#getRXBytes">getRXBytes</a></li>
-
- <li data-name="LuCI.Network.Device#getRXPackets"><a href="LuCI.Network.Device.html#getRXPackets">getRXPackets</a></li>
-
- <li data-name="LuCI.Network.Device#getShortName"><a href="LuCI.Network.Device.html#getShortName">getShortName</a></li>
-
- <li data-name="LuCI.Network.Device#getTXBytes"><a href="LuCI.Network.Device.html#getTXBytes">getTXBytes</a></li>
-
- <li data-name="LuCI.Network.Device#getTXPackets"><a href="LuCI.Network.Device.html#getTXPackets">getTXPackets</a></li>
-
- <li data-name="LuCI.Network.Device#getType"><a href="LuCI.Network.Device.html#getType">getType</a></li>
-
- <li data-name="LuCI.Network.Device#getTypeI18n"><a href="LuCI.Network.Device.html#getTypeI18n">getTypeI18n</a></li>
-
- <li data-name="LuCI.Network.Device#getWifiNetwork"><a href="LuCI.Network.Device.html#getWifiNetwork">getWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.Device#isBridge"><a href="LuCI.Network.Device.html#isBridge">isBridge</a></li>
-
- <li data-name="LuCI.Network.Device#isBridgePort"><a href="LuCI.Network.Device.html#isBridgePort">isBridgePort</a></li>
-
- <li data-name="LuCI.Network.Device#isUp"><a href="LuCI.Network.Device.html#isUp">isUp</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.Hosts">
- <span class="title">
- <a href="LuCI.Network.Hosts.html">LuCI.Network.Hosts</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.Hosts#getHostnameByIP6Addr"><a href="LuCI.Network.Hosts.html#getHostnameByIP6Addr">getHostnameByIP6Addr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getHostnameByIPAddr"><a href="LuCI.Network.Hosts.html#getHostnameByIPAddr">getHostnameByIPAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getHostnameByMACAddr"><a href="LuCI.Network.Hosts.html#getHostnameByMACAddr">getHostnameByMACAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getIP6AddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIP6AddrByMACAddr">getIP6AddrByMACAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getIPAddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIPAddrByMACAddr">getIPAddrByMACAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getMACAddrByIP6Addr"><a href="LuCI.Network.Hosts.html#getMACAddrByIP6Addr">getMACAddrByIP6Addr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getMACAddrByIPAddr"><a href="LuCI.Network.Hosts.html#getMACAddrByIPAddr">getMACAddrByIPAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getMACHints"><a href="LuCI.Network.Hosts.html#getMACHints">getMACHints</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.Protocol">
- <span class="title">
- <a href="LuCI.Network.Protocol.html">LuCI.Network.Protocol</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.Protocol#addDevice"><a href="LuCI.Network.Protocol.html#addDevice">addDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#containsDevice"><a href="LuCI.Network.Protocol.html#containsDevice">containsDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#deleteDevice"><a href="LuCI.Network.Protocol.html#deleteDevice">deleteDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#get"><a href="LuCI.Network.Protocol.html#get">get</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDevice"><a href="LuCI.Network.Protocol.html#getDevice">getDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDevices"><a href="LuCI.Network.Protocol.html#getDevices">getDevices</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDNS6Addrs"><a href="LuCI.Network.Protocol.html#getDNS6Addrs">getDNS6Addrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDNSAddrs"><a href="LuCI.Network.Protocol.html#getDNSAddrs">getDNSAddrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getErrors"><a href="LuCI.Network.Protocol.html#getErrors">getErrors</a></li>
-
- <li data-name="LuCI.Network.Protocol#getExpiry"><a href="LuCI.Network.Protocol.html#getExpiry">getExpiry</a></li>
-
- <li data-name="LuCI.Network.Protocol#getGateway6Addr"><a href="LuCI.Network.Protocol.html#getGateway6Addr">getGateway6Addr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getGatewayAddr"><a href="LuCI.Network.Protocol.html#getGatewayAddr">getGatewayAddr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getI18n"><a href="LuCI.Network.Protocol.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIfname"><a href="LuCI.Network.Protocol.html#getIfname">getIfname</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIP6Addr"><a href="LuCI.Network.Protocol.html#getIP6Addr">getIP6Addr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIP6Addrs"><a href="LuCI.Network.Protocol.html#getIP6Addrs">getIP6Addrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIP6Prefix"><a href="LuCI.Network.Protocol.html#getIP6Prefix">getIP6Prefix</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIPAddr"><a href="LuCI.Network.Protocol.html#getIPAddr">getIPAddr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIPAddrs"><a href="LuCI.Network.Protocol.html#getIPAddrs">getIPAddrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getL2Device"><a href="LuCI.Network.Protocol.html#getL2Device">getL2Device</a></li>
-
- <li data-name="LuCI.Network.Protocol#getL3Device"><a href="LuCI.Network.Protocol.html#getL3Device">getL3Device</a></li>
-
- <li data-name="LuCI.Network.Protocol#getMetric"><a href="LuCI.Network.Protocol.html#getMetric">getMetric</a></li>
-
- <li data-name="LuCI.Network.Protocol#getName"><a href="LuCI.Network.Protocol.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.Protocol#getNetmask"><a href="LuCI.Network.Protocol.html#getNetmask">getNetmask</a></li>
-
- <li data-name="LuCI.Network.Protocol#getOpkgPackage"><a href="LuCI.Network.Protocol.html#getOpkgPackage">getOpkgPackage</a></li>
-
- <li data-name="LuCI.Network.Protocol#getProtocol"><a href="LuCI.Network.Protocol.html#getProtocol">getProtocol</a></li>
-
- <li data-name="LuCI.Network.Protocol#getType"><a href="LuCI.Network.Protocol.html#getType">getType</a></li>
-
- <li data-name="LuCI.Network.Protocol#getUptime"><a href="LuCI.Network.Protocol.html#getUptime">getUptime</a></li>
-
- <li data-name="LuCI.Network.Protocol#getZoneName"><a href="LuCI.Network.Protocol.html#getZoneName">getZoneName</a></li>
-
- <li data-name="LuCI.Network.Protocol#isAlias"><a href="LuCI.Network.Protocol.html#isAlias">isAlias</a></li>
-
- <li data-name="LuCI.Network.Protocol#isBridge"><a href="LuCI.Network.Protocol.html#isBridge">isBridge</a></li>
-
- <li data-name="LuCI.Network.Protocol#isDynamic"><a href="LuCI.Network.Protocol.html#isDynamic">isDynamic</a></li>
-
- <li data-name="LuCI.Network.Protocol#isEmpty"><a href="LuCI.Network.Protocol.html#isEmpty">isEmpty</a></li>
-
- <li data-name="LuCI.Network.Protocol#isFloating"><a href="LuCI.Network.Protocol.html#isFloating">isFloating</a></li>
-
- <li data-name="LuCI.Network.Protocol#isInstalled"><a href="LuCI.Network.Protocol.html#isInstalled">isInstalled</a></li>
-
- <li data-name="LuCI.Network.Protocol#isUp"><a href="LuCI.Network.Protocol.html#isUp">isUp</a></li>
-
- <li data-name="LuCI.Network.Protocol#isVirtual"><a href="LuCI.Network.Protocol.html#isVirtual">isVirtual</a></li>
-
- <li data-name="LuCI.Network.Protocol#set"><a href="LuCI.Network.Protocol.html#set">set</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.WifiDevice">
- <span class="title">
- <a href="LuCI.Network.WifiDevice.html">LuCI.Network.WifiDevice</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.WifiDevice#addWifiNetwork"><a href="LuCI.Network.WifiDevice.html#addWifiNetwork">addWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#deleteWifiNetwork"><a href="LuCI.Network.WifiDevice.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#get"><a href="LuCI.Network.WifiDevice.html#get">get</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getHTModes"><a href="LuCI.Network.WifiDevice.html#getHTModes">getHTModes</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getHWModes"><a href="LuCI.Network.WifiDevice.html#getHWModes">getHWModes</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getI18n"><a href="LuCI.Network.WifiDevice.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getName"><a href="LuCI.Network.WifiDevice.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getScanList"><a href="LuCI.Network.WifiDevice.html#getScanList">getScanList</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getWifiNetwork"><a href="LuCI.Network.WifiDevice.html#getWifiNetwork">getWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getWifiNetworks"><a href="LuCI.Network.WifiDevice.html#getWifiNetworks">getWifiNetworks</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#isDisabled"><a href="LuCI.Network.WifiDevice.html#isDisabled">isDisabled</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#isUp"><a href="LuCI.Network.WifiDevice.html#isUp">isUp</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#set"><a href="LuCI.Network.WifiDevice.html#set">set</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.WifiNetwork">
- <span class="title">
- <a href="LuCI.Network.WifiNetwork.html">LuCI.Network.WifiNetwork</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.WifiNetwork#get"><a href="LuCI.Network.WifiNetwork.html#get">get</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveBSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveBSSID">getActiveBSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveEncryption"><a href="LuCI.Network.WifiNetwork.html#getActiveEncryption">getActiveEncryption</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveMode"><a href="LuCI.Network.WifiNetwork.html#getActiveMode">getActiveMode</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveModeI18n"><a href="LuCI.Network.WifiNetwork.html#getActiveModeI18n">getActiveModeI18n</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveSSID">getActiveSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getAssocList"><a href="LuCI.Network.WifiNetwork.html#getAssocList">getAssocList</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getBitRate"><a href="LuCI.Network.WifiNetwork.html#getBitRate">getBitRate</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getBSSID"><a href="LuCI.Network.WifiNetwork.html#getBSSID">getBSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getChannel"><a href="LuCI.Network.WifiNetwork.html#getChannel">getChannel</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getCountryCode"><a href="LuCI.Network.WifiNetwork.html#getCountryCode">getCountryCode</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getDevice"><a href="LuCI.Network.WifiNetwork.html#getDevice">getDevice</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getFrequency"><a href="LuCI.Network.WifiNetwork.html#getFrequency">getFrequency</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getI18n"><a href="LuCI.Network.WifiNetwork.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getID"><a href="LuCI.Network.WifiNetwork.html#getID">getID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getIfname"><a href="LuCI.Network.WifiNetwork.html#getIfname">getIfname</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getMeshID"><a href="LuCI.Network.WifiNetwork.html#getMeshID">getMeshID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getMode"><a href="LuCI.Network.WifiNetwork.html#getMode">getMode</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getName"><a href="LuCI.Network.WifiNetwork.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNetwork"><a href="LuCI.Network.WifiNetwork.html#getNetwork">getNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNetworkNames"><a href="LuCI.Network.WifiNetwork.html#getNetworkNames">getNetworkNames</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNetworks"><a href="LuCI.Network.WifiNetwork.html#getNetworks">getNetworks</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNoise"><a href="LuCI.Network.WifiNetwork.html#getNoise">getNoise</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getShortName"><a href="LuCI.Network.WifiNetwork.html#getShortName">getShortName</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSignal"><a href="LuCI.Network.WifiNetwork.html#getSignal">getSignal</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSignalLevel"><a href="LuCI.Network.WifiNetwork.html#getSignalLevel">getSignalLevel</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSignalPercent"><a href="LuCI.Network.WifiNetwork.html#getSignalPercent">getSignalPercent</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSSID"><a href="LuCI.Network.WifiNetwork.html#getSSID">getSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getTXPower"><a href="LuCI.Network.WifiNetwork.html#getTXPower">getTXPower</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getTXPowerOffset"><a href="LuCI.Network.WifiNetwork.html#getTXPowerOffset">getTXPowerOffset</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getWifiDevice"><a href="LuCI.Network.WifiNetwork.html#getWifiDevice">getWifiDevice</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getWifiDeviceName"><a href="LuCI.Network.WifiNetwork.html#getWifiDeviceName">getWifiDeviceName</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#isDisabled"><a href="LuCI.Network.WifiNetwork.html#isDisabled">isDisabled</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#isUp"><a href="LuCI.Network.WifiNetwork.html#isUp">isUp</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#set"><a href="LuCI.Network.WifiNetwork.html#set">set</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Poll">
- <span class="title">
- <a href="LuCI.Poll.html">LuCI.Poll</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Poll#active"><a href="LuCI.Poll.html#active">active</a></li>
-
- <li data-name="LuCI.Poll#add"><a href="LuCI.Poll.html#add">add</a></li>
-
- <li data-name="LuCI.Poll#remove"><a href="LuCI.Poll.html#remove">remove</a></li>
-
- <li data-name="LuCI.Poll#start"><a href="LuCI.Poll.html#start">start</a></li>
-
- <li data-name="LuCI.Poll#stop"><a href="LuCI.Poll.html#stop">stop</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Request">
- <span class="title">
- <a href="LuCI.Request.html">LuCI.Request</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.Request.interceptorFn"><a href="LuCI.Request.html#.interceptorFn">interceptorFn</a></li>
-
- <li data-name="LuCI.Request.RequestOptions"><a href="LuCI.Request.html#.RequestOptions">RequestOptions</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Request#addInterceptor"><a href="LuCI.Request.html#addInterceptor">addInterceptor</a></li>
-
- <li data-name="LuCI.Request#expandURL"><a href="LuCI.Request.html#expandURL">expandURL</a></li>
-
- <li data-name="LuCI.Request#get"><a href="LuCI.Request.html#get">get</a></li>
-
- <li data-name="LuCI.Request#post"><a href="LuCI.Request.html#post">post</a></li>
-
- <li data-name="LuCI.Request#removeInterceptor"><a href="LuCI.Request.html#removeInterceptor">removeInterceptor</a></li>
-
- <li data-name="LuCI.Request#request"><a href="LuCI.Request.html#request">request</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Request.poll">
- <span class="title">
- <a href="LuCI.Request.poll.html">LuCI.Request.poll</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.Request.poll~callbackFn"><a href="LuCI.Request.poll.html#~callbackFn">callbackFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Request.poll#active"><a href="LuCI.Request.poll.html#active">active</a></li>
-
- <li data-name="LuCI.Request.poll#add"><a href="LuCI.Request.poll.html#add">add</a></li>
-
- <li data-name="LuCI.Request.poll#remove"><a href="LuCI.Request.poll.html#remove">remove</a></li>
-
- <li data-name="LuCI.Request.poll#start"><a href="LuCI.Request.poll.html#start">start</a></li>
-
- <li data-name="LuCI.Request.poll#stop"><a href="LuCI.Request.poll.html#stop">stop</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Response">
- <span class="title">
- <a href="LuCI.Response.html">LuCI.Response</a>
-
- </span>
- <ul class="members itemMembers">
-
- <span class="subtitle">Members</span>
-
- <li data-name="LuCI.Response#duration"><a href="LuCI.Response.html#duration">duration</a></li>
-
- <li data-name="LuCI.Response#headers"><a href="LuCI.Response.html#headers">headers</a></li>
-
- <li data-name="LuCI.Response#ok"><a href="LuCI.Response.html#ok">ok</a></li>
-
- <li data-name="LuCI.Response#status"><a href="LuCI.Response.html#status">status</a></li>
-
- <li data-name="LuCI.Response#statusText"><a href="LuCI.Response.html#statusText">statusText</a></li>
-
- <li data-name="LuCI.Response#url"><a href="LuCI.Response.html#url">url</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Response#clone"><a href="LuCI.Response.html#clone">clone</a></li>
-
- <li data-name="LuCI.Response#json"><a href="LuCI.Response.html#json">json</a></li>
-
- <li data-name="LuCI.Response#text"><a href="LuCI.Response.html#text">text</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.rpc">
- <span class="title">
- <a href="LuCI.rpc.html">LuCI.rpc</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.rpc.DeclareOptions"><a href="LuCI.rpc.html#.DeclareOptions">DeclareOptions</a></li>
-
- <li data-name="LuCI.rpc~filterFn"><a href="LuCI.rpc.html#~filterFn">filterFn</a></li>
-
- <li data-name="LuCI.rpc~interceptorFn"><a href="LuCI.rpc.html#~interceptorFn">interceptorFn</a></li>
-
- <li data-name="LuCI.rpc~invokeFn"><a href="LuCI.rpc.html#~invokeFn">invokeFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.rpc#addInterceptor"><a href="LuCI.rpc.html#addInterceptor">addInterceptor</a></li>
-
- <li data-name="LuCI.rpc#declare"><a href="LuCI.rpc.html#declare">declare</a></li>
-
- <li data-name="LuCI.rpc#getBaseURL"><a href="LuCI.rpc.html#getBaseURL">getBaseURL</a></li>
-
- <li data-name="LuCI.rpc#getSessionID"><a href="LuCI.rpc.html#getSessionID">getSessionID</a></li>
-
- <li data-name="LuCI.rpc#getStatusText"><a href="LuCI.rpc.html#getStatusText">getStatusText</a></li>
-
- <li data-name="LuCI.rpc#list"><a href="LuCI.rpc.html#list">list</a></li>
-
- <li data-name="LuCI.rpc#removeInterceptor"><a href="LuCI.rpc.html#removeInterceptor">removeInterceptor</a></li>
-
- <li data-name="LuCI.rpc#setBaseURL"><a href="LuCI.rpc.html#setBaseURL">setBaseURL</a></li>
-
- <li data-name="LuCI.rpc#setSessionID"><a href="LuCI.rpc.html#setSessionID">setSessionID</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.uci">
- <span class="title">
- <a href="LuCI.uci.html">LuCI.uci</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.uci.ChangeRecord"><a href="LuCI.uci.html#.ChangeRecord">ChangeRecord</a></li>
-
- <li data-name="LuCI.uci.SectionObject"><a href="LuCI.uci.html#.SectionObject">SectionObject</a></li>
-
- <li data-name="LuCI.uci~sectionsFn"><a href="LuCI.uci.html#~sectionsFn">sectionsFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.uci#add"><a href="LuCI.uci.html#add">add</a></li>
-
- <li data-name="LuCI.uci#apply"><a href="LuCI.uci.html#apply">apply</a></li>
-
- <li data-name="LuCI.uci#changes"><a href="LuCI.uci.html#changes">changes</a></li>
-
- <li data-name="LuCI.uci#createSID"><a href="LuCI.uci.html#createSID">createSID</a></li>
-
- <li data-name="LuCI.uci#get"><a href="LuCI.uci.html#get">get</a></li>
-
- <li data-name="LuCI.uci#get_first"><a href="LuCI.uci.html#get_first">get_first</a></li>
-
- <li data-name="LuCI.uci#load"><a href="LuCI.uci.html#load">load</a></li>
-
- <li data-name="LuCI.uci#move"><a href="LuCI.uci.html#move">move</a></li>
-
- <li data-name="LuCI.uci#remove"><a href="LuCI.uci.html#remove">remove</a></li>
-
- <li data-name="LuCI.uci#resolveSID"><a href="LuCI.uci.html#resolveSID">resolveSID</a></li>
-
- <li data-name="LuCI.uci#save"><a href="LuCI.uci.html#save">save</a></li>
-
- <li data-name="LuCI.uci#sections"><a href="LuCI.uci.html#sections">sections</a></li>
-
- <li data-name="LuCI.uci#set"><a href="LuCI.uci.html#set">set</a></li>
-
- <li data-name="LuCI.uci#set_first"><a href="LuCI.uci.html#set_first">set_first</a></li>
-
- <li data-name="LuCI.uci#unload"><a href="LuCI.uci.html#unload">unload</a></li>
-
- <li data-name="LuCI.uci#unset"><a href="LuCI.uci.html#unset">unset</a></li>
-
- <li data-name="LuCI.uci#unset_first"><a href="LuCI.uci.html#unset_first">unset_first</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.view">
- <span class="title">
- <a href="LuCI.view.html">LuCI.view</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.view#addFooter"><a href="LuCI.view.html#addFooter">addFooter</a></li>
-
- <li data-name="LuCI.view#handleReset"><a href="LuCI.view.html#handleReset">handleReset</a></li>
-
- <li data-name="LuCI.view#handleSave"><a href="LuCI.view.html#handleSave">handleSave</a></li>
-
- <li data-name="LuCI.view#handleSaveApply"><a href="LuCI.view.html#handleSaveApply">handleSaveApply</a></li>
-
- <li data-name="LuCI.view#load"><a href="LuCI.view.html#load">load</a></li>
-
- <li data-name="LuCI.view#render"><a href="LuCI.view.html#render">render</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.XHR">
- <span class="title">
- <a href="LuCI.XHR.html">LuCI.XHR</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.XHR#abort"><a href="LuCI.XHR.html#abort">abort</a></li>
-
- <li data-name="LuCI.XHR#busy"><a href="LuCI.XHR.html#busy">busy</a></li>
-
- <li data-name="LuCI.XHR#cancel"><a href="LuCI.XHR.html#cancel">cancel</a></li>
-
- <li data-name="LuCI.XHR#get"><a href="LuCI.XHR.html#get">get</a></li>
-
- <li data-name="LuCI.XHR#post"><a href="LuCI.XHR.html#post">post</a></li>
-
- <li data-name="LuCI.XHR#send_form"><a href="LuCI.XHR.html#send_form">send_form</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- </ul>
-</div>
- <div class="main">
- <h1 class="page-title" data-filename="LuCI.Request.poll.html">Class: poll</h1>
-
-
-
-
-<section>
-
-<header>
- <h2>
- <span class="ancestors"><a href="LuCI.html">LuCI</a><a href="LuCI.Request.html">.Request</a>.</span>
-
- poll
- </h2>
-
- <div class="class-description"><p>The <code>Request.poll</code> class provides some convience wrappers around
-<a href="LuCI.Poll.html"><code>LuCI.Poll</code></a> mainly to simplify registering repeating HTTP
-request calls as polling functions.</p></div>
-
-</header>
-
-<article>
- <div class="container-overview">
-
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="poll">
-
- new LuCI.Request.poll<span class="signature">()</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 881
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dd>
-
-
- </div>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- <h3 class="subsection-title">Methods</h3>
-
- <dl>
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="active">
-
- active<span class="signature">()</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 985
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Alias for <code>LuCI.Poll.active()</code>.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="add">
-
- add<span class="signature">(interval, url, <span class="optional">options</span>, <span class="optional">callback</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{function}</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 924
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Register a repeating HTTP request with an optional callback
-to invoke whenever a response for the request is received.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>interval</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">number</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
-
-
-
-
- <p>The poll interval in seconds.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>url</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
-
-
-
-
- <p>The URL to request on each poll.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>options</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type"><a href="LuCI.Request.html#.RequestOptions">LuCI.Request.RequestOptions</a></span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
-
- <p>Additional options to configure the request.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>callback</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type"><a href="LuCI.Request.poll.html#~callbackFn">LuCI.Request.poll~callbackFn</a></span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
-
- <p><a href="LuCI.Request.poll.html#~callbackFn"><code>Callback</code></a> function to
-invoke for each HTTP reply.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
- <h5>Throws:</h5>
-
-
-
-<dl>
- <dt>
- <div class="param-desc">
- <p>Throws <code>TypeError</code> when an invalid interval was passed.</p>
- </div>
- </dt>
- <dt>
- <dl>
- <dt>
- Type
- </dt>
- <dd>
-
-<span class="param-type">TypeError</span>
-
-
- </dd>
- </dl>
- </dt>
-</dl>
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- function
-
-
- </td>
- <td class="description last">Returns the internally created poll function.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="remove">
-
- remove<span class="signature">(entry)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 961
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Remove a polling request that has been previously added using <code>add()</code>.
-This function is essentially a wrapper around
-<code>LuCI.Poll.remove()</code>.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>entry</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">function</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The poll function returned by <a href="LuCI.Request.poll.html#add"><code>add()</code></a>.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- boolean
-
-
- </td>
- <td class="description last">Returns <code>true</code> if any function has been removed, else <code>false</code>.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="start">
-
- start<span class="signature">()</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 969
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Alias for <code>LuCI.Poll.start()</code>.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="stop">
-
- stop<span class="signature">()</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 977
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Alias for <code>LuCI.Poll.stop()</code>.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dd>
-
- </dl>
-
-
-
- <h3 class="subsection-title">Type Definitions</h3>
-
- <dl>
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="~callbackFn">
-
- callbackFn<span class="signature">(res, data, duration)</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 882
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>The callback function is invoked whenever an HTTP reply to a
-polled request is received or when the polled request timed
-out.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>res</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type"><a href="LuCI.Response.html">LuCI.Response</a></span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The HTTP response object.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>data</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">*</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The response JSON if the response could be parsed as such,
-else <code>null</code>.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>duration</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">number</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The total duration of the request in milliseconds.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dd>
-
- </dl>
-
-
-
-
-
-</article>
-
-</section>
-
-
-
-
-
-
-
- <footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Nov 05 2019 10:17:12 GMT+0100 (Central European Standard Time)
- </footer>
- </div>
-</div>
-<script>prettyPrint();</script>
-<script src="scripts/jaguar.js"></script>
-</body>
-</html> \ No newline at end of file
diff --git a/documentation/jsapi/LuCI.Response.html b/documentation/jsapi/LuCI.Response.html
deleted file mode 100644
index a7398ef507..0000000000
--- a/documentation/jsapi/LuCI.Response.html
+++ /dev/null
@@ -1,1855 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <meta charset="utf-8">
- <title>Class: Response</title>
-
-
- <script src="scripts/prettify/prettify.js"></script>
- <script src="scripts/prettify/lang-css.js"></script>
- <script src="scripts/jquery.min.js"></script>
- <!--[if lt IE 9]>
- <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
- <![endif]-->
- <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
- <link type="text/css" rel="stylesheet" href="styles/bootstrap.min.css">
- <link type="text/css" rel="stylesheet" href="styles/jaguar.css">
-
-
- <script>
- var config = {"monospaceLinks":true,"cleverLinks":true,"default":{}};
- </script>
-
-
-
-</head>
-<body>
-<div id="wrap" class="clearfix">
-
-<div class="navigation">
- <h3 class="applicationName"><a href="index.html"></a></h3>
-
- <div class="search">
- <input id="search" type="text" class="form-control input-sm" placeholder="Search Documentations">
- </div>
- <ul class="list">
-
- <li class="item" data-name="LuCI">
- <span class="title">
- <a href="LuCI.html">LuCI</a>
-
- </span>
- <ul class="members itemMembers">
-
- <span class="subtitle">Members</span>
-
- <li data-name="LuCI#env"><a href="LuCI.html#env">env</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.requestCallbackFn"><a href="LuCI.html#.requestCallbackFn">requestCallbackFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI#bind"><a href="LuCI.html#bind">bind</a></li>
-
- <li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
-
- <li data-name="LuCI#get"><a href="LuCI.html#get">get</a></li>
-
- <li data-name="LuCI#halt"><a href="LuCI.html#halt">halt</a></li>
-
- <li data-name="LuCI#hasSystemFeature"><a href="LuCI.html#hasSystemFeature">hasSystemFeature</a></li>
-
- <li data-name="LuCI#isObject"><a href="LuCI.html#isObject">isObject</a></li>
-
- <li data-name="LuCI#location"><a href="LuCI.html#location">location</a></li>
-
- <li data-name="LuCI#path"><a href="LuCI.html#path">path</a></li>
-
- <li data-name="LuCI#poll"><a href="LuCI.html#poll">poll</a></li>
-
- <li data-name="LuCI#post"><a href="LuCI.html#post">post</a></li>
-
- <li data-name="LuCI#raise"><a href="LuCI.html#raise">raise</a></li>
-
- <li data-name="LuCI#require"><a href="LuCI.html#require">require</a></li>
-
- <li data-name="LuCI#resolveDefault"><a href="LuCI.html#resolveDefault">resolveDefault</a></li>
-
- <li data-name="LuCI#resource"><a href="LuCI.html#resource">resource</a></li>
-
- <li data-name="LuCI#run"><a href="LuCI.html#run">run</a></li>
-
- <li data-name="LuCI#sortedKeys"><a href="LuCI.html#sortedKeys">sortedKeys</a></li>
-
- <li data-name="LuCI#stop"><a href="LuCI.html#stop">stop</a></li>
-
- <li data-name="LuCI#toArray"><a href="LuCI.html#toArray">toArray</a></li>
-
- <li data-name="LuCI#url"><a href="LuCI.html#url">url</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Class">
- <span class="title">
- <a href="LuCI.Class.html">LuCI.Class</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Class.extend"><a href="LuCI.Class.html#.extend">extend</a></li>
-
- <li data-name="LuCI.Class.instantiate"><a href="LuCI.Class.html#.instantiate">instantiate</a></li>
-
- <li data-name="LuCI.Class.isSubclass"><a href="LuCI.Class.html#.isSubclass">isSubclass</a></li>
-
- <li data-name="LuCI.Class.singleton"><a href="LuCI.Class.html#.singleton">singleton</a></li>
-
- <li data-name="LuCI.Class#super"><a href="LuCI.Class.html#super">super</a></li>
-
- <li data-name="LuCI.Class#varargs"><a href="LuCI.Class.html#varargs">varargs</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.dom">
- <span class="title">
- <a href="LuCI.dom.html">LuCI.dom</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.dom~ignoreCallbackFn"><a href="LuCI.dom.html#~ignoreCallbackFn">ignoreCallbackFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.dom#append"><a href="LuCI.dom.html#append">append</a></li>
-
- <li data-name="LuCI.dom#attr"><a href="LuCI.dom.html#attr">attr</a></li>
-
- <li data-name="LuCI.dom#bindClassInstance"><a href="LuCI.dom.html#bindClassInstance">bindClassInstance</a></li>
-
- <li data-name="LuCI.dom#callClassMethod"><a href="LuCI.dom.html#callClassMethod">callClassMethod</a></li>
-
- <li data-name="LuCI.dom#content"><a href="LuCI.dom.html#content">content</a></li>
-
- <li data-name="LuCI.dom#create"><a href="LuCI.dom.html#create">create</a></li>
-
- <li data-name="LuCI.dom#data"><a href="LuCI.dom.html#data">data</a></li>
-
- <li data-name="LuCI.dom#elem"><a href="LuCI.dom.html#elem">elem</a></li>
-
- <li data-name="LuCI.dom#findClassInstance"><a href="LuCI.dom.html#findClassInstance">findClassInstance</a></li>
-
- <li data-name="LuCI.dom#isEmpty"><a href="LuCI.dom.html#isEmpty">isEmpty</a></li>
-
- <li data-name="LuCI.dom#matches"><a href="LuCI.dom.html#matches">matches</a></li>
-
- <li data-name="LuCI.dom#parent"><a href="LuCI.dom.html#parent">parent</a></li>
-
- <li data-name="LuCI.dom#parse"><a href="LuCI.dom.html#parse">parse</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.fs">
- <span class="title">
- <a href="LuCI.fs.html">LuCI.fs</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.fs.FileExecResult"><a href="LuCI.fs.html#.FileExecResult">FileExecResult</a></li>
-
- <li data-name="LuCI.fs.FileStatEntry"><a href="LuCI.fs.html#.FileStatEntry">FileStatEntry</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.fs#exec"><a href="LuCI.fs.html#exec">exec</a></li>
-
- <li data-name="LuCI.fs#lines"><a href="LuCI.fs.html#lines">lines</a></li>
-
- <li data-name="LuCI.fs#list"><a href="LuCI.fs.html#list">list</a></li>
-
- <li data-name="LuCI.fs#read"><a href="LuCI.fs.html#read">read</a></li>
-
- <li data-name="LuCI.fs#remove"><a href="LuCI.fs.html#remove">remove</a></li>
-
- <li data-name="LuCI.fs#stat"><a href="LuCI.fs.html#stat">stat</a></li>
-
- <li data-name="LuCI.fs#trimmed"><a href="LuCI.fs.html#trimmed">trimmed</a></li>
-
- <li data-name="LuCI.fs#write"><a href="LuCI.fs.html#write">write</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Headers">
- <span class="title">
- <a href="LuCI.Headers.html">LuCI.Headers</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Headers#get"><a href="LuCI.Headers.html#get">get</a></li>
-
- <li data-name="LuCI.Headers#has"><a href="LuCI.Headers.html#has">has</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network">
- <span class="title">
- <a href="LuCI.Network.html">LuCI.Network</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.Network.SwitchTopology"><a href="LuCI.Network.html#.SwitchTopology">SwitchTopology</a></li>
-
- <li data-name="LuCI.Network.WifiEncryption"><a href="LuCI.Network.html#.WifiEncryption">WifiEncryption</a></li>
-
- <li data-name="LuCI.Network.WifiPeerEntry"><a href="LuCI.Network.html#.WifiPeerEntry">WifiPeerEntry</a></li>
-
- <li data-name="LuCI.Network.WifiRateEntry"><a href="LuCI.Network.html#.WifiRateEntry">WifiRateEntry</a></li>
-
- <li data-name="LuCI.Network.WifiScanResult"><a href="LuCI.Network.html#.WifiScanResult">WifiScanResult</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network#addNetwork"><a href="LuCI.Network.html#addNetwork">addNetwork</a></li>
-
- <li data-name="LuCI.Network#addWifiNetwork"><a href="LuCI.Network.html#addWifiNetwork">addWifiNetwork</a></li>
-
- <li data-name="LuCI.Network#deleteNetwork"><a href="LuCI.Network.html#deleteNetwork">deleteNetwork</a></li>
-
- <li data-name="LuCI.Network#deleteWifiNetwork"><a href="LuCI.Network.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
-
- <li data-name="LuCI.Network#flushCache"><a href="LuCI.Network.html#flushCache">flushCache</a></li>
-
- <li data-name="LuCI.Network#formatWifiEncryption"><a href="LuCI.Network.html#formatWifiEncryption">formatWifiEncryption</a></li>
-
- <li data-name="LuCI.Network#getDevice"><a href="LuCI.Network.html#getDevice">getDevice</a></li>
-
- <li data-name="LuCI.Network#getDevices"><a href="LuCI.Network.html#getDevices">getDevices</a></li>
-
- <li data-name="LuCI.Network#getDSLModemType"><a href="LuCI.Network.html#getDSLModemType">getDSLModemType</a></li>
-
- <li data-name="LuCI.Network#getHostHints"><a href="LuCI.Network.html#getHostHints">getHostHints</a></li>
-
- <li data-name="LuCI.Network#getIfnameOf"><a href="LuCI.Network.html#getIfnameOf">getIfnameOf</a></li>
-
- <li data-name="LuCI.Network#getNetwork"><a href="LuCI.Network.html#getNetwork">getNetwork</a></li>
-
- <li data-name="LuCI.Network#getNetworks"><a href="LuCI.Network.html#getNetworks">getNetworks</a></li>
-
- <li data-name="LuCI.Network#getProtocol"><a href="LuCI.Network.html#getProtocol">getProtocol</a></li>
-
- <li data-name="LuCI.Network#getProtocols"><a href="LuCI.Network.html#getProtocols">getProtocols</a></li>
-
- <li data-name="LuCI.Network#getSwitchTopologies"><a href="LuCI.Network.html#getSwitchTopologies">getSwitchTopologies</a></li>
-
- <li data-name="LuCI.Network#getWAN6Networks"><a href="LuCI.Network.html#getWAN6Networks">getWAN6Networks</a></li>
-
- <li data-name="LuCI.Network#getWANNetworks"><a href="LuCI.Network.html#getWANNetworks">getWANNetworks</a></li>
-
- <li data-name="LuCI.Network#getWifiDevice"><a href="LuCI.Network.html#getWifiDevice">getWifiDevice</a></li>
-
- <li data-name="LuCI.Network#getWifiDevices"><a href="LuCI.Network.html#getWifiDevices">getWifiDevices</a></li>
-
- <li data-name="LuCI.Network#getWifiNetwork"><a href="LuCI.Network.html#getWifiNetwork">getWifiNetwork</a></li>
-
- <li data-name="LuCI.Network#isIgnoredDevice"><a href="LuCI.Network.html#isIgnoredDevice">isIgnoredDevice</a></li>
-
- <li data-name="LuCI.Network#maskToPrefix"><a href="LuCI.Network.html#maskToPrefix">maskToPrefix</a></li>
-
- <li data-name="LuCI.Network#prefixToMask"><a href="LuCI.Network.html#prefixToMask">prefixToMask</a></li>
-
- <li data-name="LuCI.Network#registerErrorCode"><a href="LuCI.Network.html#registerErrorCode">registerErrorCode</a></li>
-
- <li data-name="LuCI.Network#registerPatternVirtual"><a href="LuCI.Network.html#registerPatternVirtual">registerPatternVirtual</a></li>
-
- <li data-name="LuCI.Network#registerProtocol"><a href="LuCI.Network.html#registerProtocol">registerProtocol</a></li>
-
- <li data-name="LuCI.Network#renameNetwork"><a href="LuCI.Network.html#renameNetwork">renameNetwork</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.Device">
- <span class="title">
- <a href="LuCI.Network.Device.html">LuCI.Network.Device</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.Device#getBridgeID"><a href="LuCI.Network.Device.html#getBridgeID">getBridgeID</a></li>
-
- <li data-name="LuCI.Network.Device#getBridgeSTP"><a href="LuCI.Network.Device.html#getBridgeSTP">getBridgeSTP</a></li>
-
- <li data-name="LuCI.Network.Device#getI18n"><a href="LuCI.Network.Device.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.Device#getIP6Addrs"><a href="LuCI.Network.Device.html#getIP6Addrs">getIP6Addrs</a></li>
-
- <li data-name="LuCI.Network.Device#getIPAddrs"><a href="LuCI.Network.Device.html#getIPAddrs">getIPAddrs</a></li>
-
- <li data-name="LuCI.Network.Device#getMAC"><a href="LuCI.Network.Device.html#getMAC">getMAC</a></li>
-
- <li data-name="LuCI.Network.Device#getMTU"><a href="LuCI.Network.Device.html#getMTU">getMTU</a></li>
-
- <li data-name="LuCI.Network.Device#getName"><a href="LuCI.Network.Device.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.Device#getNetwork"><a href="LuCI.Network.Device.html#getNetwork">getNetwork</a></li>
-
- <li data-name="LuCI.Network.Device#getNetworks"><a href="LuCI.Network.Device.html#getNetworks">getNetworks</a></li>
-
- <li data-name="LuCI.Network.Device#getPorts"><a href="LuCI.Network.Device.html#getPorts">getPorts</a></li>
-
- <li data-name="LuCI.Network.Device#getRXBytes"><a href="LuCI.Network.Device.html#getRXBytes">getRXBytes</a></li>
-
- <li data-name="LuCI.Network.Device#getRXPackets"><a href="LuCI.Network.Device.html#getRXPackets">getRXPackets</a></li>
-
- <li data-name="LuCI.Network.Device#getShortName"><a href="LuCI.Network.Device.html#getShortName">getShortName</a></li>
-
- <li data-name="LuCI.Network.Device#getTXBytes"><a href="LuCI.Network.Device.html#getTXBytes">getTXBytes</a></li>
-
- <li data-name="LuCI.Network.Device#getTXPackets"><a href="LuCI.Network.Device.html#getTXPackets">getTXPackets</a></li>
-
- <li data-name="LuCI.Network.Device#getType"><a href="LuCI.Network.Device.html#getType">getType</a></li>
-
- <li data-name="LuCI.Network.Device#getTypeI18n"><a href="LuCI.Network.Device.html#getTypeI18n">getTypeI18n</a></li>
-
- <li data-name="LuCI.Network.Device#getWifiNetwork"><a href="LuCI.Network.Device.html#getWifiNetwork">getWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.Device#isBridge"><a href="LuCI.Network.Device.html#isBridge">isBridge</a></li>
-
- <li data-name="LuCI.Network.Device#isBridgePort"><a href="LuCI.Network.Device.html#isBridgePort">isBridgePort</a></li>
-
- <li data-name="LuCI.Network.Device#isUp"><a href="LuCI.Network.Device.html#isUp">isUp</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.Hosts">
- <span class="title">
- <a href="LuCI.Network.Hosts.html">LuCI.Network.Hosts</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.Hosts#getHostnameByIP6Addr"><a href="LuCI.Network.Hosts.html#getHostnameByIP6Addr">getHostnameByIP6Addr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getHostnameByIPAddr"><a href="LuCI.Network.Hosts.html#getHostnameByIPAddr">getHostnameByIPAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getHostnameByMACAddr"><a href="LuCI.Network.Hosts.html#getHostnameByMACAddr">getHostnameByMACAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getIP6AddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIP6AddrByMACAddr">getIP6AddrByMACAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getIPAddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIPAddrByMACAddr">getIPAddrByMACAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getMACAddrByIP6Addr"><a href="LuCI.Network.Hosts.html#getMACAddrByIP6Addr">getMACAddrByIP6Addr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getMACAddrByIPAddr"><a href="LuCI.Network.Hosts.html#getMACAddrByIPAddr">getMACAddrByIPAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getMACHints"><a href="LuCI.Network.Hosts.html#getMACHints">getMACHints</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.Protocol">
- <span class="title">
- <a href="LuCI.Network.Protocol.html">LuCI.Network.Protocol</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.Protocol#addDevice"><a href="LuCI.Network.Protocol.html#addDevice">addDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#containsDevice"><a href="LuCI.Network.Protocol.html#containsDevice">containsDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#deleteDevice"><a href="LuCI.Network.Protocol.html#deleteDevice">deleteDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#get"><a href="LuCI.Network.Protocol.html#get">get</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDevice"><a href="LuCI.Network.Protocol.html#getDevice">getDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDevices"><a href="LuCI.Network.Protocol.html#getDevices">getDevices</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDNS6Addrs"><a href="LuCI.Network.Protocol.html#getDNS6Addrs">getDNS6Addrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDNSAddrs"><a href="LuCI.Network.Protocol.html#getDNSAddrs">getDNSAddrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getErrors"><a href="LuCI.Network.Protocol.html#getErrors">getErrors</a></li>
-
- <li data-name="LuCI.Network.Protocol#getExpiry"><a href="LuCI.Network.Protocol.html#getExpiry">getExpiry</a></li>
-
- <li data-name="LuCI.Network.Protocol#getGateway6Addr"><a href="LuCI.Network.Protocol.html#getGateway6Addr">getGateway6Addr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getGatewayAddr"><a href="LuCI.Network.Protocol.html#getGatewayAddr">getGatewayAddr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getI18n"><a href="LuCI.Network.Protocol.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIfname"><a href="LuCI.Network.Protocol.html#getIfname">getIfname</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIP6Addr"><a href="LuCI.Network.Protocol.html#getIP6Addr">getIP6Addr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIP6Addrs"><a href="LuCI.Network.Protocol.html#getIP6Addrs">getIP6Addrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIP6Prefix"><a href="LuCI.Network.Protocol.html#getIP6Prefix">getIP6Prefix</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIPAddr"><a href="LuCI.Network.Protocol.html#getIPAddr">getIPAddr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIPAddrs"><a href="LuCI.Network.Protocol.html#getIPAddrs">getIPAddrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getL2Device"><a href="LuCI.Network.Protocol.html#getL2Device">getL2Device</a></li>
-
- <li data-name="LuCI.Network.Protocol#getL3Device"><a href="LuCI.Network.Protocol.html#getL3Device">getL3Device</a></li>
-
- <li data-name="LuCI.Network.Protocol#getMetric"><a href="LuCI.Network.Protocol.html#getMetric">getMetric</a></li>
-
- <li data-name="LuCI.Network.Protocol#getName"><a href="LuCI.Network.Protocol.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.Protocol#getNetmask"><a href="LuCI.Network.Protocol.html#getNetmask">getNetmask</a></li>
-
- <li data-name="LuCI.Network.Protocol#getOpkgPackage"><a href="LuCI.Network.Protocol.html#getOpkgPackage">getOpkgPackage</a></li>
-
- <li data-name="LuCI.Network.Protocol#getProtocol"><a href="LuCI.Network.Protocol.html#getProtocol">getProtocol</a></li>
-
- <li data-name="LuCI.Network.Protocol#getType"><a href="LuCI.Network.Protocol.html#getType">getType</a></li>
-
- <li data-name="LuCI.Network.Protocol#getUptime"><a href="LuCI.Network.Protocol.html#getUptime">getUptime</a></li>
-
- <li data-name="LuCI.Network.Protocol#getZoneName"><a href="LuCI.Network.Protocol.html#getZoneName">getZoneName</a></li>
-
- <li data-name="LuCI.Network.Protocol#isAlias"><a href="LuCI.Network.Protocol.html#isAlias">isAlias</a></li>
-
- <li data-name="LuCI.Network.Protocol#isBridge"><a href="LuCI.Network.Protocol.html#isBridge">isBridge</a></li>
-
- <li data-name="LuCI.Network.Protocol#isDynamic"><a href="LuCI.Network.Protocol.html#isDynamic">isDynamic</a></li>
-
- <li data-name="LuCI.Network.Protocol#isEmpty"><a href="LuCI.Network.Protocol.html#isEmpty">isEmpty</a></li>
-
- <li data-name="LuCI.Network.Protocol#isFloating"><a href="LuCI.Network.Protocol.html#isFloating">isFloating</a></li>
-
- <li data-name="LuCI.Network.Protocol#isInstalled"><a href="LuCI.Network.Protocol.html#isInstalled">isInstalled</a></li>
-
- <li data-name="LuCI.Network.Protocol#isUp"><a href="LuCI.Network.Protocol.html#isUp">isUp</a></li>
-
- <li data-name="LuCI.Network.Protocol#isVirtual"><a href="LuCI.Network.Protocol.html#isVirtual">isVirtual</a></li>
-
- <li data-name="LuCI.Network.Protocol#set"><a href="LuCI.Network.Protocol.html#set">set</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.WifiDevice">
- <span class="title">
- <a href="LuCI.Network.WifiDevice.html">LuCI.Network.WifiDevice</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.WifiDevice#addWifiNetwork"><a href="LuCI.Network.WifiDevice.html#addWifiNetwork">addWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#deleteWifiNetwork"><a href="LuCI.Network.WifiDevice.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#get"><a href="LuCI.Network.WifiDevice.html#get">get</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getHTModes"><a href="LuCI.Network.WifiDevice.html#getHTModes">getHTModes</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getHWModes"><a href="LuCI.Network.WifiDevice.html#getHWModes">getHWModes</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getI18n"><a href="LuCI.Network.WifiDevice.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getName"><a href="LuCI.Network.WifiDevice.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getScanList"><a href="LuCI.Network.WifiDevice.html#getScanList">getScanList</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getWifiNetwork"><a href="LuCI.Network.WifiDevice.html#getWifiNetwork">getWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getWifiNetworks"><a href="LuCI.Network.WifiDevice.html#getWifiNetworks">getWifiNetworks</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#isDisabled"><a href="LuCI.Network.WifiDevice.html#isDisabled">isDisabled</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#isUp"><a href="LuCI.Network.WifiDevice.html#isUp">isUp</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#set"><a href="LuCI.Network.WifiDevice.html#set">set</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.WifiNetwork">
- <span class="title">
- <a href="LuCI.Network.WifiNetwork.html">LuCI.Network.WifiNetwork</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.WifiNetwork#get"><a href="LuCI.Network.WifiNetwork.html#get">get</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveBSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveBSSID">getActiveBSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveEncryption"><a href="LuCI.Network.WifiNetwork.html#getActiveEncryption">getActiveEncryption</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveMode"><a href="LuCI.Network.WifiNetwork.html#getActiveMode">getActiveMode</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveModeI18n"><a href="LuCI.Network.WifiNetwork.html#getActiveModeI18n">getActiveModeI18n</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveSSID">getActiveSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getAssocList"><a href="LuCI.Network.WifiNetwork.html#getAssocList">getAssocList</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getBitRate"><a href="LuCI.Network.WifiNetwork.html#getBitRate">getBitRate</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getBSSID"><a href="LuCI.Network.WifiNetwork.html#getBSSID">getBSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getChannel"><a href="LuCI.Network.WifiNetwork.html#getChannel">getChannel</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getCountryCode"><a href="LuCI.Network.WifiNetwork.html#getCountryCode">getCountryCode</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getDevice"><a href="LuCI.Network.WifiNetwork.html#getDevice">getDevice</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getFrequency"><a href="LuCI.Network.WifiNetwork.html#getFrequency">getFrequency</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getI18n"><a href="LuCI.Network.WifiNetwork.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getID"><a href="LuCI.Network.WifiNetwork.html#getID">getID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getIfname"><a href="LuCI.Network.WifiNetwork.html#getIfname">getIfname</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getMeshID"><a href="LuCI.Network.WifiNetwork.html#getMeshID">getMeshID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getMode"><a href="LuCI.Network.WifiNetwork.html#getMode">getMode</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getName"><a href="LuCI.Network.WifiNetwork.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNetwork"><a href="LuCI.Network.WifiNetwork.html#getNetwork">getNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNetworkNames"><a href="LuCI.Network.WifiNetwork.html#getNetworkNames">getNetworkNames</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNetworks"><a href="LuCI.Network.WifiNetwork.html#getNetworks">getNetworks</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNoise"><a href="LuCI.Network.WifiNetwork.html#getNoise">getNoise</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getShortName"><a href="LuCI.Network.WifiNetwork.html#getShortName">getShortName</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSignal"><a href="LuCI.Network.WifiNetwork.html#getSignal">getSignal</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSignalLevel"><a href="LuCI.Network.WifiNetwork.html#getSignalLevel">getSignalLevel</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSignalPercent"><a href="LuCI.Network.WifiNetwork.html#getSignalPercent">getSignalPercent</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSSID"><a href="LuCI.Network.WifiNetwork.html#getSSID">getSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getTXPower"><a href="LuCI.Network.WifiNetwork.html#getTXPower">getTXPower</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getTXPowerOffset"><a href="LuCI.Network.WifiNetwork.html#getTXPowerOffset">getTXPowerOffset</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getWifiDevice"><a href="LuCI.Network.WifiNetwork.html#getWifiDevice">getWifiDevice</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getWifiDeviceName"><a href="LuCI.Network.WifiNetwork.html#getWifiDeviceName">getWifiDeviceName</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#isDisabled"><a href="LuCI.Network.WifiNetwork.html#isDisabled">isDisabled</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#isUp"><a href="LuCI.Network.WifiNetwork.html#isUp">isUp</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#set"><a href="LuCI.Network.WifiNetwork.html#set">set</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Poll">
- <span class="title">
- <a href="LuCI.Poll.html">LuCI.Poll</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Poll#active"><a href="LuCI.Poll.html#active">active</a></li>
-
- <li data-name="LuCI.Poll#add"><a href="LuCI.Poll.html#add">add</a></li>
-
- <li data-name="LuCI.Poll#remove"><a href="LuCI.Poll.html#remove">remove</a></li>
-
- <li data-name="LuCI.Poll#start"><a href="LuCI.Poll.html#start">start</a></li>
-
- <li data-name="LuCI.Poll#stop"><a href="LuCI.Poll.html#stop">stop</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Request">
- <span class="title">
- <a href="LuCI.Request.html">LuCI.Request</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.Request.interceptorFn"><a href="LuCI.Request.html#.interceptorFn">interceptorFn</a></li>
-
- <li data-name="LuCI.Request.RequestOptions"><a href="LuCI.Request.html#.RequestOptions">RequestOptions</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Request#addInterceptor"><a href="LuCI.Request.html#addInterceptor">addInterceptor</a></li>
-
- <li data-name="LuCI.Request#expandURL"><a href="LuCI.Request.html#expandURL">expandURL</a></li>
-
- <li data-name="LuCI.Request#get"><a href="LuCI.Request.html#get">get</a></li>
-
- <li data-name="LuCI.Request#post"><a href="LuCI.Request.html#post">post</a></li>
-
- <li data-name="LuCI.Request#removeInterceptor"><a href="LuCI.Request.html#removeInterceptor">removeInterceptor</a></li>
-
- <li data-name="LuCI.Request#request"><a href="LuCI.Request.html#request">request</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Request.poll">
- <span class="title">
- <a href="LuCI.Request.poll.html">LuCI.Request.poll</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.Request.poll~callbackFn"><a href="LuCI.Request.poll.html#~callbackFn">callbackFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Request.poll#active"><a href="LuCI.Request.poll.html#active">active</a></li>
-
- <li data-name="LuCI.Request.poll#add"><a href="LuCI.Request.poll.html#add">add</a></li>
-
- <li data-name="LuCI.Request.poll#remove"><a href="LuCI.Request.poll.html#remove">remove</a></li>
-
- <li data-name="LuCI.Request.poll#start"><a href="LuCI.Request.poll.html#start">start</a></li>
-
- <li data-name="LuCI.Request.poll#stop"><a href="LuCI.Request.poll.html#stop">stop</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Response">
- <span class="title">
- <a href="LuCI.Response.html">LuCI.Response</a>
-
- </span>
- <ul class="members itemMembers">
-
- <span class="subtitle">Members</span>
-
- <li data-name="LuCI.Response#duration"><a href="LuCI.Response.html#duration">duration</a></li>
-
- <li data-name="LuCI.Response#headers"><a href="LuCI.Response.html#headers">headers</a></li>
-
- <li data-name="LuCI.Response#ok"><a href="LuCI.Response.html#ok">ok</a></li>
-
- <li data-name="LuCI.Response#status"><a href="LuCI.Response.html#status">status</a></li>
-
- <li data-name="LuCI.Response#statusText"><a href="LuCI.Response.html#statusText">statusText</a></li>
-
- <li data-name="LuCI.Response#url"><a href="LuCI.Response.html#url">url</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Response#clone"><a href="LuCI.Response.html#clone">clone</a></li>
-
- <li data-name="LuCI.Response#json"><a href="LuCI.Response.html#json">json</a></li>
-
- <li data-name="LuCI.Response#text"><a href="LuCI.Response.html#text">text</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.rpc">
- <span class="title">
- <a href="LuCI.rpc.html">LuCI.rpc</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.rpc.DeclareOptions"><a href="LuCI.rpc.html#.DeclareOptions">DeclareOptions</a></li>
-
- <li data-name="LuCI.rpc~filterFn"><a href="LuCI.rpc.html#~filterFn">filterFn</a></li>
-
- <li data-name="LuCI.rpc~interceptorFn"><a href="LuCI.rpc.html#~interceptorFn">interceptorFn</a></li>
-
- <li data-name="LuCI.rpc~invokeFn"><a href="LuCI.rpc.html#~invokeFn">invokeFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.rpc#addInterceptor"><a href="LuCI.rpc.html#addInterceptor">addInterceptor</a></li>
-
- <li data-name="LuCI.rpc#declare"><a href="LuCI.rpc.html#declare">declare</a></li>
-
- <li data-name="LuCI.rpc#getBaseURL"><a href="LuCI.rpc.html#getBaseURL">getBaseURL</a></li>
-
- <li data-name="LuCI.rpc#getSessionID"><a href="LuCI.rpc.html#getSessionID">getSessionID</a></li>
-
- <li data-name="LuCI.rpc#getStatusText"><a href="LuCI.rpc.html#getStatusText">getStatusText</a></li>
-
- <li data-name="LuCI.rpc#list"><a href="LuCI.rpc.html#list">list</a></li>
-
- <li data-name="LuCI.rpc#removeInterceptor"><a href="LuCI.rpc.html#removeInterceptor">removeInterceptor</a></li>
-
- <li data-name="LuCI.rpc#setBaseURL"><a href="LuCI.rpc.html#setBaseURL">setBaseURL</a></li>
-
- <li data-name="LuCI.rpc#setSessionID"><a href="LuCI.rpc.html#setSessionID">setSessionID</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.uci">
- <span class="title">
- <a href="LuCI.uci.html">LuCI.uci</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.uci.ChangeRecord"><a href="LuCI.uci.html#.ChangeRecord">ChangeRecord</a></li>
-
- <li data-name="LuCI.uci.SectionObject"><a href="LuCI.uci.html#.SectionObject">SectionObject</a></li>
-
- <li data-name="LuCI.uci~sectionsFn"><a href="LuCI.uci.html#~sectionsFn">sectionsFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.uci#add"><a href="LuCI.uci.html#add">add</a></li>
-
- <li data-name="LuCI.uci#apply"><a href="LuCI.uci.html#apply">apply</a></li>
-
- <li data-name="LuCI.uci#changes"><a href="LuCI.uci.html#changes">changes</a></li>
-
- <li data-name="LuCI.uci#createSID"><a href="LuCI.uci.html#createSID">createSID</a></li>
-
- <li data-name="LuCI.uci#get"><a href="LuCI.uci.html#get">get</a></li>
-
- <li data-name="LuCI.uci#get_first"><a href="LuCI.uci.html#get_first">get_first</a></li>
-
- <li data-name="LuCI.uci#load"><a href="LuCI.uci.html#load">load</a></li>
-
- <li data-name="LuCI.uci#move"><a href="LuCI.uci.html#move">move</a></li>
-
- <li data-name="LuCI.uci#remove"><a href="LuCI.uci.html#remove">remove</a></li>
-
- <li data-name="LuCI.uci#resolveSID"><a href="LuCI.uci.html#resolveSID">resolveSID</a></li>
-
- <li data-name="LuCI.uci#save"><a href="LuCI.uci.html#save">save</a></li>
-
- <li data-name="LuCI.uci#sections"><a href="LuCI.uci.html#sections">sections</a></li>
-
- <li data-name="LuCI.uci#set"><a href="LuCI.uci.html#set">set</a></li>
-
- <li data-name="LuCI.uci#set_first"><a href="LuCI.uci.html#set_first">set_first</a></li>
-
- <li data-name="LuCI.uci#unload"><a href="LuCI.uci.html#unload">unload</a></li>
-
- <li data-name="LuCI.uci#unset"><a href="LuCI.uci.html#unset">unset</a></li>
-
- <li data-name="LuCI.uci#unset_first"><a href="LuCI.uci.html#unset_first">unset_first</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.view">
- <span class="title">
- <a href="LuCI.view.html">LuCI.view</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.view#addFooter"><a href="LuCI.view.html#addFooter">addFooter</a></li>
-
- <li data-name="LuCI.view#handleReset"><a href="LuCI.view.html#handleReset">handleReset</a></li>
-
- <li data-name="LuCI.view#handleSave"><a href="LuCI.view.html#handleSave">handleSave</a></li>
-
- <li data-name="LuCI.view#handleSaveApply"><a href="LuCI.view.html#handleSaveApply">handleSaveApply</a></li>
-
- <li data-name="LuCI.view#load"><a href="LuCI.view.html#load">load</a></li>
-
- <li data-name="LuCI.view#render"><a href="LuCI.view.html#render">render</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.XHR">
- <span class="title">
- <a href="LuCI.XHR.html">LuCI.XHR</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.XHR#abort"><a href="LuCI.XHR.html#abort">abort</a></li>
-
- <li data-name="LuCI.XHR#busy"><a href="LuCI.XHR.html#busy">busy</a></li>
-
- <li data-name="LuCI.XHR#cancel"><a href="LuCI.XHR.html#cancel">cancel</a></li>
-
- <li data-name="LuCI.XHR#get"><a href="LuCI.XHR.html#get">get</a></li>
-
- <li data-name="LuCI.XHR#post"><a href="LuCI.XHR.html#post">post</a></li>
-
- <li data-name="LuCI.XHR#send_form"><a href="LuCI.XHR.html#send_form">send_form</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- </ul>
-</div>
- <div class="main">
- <h1 class="page-title" data-filename="LuCI.Response.html">Class: Response</h1>
-
-
-
-
-<section>
-
-<header>
- <h2>
- <span class="ancestors"><a href="LuCI.html">LuCI</a>.</span>
-
- Response
- </h2>
-
- <div class="class-description"><p>The <code>Response</code> class is an internal utility class representing HTTP responses.</p></div>
-
-</header>
-
-<article>
- <div class="container-overview">
-
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="Response">
-
- new LuCI.Response<span class="signature">()</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 377
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dd>
-
-
- </div>
-
-
-
-
-
-
-
-
-
-
-
-
- <h3 class="subsection-title">Members</h3>
-
- <dl>
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="duration">duration<span class="type-signature type number">number</span> </h4>
- </div>
-
-
-</dt>
-<dd>
-
- <div class="description">
- <p>The total duration of the HTTP request in milliseconds</p>
- </div>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="headers">headers<span class="type-signature type luci.headers"><a href="LuCI.Headers.html">LuCI.Headers</a></span> </h4>
- </div>
-
-
-</dt>
-<dd>
-
- <div class="description">
- <p>The HTTP headers of the response</p>
- </div>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="ok">ok<span class="type-signature type boolean">boolean</span> </h4>
- </div>
-
-
-</dt>
-<dd>
-
- <div class="description">
- <p>Describes whether the response is successful (status codes <code>200..299</code>) or not</p>
- </div>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="status">status<span class="type-signature type number">number</span> </h4>
- </div>
-
-
-</dt>
-<dd>
-
- <div class="description">
- <p>The numeric HTTP status code of the response</p>
- </div>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="statusText">statusText<span class="type-signature type string">string</span> </h4>
- </div>
-
-
-</dt>
-<dd>
-
- <div class="description">
- <p>The HTTP status description message of the response</p>
- </div>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="url">url<span class="type-signature type string">string</span> </h4>
- </div>
-
-
-</dt>
-<dd>
-
- <div class="description">
- <p>The final URL of the request, i.e. after following redirects.</p>
- </div>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-</dd>
-
- </dl>
-
-
-
- <h3 class="subsection-title">Methods</h3>
-
- <dl>
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="clone">
-
- clone<span class="signature">(<span class="optional">content</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{<a href="LuCI.Response.html">LuCI.Response</a>}</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 465
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Clones the given response object, optionally overriding the content
-of the cloned instance.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>content</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">*</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
-
- <p>Override the content of the cloned response. Object values will be
-treated as JSON response data, all other types will be converted
-using <code>String()</code> and treated as response text.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- <a href="LuCI.Response.html">LuCI.Response</a>
-
-
- </td>
- <td class="description last">The cloned <code>Response</code> instance.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="json">
-
- json<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{*}</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 486
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Access the response content as JSON data.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
- <h5>Throws:</h5>
-
-
-
-<dl>
- <dt>
- <div class="param-desc">
- <p>Throws <code>SyntaxError</code> if the content isn't valid JSON.</p>
- </div>
- </dt>
- <dt>
- <dl>
- <dt>
- Type
- </dt>
- <dd>
-
-<span class="param-type">SyntaxError</span>
-
-
- </dd>
- </dl>
- </dt>
-</dl>
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- *
-
-
- </td>
- <td class="description last">The parsed JSON data.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="text">
-
- text<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{string}</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 501
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Access the response content as string.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- string
-
-
- </td>
- <td class="description last">The response content.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
- </dl>
-
-
-
-
-
-
-
-</article>
-
-</section>
-
-
-
-
-
-
-
- <footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Nov 05 2019 10:17:12 GMT+0100 (Central European Standard Time)
- </footer>
- </div>
-</div>
-<script>prettyPrint();</script>
-<script src="scripts/jaguar.js"></script>
-</body>
-</html> \ No newline at end of file
diff --git a/documentation/jsapi/LuCI.XHR.html b/documentation/jsapi/LuCI.XHR.html
deleted file mode 100644
index 5a17dfa855..0000000000
--- a/documentation/jsapi/LuCI.XHR.html
+++ /dev/null
@@ -1,2047 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <meta charset="utf-8">
- <title>Class: XHR</title>
-
-
- <script src="scripts/prettify/prettify.js"></script>
- <script src="scripts/prettify/lang-css.js"></script>
- <script src="scripts/jquery.min.js"></script>
- <!--[if lt IE 9]>
- <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
- <![endif]-->
- <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
- <link type="text/css" rel="stylesheet" href="styles/bootstrap.min.css">
- <link type="text/css" rel="stylesheet" href="styles/jaguar.css">
-
-
- <script>
- var config = {"monospaceLinks":true,"cleverLinks":true,"default":{}};
- </script>
-
-
-
-</head>
-<body>
-<div id="wrap" class="clearfix">
-
-<div class="navigation">
- <h3 class="applicationName"><a href="index.html"></a></h3>
-
- <div class="search">
- <input id="search" type="text" class="form-control input-sm" placeholder="Search Documentations">
- </div>
- <ul class="list">
-
- <li class="item" data-name="LuCI">
- <span class="title">
- <a href="LuCI.html">LuCI</a>
-
- </span>
- <ul class="members itemMembers">
-
- <span class="subtitle">Members</span>
-
- <li data-name="LuCI#env"><a href="LuCI.html#env">env</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.requestCallbackFn"><a href="LuCI.html#.requestCallbackFn">requestCallbackFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI#bind"><a href="LuCI.html#bind">bind</a></li>
-
- <li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
-
- <li data-name="LuCI#get"><a href="LuCI.html#get">get</a></li>
-
- <li data-name="LuCI#halt"><a href="LuCI.html#halt">halt</a></li>
-
- <li data-name="LuCI#hasSystemFeature"><a href="LuCI.html#hasSystemFeature">hasSystemFeature</a></li>
-
- <li data-name="LuCI#isObject"><a href="LuCI.html#isObject">isObject</a></li>
-
- <li data-name="LuCI#location"><a href="LuCI.html#location">location</a></li>
-
- <li data-name="LuCI#path"><a href="LuCI.html#path">path</a></li>
-
- <li data-name="LuCI#poll"><a href="LuCI.html#poll">poll</a></li>
-
- <li data-name="LuCI#post"><a href="LuCI.html#post">post</a></li>
-
- <li data-name="LuCI#raise"><a href="LuCI.html#raise">raise</a></li>
-
- <li data-name="LuCI#require"><a href="LuCI.html#require">require</a></li>
-
- <li data-name="LuCI#resolveDefault"><a href="LuCI.html#resolveDefault">resolveDefault</a></li>
-
- <li data-name="LuCI#resource"><a href="LuCI.html#resource">resource</a></li>
-
- <li data-name="LuCI#run"><a href="LuCI.html#run">run</a></li>
-
- <li data-name="LuCI#sortedKeys"><a href="LuCI.html#sortedKeys">sortedKeys</a></li>
-
- <li data-name="LuCI#stop"><a href="LuCI.html#stop">stop</a></li>
-
- <li data-name="LuCI#toArray"><a href="LuCI.html#toArray">toArray</a></li>
-
- <li data-name="LuCI#url"><a href="LuCI.html#url">url</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Class">
- <span class="title">
- <a href="LuCI.Class.html">LuCI.Class</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Class.extend"><a href="LuCI.Class.html#.extend">extend</a></li>
-
- <li data-name="LuCI.Class.instantiate"><a href="LuCI.Class.html#.instantiate">instantiate</a></li>
-
- <li data-name="LuCI.Class.isSubclass"><a href="LuCI.Class.html#.isSubclass">isSubclass</a></li>
-
- <li data-name="LuCI.Class.singleton"><a href="LuCI.Class.html#.singleton">singleton</a></li>
-
- <li data-name="LuCI.Class#super"><a href="LuCI.Class.html#super">super</a></li>
-
- <li data-name="LuCI.Class#varargs"><a href="LuCI.Class.html#varargs">varargs</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.dom">
- <span class="title">
- <a href="LuCI.dom.html">LuCI.dom</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.dom~ignoreCallbackFn"><a href="LuCI.dom.html#~ignoreCallbackFn">ignoreCallbackFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.dom#append"><a href="LuCI.dom.html#append">append</a></li>
-
- <li data-name="LuCI.dom#attr"><a href="LuCI.dom.html#attr">attr</a></li>
-
- <li data-name="LuCI.dom#bindClassInstance"><a href="LuCI.dom.html#bindClassInstance">bindClassInstance</a></li>
-
- <li data-name="LuCI.dom#callClassMethod"><a href="LuCI.dom.html#callClassMethod">callClassMethod</a></li>
-
- <li data-name="LuCI.dom#content"><a href="LuCI.dom.html#content">content</a></li>
-
- <li data-name="LuCI.dom#create"><a href="LuCI.dom.html#create">create</a></li>
-
- <li data-name="LuCI.dom#data"><a href="LuCI.dom.html#data">data</a></li>
-
- <li data-name="LuCI.dom#elem"><a href="LuCI.dom.html#elem">elem</a></li>
-
- <li data-name="LuCI.dom#findClassInstance"><a href="LuCI.dom.html#findClassInstance">findClassInstance</a></li>
-
- <li data-name="LuCI.dom#isEmpty"><a href="LuCI.dom.html#isEmpty">isEmpty</a></li>
-
- <li data-name="LuCI.dom#matches"><a href="LuCI.dom.html#matches">matches</a></li>
-
- <li data-name="LuCI.dom#parent"><a href="LuCI.dom.html#parent">parent</a></li>
-
- <li data-name="LuCI.dom#parse"><a href="LuCI.dom.html#parse">parse</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.fs">
- <span class="title">
- <a href="LuCI.fs.html">LuCI.fs</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.fs.FileExecResult"><a href="LuCI.fs.html#.FileExecResult">FileExecResult</a></li>
-
- <li data-name="LuCI.fs.FileStatEntry"><a href="LuCI.fs.html#.FileStatEntry">FileStatEntry</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.fs#exec"><a href="LuCI.fs.html#exec">exec</a></li>
-
- <li data-name="LuCI.fs#lines"><a href="LuCI.fs.html#lines">lines</a></li>
-
- <li data-name="LuCI.fs#list"><a href="LuCI.fs.html#list">list</a></li>
-
- <li data-name="LuCI.fs#read"><a href="LuCI.fs.html#read">read</a></li>
-
- <li data-name="LuCI.fs#remove"><a href="LuCI.fs.html#remove">remove</a></li>
-
- <li data-name="LuCI.fs#stat"><a href="LuCI.fs.html#stat">stat</a></li>
-
- <li data-name="LuCI.fs#trimmed"><a href="LuCI.fs.html#trimmed">trimmed</a></li>
-
- <li data-name="LuCI.fs#write"><a href="LuCI.fs.html#write">write</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Headers">
- <span class="title">
- <a href="LuCI.Headers.html">LuCI.Headers</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Headers#get"><a href="LuCI.Headers.html#get">get</a></li>
-
- <li data-name="LuCI.Headers#has"><a href="LuCI.Headers.html#has">has</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network">
- <span class="title">
- <a href="LuCI.Network.html">LuCI.Network</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.Network.SwitchTopology"><a href="LuCI.Network.html#.SwitchTopology">SwitchTopology</a></li>
-
- <li data-name="LuCI.Network.WifiEncryption"><a href="LuCI.Network.html#.WifiEncryption">WifiEncryption</a></li>
-
- <li data-name="LuCI.Network.WifiPeerEntry"><a href="LuCI.Network.html#.WifiPeerEntry">WifiPeerEntry</a></li>
-
- <li data-name="LuCI.Network.WifiRateEntry"><a href="LuCI.Network.html#.WifiRateEntry">WifiRateEntry</a></li>
-
- <li data-name="LuCI.Network.WifiScanResult"><a href="LuCI.Network.html#.WifiScanResult">WifiScanResult</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network#addNetwork"><a href="LuCI.Network.html#addNetwork">addNetwork</a></li>
-
- <li data-name="LuCI.Network#addWifiNetwork"><a href="LuCI.Network.html#addWifiNetwork">addWifiNetwork</a></li>
-
- <li data-name="LuCI.Network#deleteNetwork"><a href="LuCI.Network.html#deleteNetwork">deleteNetwork</a></li>
-
- <li data-name="LuCI.Network#deleteWifiNetwork"><a href="LuCI.Network.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
-
- <li data-name="LuCI.Network#flushCache"><a href="LuCI.Network.html#flushCache">flushCache</a></li>
-
- <li data-name="LuCI.Network#formatWifiEncryption"><a href="LuCI.Network.html#formatWifiEncryption">formatWifiEncryption</a></li>
-
- <li data-name="LuCI.Network#getDevice"><a href="LuCI.Network.html#getDevice">getDevice</a></li>
-
- <li data-name="LuCI.Network#getDevices"><a href="LuCI.Network.html#getDevices">getDevices</a></li>
-
- <li data-name="LuCI.Network#getDSLModemType"><a href="LuCI.Network.html#getDSLModemType">getDSLModemType</a></li>
-
- <li data-name="LuCI.Network#getHostHints"><a href="LuCI.Network.html#getHostHints">getHostHints</a></li>
-
- <li data-name="LuCI.Network#getIfnameOf"><a href="LuCI.Network.html#getIfnameOf">getIfnameOf</a></li>
-
- <li data-name="LuCI.Network#getNetwork"><a href="LuCI.Network.html#getNetwork">getNetwork</a></li>
-
- <li data-name="LuCI.Network#getNetworks"><a href="LuCI.Network.html#getNetworks">getNetworks</a></li>
-
- <li data-name="LuCI.Network#getProtocol"><a href="LuCI.Network.html#getProtocol">getProtocol</a></li>
-
- <li data-name="LuCI.Network#getProtocols"><a href="LuCI.Network.html#getProtocols">getProtocols</a></li>
-
- <li data-name="LuCI.Network#getSwitchTopologies"><a href="LuCI.Network.html#getSwitchTopologies">getSwitchTopologies</a></li>
-
- <li data-name="LuCI.Network#getWAN6Networks"><a href="LuCI.Network.html#getWAN6Networks">getWAN6Networks</a></li>
-
- <li data-name="LuCI.Network#getWANNetworks"><a href="LuCI.Network.html#getWANNetworks">getWANNetworks</a></li>
-
- <li data-name="LuCI.Network#getWifiDevice"><a href="LuCI.Network.html#getWifiDevice">getWifiDevice</a></li>
-
- <li data-name="LuCI.Network#getWifiDevices"><a href="LuCI.Network.html#getWifiDevices">getWifiDevices</a></li>
-
- <li data-name="LuCI.Network#getWifiNetwork"><a href="LuCI.Network.html#getWifiNetwork">getWifiNetwork</a></li>
-
- <li data-name="LuCI.Network#isIgnoredDevice"><a href="LuCI.Network.html#isIgnoredDevice">isIgnoredDevice</a></li>
-
- <li data-name="LuCI.Network#maskToPrefix"><a href="LuCI.Network.html#maskToPrefix">maskToPrefix</a></li>
-
- <li data-name="LuCI.Network#prefixToMask"><a href="LuCI.Network.html#prefixToMask">prefixToMask</a></li>
-
- <li data-name="LuCI.Network#registerErrorCode"><a href="LuCI.Network.html#registerErrorCode">registerErrorCode</a></li>
-
- <li data-name="LuCI.Network#registerPatternVirtual"><a href="LuCI.Network.html#registerPatternVirtual">registerPatternVirtual</a></li>
-
- <li data-name="LuCI.Network#registerProtocol"><a href="LuCI.Network.html#registerProtocol">registerProtocol</a></li>
-
- <li data-name="LuCI.Network#renameNetwork"><a href="LuCI.Network.html#renameNetwork">renameNetwork</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.Device">
- <span class="title">
- <a href="LuCI.Network.Device.html">LuCI.Network.Device</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.Device#getBridgeID"><a href="LuCI.Network.Device.html#getBridgeID">getBridgeID</a></li>
-
- <li data-name="LuCI.Network.Device#getBridgeSTP"><a href="LuCI.Network.Device.html#getBridgeSTP">getBridgeSTP</a></li>
-
- <li data-name="LuCI.Network.Device#getI18n"><a href="LuCI.Network.Device.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.Device#getIP6Addrs"><a href="LuCI.Network.Device.html#getIP6Addrs">getIP6Addrs</a></li>
-
- <li data-name="LuCI.Network.Device#getIPAddrs"><a href="LuCI.Network.Device.html#getIPAddrs">getIPAddrs</a></li>
-
- <li data-name="LuCI.Network.Device#getMAC"><a href="LuCI.Network.Device.html#getMAC">getMAC</a></li>
-
- <li data-name="LuCI.Network.Device#getMTU"><a href="LuCI.Network.Device.html#getMTU">getMTU</a></li>
-
- <li data-name="LuCI.Network.Device#getName"><a href="LuCI.Network.Device.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.Device#getNetwork"><a href="LuCI.Network.Device.html#getNetwork">getNetwork</a></li>
-
- <li data-name="LuCI.Network.Device#getNetworks"><a href="LuCI.Network.Device.html#getNetworks">getNetworks</a></li>
-
- <li data-name="LuCI.Network.Device#getPorts"><a href="LuCI.Network.Device.html#getPorts">getPorts</a></li>
-
- <li data-name="LuCI.Network.Device#getRXBytes"><a href="LuCI.Network.Device.html#getRXBytes">getRXBytes</a></li>
-
- <li data-name="LuCI.Network.Device#getRXPackets"><a href="LuCI.Network.Device.html#getRXPackets">getRXPackets</a></li>
-
- <li data-name="LuCI.Network.Device#getShortName"><a href="LuCI.Network.Device.html#getShortName">getShortName</a></li>
-
- <li data-name="LuCI.Network.Device#getTXBytes"><a href="LuCI.Network.Device.html#getTXBytes">getTXBytes</a></li>
-
- <li data-name="LuCI.Network.Device#getTXPackets"><a href="LuCI.Network.Device.html#getTXPackets">getTXPackets</a></li>
-
- <li data-name="LuCI.Network.Device#getType"><a href="LuCI.Network.Device.html#getType">getType</a></li>
-
- <li data-name="LuCI.Network.Device#getTypeI18n"><a href="LuCI.Network.Device.html#getTypeI18n">getTypeI18n</a></li>
-
- <li data-name="LuCI.Network.Device#getWifiNetwork"><a href="LuCI.Network.Device.html#getWifiNetwork">getWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.Device#isBridge"><a href="LuCI.Network.Device.html#isBridge">isBridge</a></li>
-
- <li data-name="LuCI.Network.Device#isBridgePort"><a href="LuCI.Network.Device.html#isBridgePort">isBridgePort</a></li>
-
- <li data-name="LuCI.Network.Device#isUp"><a href="LuCI.Network.Device.html#isUp">isUp</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.Hosts">
- <span class="title">
- <a href="LuCI.Network.Hosts.html">LuCI.Network.Hosts</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.Hosts#getHostnameByIP6Addr"><a href="LuCI.Network.Hosts.html#getHostnameByIP6Addr">getHostnameByIP6Addr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getHostnameByIPAddr"><a href="LuCI.Network.Hosts.html#getHostnameByIPAddr">getHostnameByIPAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getHostnameByMACAddr"><a href="LuCI.Network.Hosts.html#getHostnameByMACAddr">getHostnameByMACAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getIP6AddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIP6AddrByMACAddr">getIP6AddrByMACAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getIPAddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIPAddrByMACAddr">getIPAddrByMACAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getMACAddrByIP6Addr"><a href="LuCI.Network.Hosts.html#getMACAddrByIP6Addr">getMACAddrByIP6Addr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getMACAddrByIPAddr"><a href="LuCI.Network.Hosts.html#getMACAddrByIPAddr">getMACAddrByIPAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getMACHints"><a href="LuCI.Network.Hosts.html#getMACHints">getMACHints</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.Protocol">
- <span class="title">
- <a href="LuCI.Network.Protocol.html">LuCI.Network.Protocol</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.Protocol#addDevice"><a href="LuCI.Network.Protocol.html#addDevice">addDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#containsDevice"><a href="LuCI.Network.Protocol.html#containsDevice">containsDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#deleteDevice"><a href="LuCI.Network.Protocol.html#deleteDevice">deleteDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#get"><a href="LuCI.Network.Protocol.html#get">get</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDevice"><a href="LuCI.Network.Protocol.html#getDevice">getDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDevices"><a href="LuCI.Network.Protocol.html#getDevices">getDevices</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDNS6Addrs"><a href="LuCI.Network.Protocol.html#getDNS6Addrs">getDNS6Addrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDNSAddrs"><a href="LuCI.Network.Protocol.html#getDNSAddrs">getDNSAddrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getErrors"><a href="LuCI.Network.Protocol.html#getErrors">getErrors</a></li>
-
- <li data-name="LuCI.Network.Protocol#getExpiry"><a href="LuCI.Network.Protocol.html#getExpiry">getExpiry</a></li>
-
- <li data-name="LuCI.Network.Protocol#getGateway6Addr"><a href="LuCI.Network.Protocol.html#getGateway6Addr">getGateway6Addr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getGatewayAddr"><a href="LuCI.Network.Protocol.html#getGatewayAddr">getGatewayAddr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getI18n"><a href="LuCI.Network.Protocol.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIfname"><a href="LuCI.Network.Protocol.html#getIfname">getIfname</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIP6Addr"><a href="LuCI.Network.Protocol.html#getIP6Addr">getIP6Addr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIP6Addrs"><a href="LuCI.Network.Protocol.html#getIP6Addrs">getIP6Addrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIP6Prefix"><a href="LuCI.Network.Protocol.html#getIP6Prefix">getIP6Prefix</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIPAddr"><a href="LuCI.Network.Protocol.html#getIPAddr">getIPAddr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIPAddrs"><a href="LuCI.Network.Protocol.html#getIPAddrs">getIPAddrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getL2Device"><a href="LuCI.Network.Protocol.html#getL2Device">getL2Device</a></li>
-
- <li data-name="LuCI.Network.Protocol#getL3Device"><a href="LuCI.Network.Protocol.html#getL3Device">getL3Device</a></li>
-
- <li data-name="LuCI.Network.Protocol#getMetric"><a href="LuCI.Network.Protocol.html#getMetric">getMetric</a></li>
-
- <li data-name="LuCI.Network.Protocol#getName"><a href="LuCI.Network.Protocol.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.Protocol#getNetmask"><a href="LuCI.Network.Protocol.html#getNetmask">getNetmask</a></li>
-
- <li data-name="LuCI.Network.Protocol#getOpkgPackage"><a href="LuCI.Network.Protocol.html#getOpkgPackage">getOpkgPackage</a></li>
-
- <li data-name="LuCI.Network.Protocol#getProtocol"><a href="LuCI.Network.Protocol.html#getProtocol">getProtocol</a></li>
-
- <li data-name="LuCI.Network.Protocol#getType"><a href="LuCI.Network.Protocol.html#getType">getType</a></li>
-
- <li data-name="LuCI.Network.Protocol#getUptime"><a href="LuCI.Network.Protocol.html#getUptime">getUptime</a></li>
-
- <li data-name="LuCI.Network.Protocol#getZoneName"><a href="LuCI.Network.Protocol.html#getZoneName">getZoneName</a></li>
-
- <li data-name="LuCI.Network.Protocol#isAlias"><a href="LuCI.Network.Protocol.html#isAlias">isAlias</a></li>
-
- <li data-name="LuCI.Network.Protocol#isBridge"><a href="LuCI.Network.Protocol.html#isBridge">isBridge</a></li>
-
- <li data-name="LuCI.Network.Protocol#isDynamic"><a href="LuCI.Network.Protocol.html#isDynamic">isDynamic</a></li>
-
- <li data-name="LuCI.Network.Protocol#isEmpty"><a href="LuCI.Network.Protocol.html#isEmpty">isEmpty</a></li>
-
- <li data-name="LuCI.Network.Protocol#isFloating"><a href="LuCI.Network.Protocol.html#isFloating">isFloating</a></li>
-
- <li data-name="LuCI.Network.Protocol#isInstalled"><a href="LuCI.Network.Protocol.html#isInstalled">isInstalled</a></li>
-
- <li data-name="LuCI.Network.Protocol#isUp"><a href="LuCI.Network.Protocol.html#isUp">isUp</a></li>
-
- <li data-name="LuCI.Network.Protocol#isVirtual"><a href="LuCI.Network.Protocol.html#isVirtual">isVirtual</a></li>
-
- <li data-name="LuCI.Network.Protocol#set"><a href="LuCI.Network.Protocol.html#set">set</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.WifiDevice">
- <span class="title">
- <a href="LuCI.Network.WifiDevice.html">LuCI.Network.WifiDevice</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.WifiDevice#addWifiNetwork"><a href="LuCI.Network.WifiDevice.html#addWifiNetwork">addWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#deleteWifiNetwork"><a href="LuCI.Network.WifiDevice.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#get"><a href="LuCI.Network.WifiDevice.html#get">get</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getHTModes"><a href="LuCI.Network.WifiDevice.html#getHTModes">getHTModes</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getHWModes"><a href="LuCI.Network.WifiDevice.html#getHWModes">getHWModes</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getI18n"><a href="LuCI.Network.WifiDevice.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getName"><a href="LuCI.Network.WifiDevice.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getScanList"><a href="LuCI.Network.WifiDevice.html#getScanList">getScanList</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getWifiNetwork"><a href="LuCI.Network.WifiDevice.html#getWifiNetwork">getWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getWifiNetworks"><a href="LuCI.Network.WifiDevice.html#getWifiNetworks">getWifiNetworks</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#isDisabled"><a href="LuCI.Network.WifiDevice.html#isDisabled">isDisabled</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#isUp"><a href="LuCI.Network.WifiDevice.html#isUp">isUp</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#set"><a href="LuCI.Network.WifiDevice.html#set">set</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.WifiNetwork">
- <span class="title">
- <a href="LuCI.Network.WifiNetwork.html">LuCI.Network.WifiNetwork</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.WifiNetwork#get"><a href="LuCI.Network.WifiNetwork.html#get">get</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveBSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveBSSID">getActiveBSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveEncryption"><a href="LuCI.Network.WifiNetwork.html#getActiveEncryption">getActiveEncryption</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveMode"><a href="LuCI.Network.WifiNetwork.html#getActiveMode">getActiveMode</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveModeI18n"><a href="LuCI.Network.WifiNetwork.html#getActiveModeI18n">getActiveModeI18n</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveSSID">getActiveSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getAssocList"><a href="LuCI.Network.WifiNetwork.html#getAssocList">getAssocList</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getBitRate"><a href="LuCI.Network.WifiNetwork.html#getBitRate">getBitRate</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getBSSID"><a href="LuCI.Network.WifiNetwork.html#getBSSID">getBSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getChannel"><a href="LuCI.Network.WifiNetwork.html#getChannel">getChannel</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getCountryCode"><a href="LuCI.Network.WifiNetwork.html#getCountryCode">getCountryCode</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getDevice"><a href="LuCI.Network.WifiNetwork.html#getDevice">getDevice</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getFrequency"><a href="LuCI.Network.WifiNetwork.html#getFrequency">getFrequency</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getI18n"><a href="LuCI.Network.WifiNetwork.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getID"><a href="LuCI.Network.WifiNetwork.html#getID">getID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getIfname"><a href="LuCI.Network.WifiNetwork.html#getIfname">getIfname</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getMeshID"><a href="LuCI.Network.WifiNetwork.html#getMeshID">getMeshID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getMode"><a href="LuCI.Network.WifiNetwork.html#getMode">getMode</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getName"><a href="LuCI.Network.WifiNetwork.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNetwork"><a href="LuCI.Network.WifiNetwork.html#getNetwork">getNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNetworkNames"><a href="LuCI.Network.WifiNetwork.html#getNetworkNames">getNetworkNames</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNetworks"><a href="LuCI.Network.WifiNetwork.html#getNetworks">getNetworks</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNoise"><a href="LuCI.Network.WifiNetwork.html#getNoise">getNoise</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getShortName"><a href="LuCI.Network.WifiNetwork.html#getShortName">getShortName</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSignal"><a href="LuCI.Network.WifiNetwork.html#getSignal">getSignal</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSignalLevel"><a href="LuCI.Network.WifiNetwork.html#getSignalLevel">getSignalLevel</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSignalPercent"><a href="LuCI.Network.WifiNetwork.html#getSignalPercent">getSignalPercent</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSSID"><a href="LuCI.Network.WifiNetwork.html#getSSID">getSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getTXPower"><a href="LuCI.Network.WifiNetwork.html#getTXPower">getTXPower</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getTXPowerOffset"><a href="LuCI.Network.WifiNetwork.html#getTXPowerOffset">getTXPowerOffset</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getWifiDevice"><a href="LuCI.Network.WifiNetwork.html#getWifiDevice">getWifiDevice</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getWifiDeviceName"><a href="LuCI.Network.WifiNetwork.html#getWifiDeviceName">getWifiDeviceName</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#isDisabled"><a href="LuCI.Network.WifiNetwork.html#isDisabled">isDisabled</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#isUp"><a href="LuCI.Network.WifiNetwork.html#isUp">isUp</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#set"><a href="LuCI.Network.WifiNetwork.html#set">set</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Poll">
- <span class="title">
- <a href="LuCI.Poll.html">LuCI.Poll</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Poll#active"><a href="LuCI.Poll.html#active">active</a></li>
-
- <li data-name="LuCI.Poll#add"><a href="LuCI.Poll.html#add">add</a></li>
-
- <li data-name="LuCI.Poll#remove"><a href="LuCI.Poll.html#remove">remove</a></li>
-
- <li data-name="LuCI.Poll#start"><a href="LuCI.Poll.html#start">start</a></li>
-
- <li data-name="LuCI.Poll#stop"><a href="LuCI.Poll.html#stop">stop</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Request">
- <span class="title">
- <a href="LuCI.Request.html">LuCI.Request</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.Request.interceptorFn"><a href="LuCI.Request.html#.interceptorFn">interceptorFn</a></li>
-
- <li data-name="LuCI.Request.RequestOptions"><a href="LuCI.Request.html#.RequestOptions">RequestOptions</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Request#addInterceptor"><a href="LuCI.Request.html#addInterceptor">addInterceptor</a></li>
-
- <li data-name="LuCI.Request#expandURL"><a href="LuCI.Request.html#expandURL">expandURL</a></li>
-
- <li data-name="LuCI.Request#get"><a href="LuCI.Request.html#get">get</a></li>
-
- <li data-name="LuCI.Request#post"><a href="LuCI.Request.html#post">post</a></li>
-
- <li data-name="LuCI.Request#removeInterceptor"><a href="LuCI.Request.html#removeInterceptor">removeInterceptor</a></li>
-
- <li data-name="LuCI.Request#request"><a href="LuCI.Request.html#request">request</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Request.poll">
- <span class="title">
- <a href="LuCI.Request.poll.html">LuCI.Request.poll</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.Request.poll~callbackFn"><a href="LuCI.Request.poll.html#~callbackFn">callbackFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Request.poll#active"><a href="LuCI.Request.poll.html#active">active</a></li>
-
- <li data-name="LuCI.Request.poll#add"><a href="LuCI.Request.poll.html#add">add</a></li>
-
- <li data-name="LuCI.Request.poll#remove"><a href="LuCI.Request.poll.html#remove">remove</a></li>
-
- <li data-name="LuCI.Request.poll#start"><a href="LuCI.Request.poll.html#start">start</a></li>
-
- <li data-name="LuCI.Request.poll#stop"><a href="LuCI.Request.poll.html#stop">stop</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Response">
- <span class="title">
- <a href="LuCI.Response.html">LuCI.Response</a>
-
- </span>
- <ul class="members itemMembers">
-
- <span class="subtitle">Members</span>
-
- <li data-name="LuCI.Response#duration"><a href="LuCI.Response.html#duration">duration</a></li>
-
- <li data-name="LuCI.Response#headers"><a href="LuCI.Response.html#headers">headers</a></li>
-
- <li data-name="LuCI.Response#ok"><a href="LuCI.Response.html#ok">ok</a></li>
-
- <li data-name="LuCI.Response#status"><a href="LuCI.Response.html#status">status</a></li>
-
- <li data-name="LuCI.Response#statusText"><a href="LuCI.Response.html#statusText">statusText</a></li>
-
- <li data-name="LuCI.Response#url"><a href="LuCI.Response.html#url">url</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Response#clone"><a href="LuCI.Response.html#clone">clone</a></li>
-
- <li data-name="LuCI.Response#json"><a href="LuCI.Response.html#json">json</a></li>
-
- <li data-name="LuCI.Response#text"><a href="LuCI.Response.html#text">text</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.rpc">
- <span class="title">
- <a href="LuCI.rpc.html">LuCI.rpc</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.rpc.DeclareOptions"><a href="LuCI.rpc.html#.DeclareOptions">DeclareOptions</a></li>
-
- <li data-name="LuCI.rpc~filterFn"><a href="LuCI.rpc.html#~filterFn">filterFn</a></li>
-
- <li data-name="LuCI.rpc~interceptorFn"><a href="LuCI.rpc.html#~interceptorFn">interceptorFn</a></li>
-
- <li data-name="LuCI.rpc~invokeFn"><a href="LuCI.rpc.html#~invokeFn">invokeFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.rpc#addInterceptor"><a href="LuCI.rpc.html#addInterceptor">addInterceptor</a></li>
-
- <li data-name="LuCI.rpc#declare"><a href="LuCI.rpc.html#declare">declare</a></li>
-
- <li data-name="LuCI.rpc#getBaseURL"><a href="LuCI.rpc.html#getBaseURL">getBaseURL</a></li>
-
- <li data-name="LuCI.rpc#getSessionID"><a href="LuCI.rpc.html#getSessionID">getSessionID</a></li>
-
- <li data-name="LuCI.rpc#getStatusText"><a href="LuCI.rpc.html#getStatusText">getStatusText</a></li>
-
- <li data-name="LuCI.rpc#list"><a href="LuCI.rpc.html#list">list</a></li>
-
- <li data-name="LuCI.rpc#removeInterceptor"><a href="LuCI.rpc.html#removeInterceptor">removeInterceptor</a></li>
-
- <li data-name="LuCI.rpc#setBaseURL"><a href="LuCI.rpc.html#setBaseURL">setBaseURL</a></li>
-
- <li data-name="LuCI.rpc#setSessionID"><a href="LuCI.rpc.html#setSessionID">setSessionID</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.uci">
- <span class="title">
- <a href="LuCI.uci.html">LuCI.uci</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.uci.ChangeRecord"><a href="LuCI.uci.html#.ChangeRecord">ChangeRecord</a></li>
-
- <li data-name="LuCI.uci.SectionObject"><a href="LuCI.uci.html#.SectionObject">SectionObject</a></li>
-
- <li data-name="LuCI.uci~sectionsFn"><a href="LuCI.uci.html#~sectionsFn">sectionsFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.uci#add"><a href="LuCI.uci.html#add">add</a></li>
-
- <li data-name="LuCI.uci#apply"><a href="LuCI.uci.html#apply">apply</a></li>
-
- <li data-name="LuCI.uci#changes"><a href="LuCI.uci.html#changes">changes</a></li>
-
- <li data-name="LuCI.uci#createSID"><a href="LuCI.uci.html#createSID">createSID</a></li>
-
- <li data-name="LuCI.uci#get"><a href="LuCI.uci.html#get">get</a></li>
-
- <li data-name="LuCI.uci#get_first"><a href="LuCI.uci.html#get_first">get_first</a></li>
-
- <li data-name="LuCI.uci#load"><a href="LuCI.uci.html#load">load</a></li>
-
- <li data-name="LuCI.uci#move"><a href="LuCI.uci.html#move">move</a></li>
-
- <li data-name="LuCI.uci#remove"><a href="LuCI.uci.html#remove">remove</a></li>
-
- <li data-name="LuCI.uci#resolveSID"><a href="LuCI.uci.html#resolveSID">resolveSID</a></li>
-
- <li data-name="LuCI.uci#save"><a href="LuCI.uci.html#save">save</a></li>
-
- <li data-name="LuCI.uci#sections"><a href="LuCI.uci.html#sections">sections</a></li>
-
- <li data-name="LuCI.uci#set"><a href="LuCI.uci.html#set">set</a></li>
-
- <li data-name="LuCI.uci#set_first"><a href="LuCI.uci.html#set_first">set_first</a></li>
-
- <li data-name="LuCI.uci#unload"><a href="LuCI.uci.html#unload">unload</a></li>
-
- <li data-name="LuCI.uci#unset"><a href="LuCI.uci.html#unset">unset</a></li>
-
- <li data-name="LuCI.uci#unset_first"><a href="LuCI.uci.html#unset_first">unset_first</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.view">
- <span class="title">
- <a href="LuCI.view.html">LuCI.view</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.view#addFooter"><a href="LuCI.view.html#addFooter">addFooter</a></li>
-
- <li data-name="LuCI.view#handleReset"><a href="LuCI.view.html#handleReset">handleReset</a></li>
-
- <li data-name="LuCI.view#handleSave"><a href="LuCI.view.html#handleSave">handleSave</a></li>
-
- <li data-name="LuCI.view#handleSaveApply"><a href="LuCI.view.html#handleSaveApply">handleSaveApply</a></li>
-
- <li data-name="LuCI.view#load"><a href="LuCI.view.html#load">load</a></li>
-
- <li data-name="LuCI.view#render"><a href="LuCI.view.html#render">render</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.XHR">
- <span class="title">
- <a href="LuCI.XHR.html">LuCI.XHR</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.XHR#abort"><a href="LuCI.XHR.html#abort">abort</a></li>
-
- <li data-name="LuCI.XHR#busy"><a href="LuCI.XHR.html#busy">busy</a></li>
-
- <li data-name="LuCI.XHR#cancel"><a href="LuCI.XHR.html#cancel">cancel</a></li>
-
- <li data-name="LuCI.XHR#get"><a href="LuCI.XHR.html#get">get</a></li>
-
- <li data-name="LuCI.XHR#post"><a href="LuCI.XHR.html#post">post</a></li>
-
- <li data-name="LuCI.XHR#send_form"><a href="LuCI.XHR.html#send_form">send_form</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- </ul>
-</div>
- <div class="main">
- <h1 class="page-title" data-filename="LuCI.XHR.html">Class: XHR</h1>
-
-
-
-
-<section>
-
-<header>
- <h2>
- <span class="ancestors"><a href="LuCI.html">LuCI</a>.</span>
-
- XHR
- </h2>
-
- <div class="class-description"><p>The <code>LuCI.XHR</code> class is a legacy compatibility shim for the
-functionality formerly provided by <code>xhr.js</code>. It is registered as global
-<code>window.XHR</code> symbol for compatibility with legacy code.</p>
-<p>New code should use <a href="LuCI.Request.html"><code>LuCI.Request</code></a> instead to implement HTTP
-request handling.</p></div>
-
-</header>
-
-<article>
- <div class="container-overview">
-
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="XHR">
-
- new LuCI.XHR<span class="signature">()</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 2943
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
- <dt class="important tag-deprecated">Deprecated</dt><dd class="yes-def tag-deprecated"><ul class="dummy"><li>Yes</li></ul></dd>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dd>
-
-
- </div>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- <h3 class="subsection-title">Methods</h3>
-
- <dl>
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="abort">
-
- abort<span class="signature">()</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 3046
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Ignored for backwards compatibility.</p>
-<p>This function does nothing.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
- <dt class="important tag-deprecated">Deprecated</dt><dd class="yes-def tag-deprecated"><ul class="dummy"><li>Yes</li></ul></dd>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="busy">
-
- busy<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 3035
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Checks the running state of the request.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
- <dt class="important tag-deprecated">Deprecated</dt><dd class="yes-def tag-deprecated"><ul class="dummy"><li>Yes</li></ul></dd>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- boolean
-
-
- </td>
- <td class="description last">Returns <code>true</code> if the request is still running or <code>false</code> if it
-already completed.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="cancel">
-
- cancel<span class="signature">()</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 3022
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Cancels a running request.</p>
-<p>This function does not actually cancel the underlying
-<code>XMLHTTPRequest</code> request but it sets a flag which prevents the
-invocation of the callback function when the request eventually
-finishes or timed out.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
- <dt class="important tag-deprecated">Deprecated</dt><dd class="yes-def tag-deprecated"><ul class="dummy"><li>Yes</li></ul></dd>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="get">
-
- get<span class="signature">(url, <span class="optional">data</span>, <span class="optional">callback</span>, <span class="optional">timeout</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Promise.&lt;null>}</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 2978
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>This function is a legacy wrapper around
-<a href="LuCI.html#get"><code>LuCI.get()</code></a>.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>url</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
-
-
-
-
- <p>The URL to request</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>data</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">Object</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
-
- <p>Additional query string data</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>callback</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type"><a href="LuCI.html#.requestCallbackFn">LuCI.requestCallbackFn</a></span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
-
- <p>Callback function to invoke on completion</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>timeout</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">number</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
-
- <p>Request timeout to use</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
- <dt class="important tag-deprecated">Deprecated</dt><dd class="yes-def tag-deprecated"><ul class="dummy"><li>Yes</li></ul></dd>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Promise.&lt;null>
-
-
- </td>
- <td class="description last"></td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="post">
-
- post<span class="signature">(url, <span class="optional">data</span>, <span class="optional">callback</span>, <span class="optional">timeout</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Promise.&lt;null>}</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 3005
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>This function is a legacy wrapper around
-<a href="LuCI.html#post"><code>LuCI.post()</code></a>.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>url</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
-
-
-
-
- <p>The URL to request</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>data</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">Object</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
-
- <p>Additional data to append to the request body.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>callback</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type"><a href="LuCI.html#.requestCallbackFn">LuCI.requestCallbackFn</a></span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
-
- <p>Callback function to invoke on completion</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>timeout</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">number</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
-
- <p>Request timeout to use</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
- <dt class="important tag-deprecated">Deprecated</dt><dd class="yes-def tag-deprecated"><ul class="dummy"><li>Yes</li></ul></dd>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Promise.&lt;null>
-
-
- </td>
- <td class="description last"></td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="send_form">
-
- send_form<span class="signature">()</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 3061
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Existing for backwards compatibility.</p>
-<p>This function simply throws an <code>InternalError</code> when invoked.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
- <dt class="important tag-deprecated">Deprecated</dt><dd class="yes-def tag-deprecated"><ul class="dummy"><li>Yes</li></ul></dd>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
- <h5>Throws:</h5>
-
-
-
-<dl>
- <dt>
- <div class="param-desc">
- <p>Throws an <code>InternalError</code> with the message <code>Not implemented</code>
-when invoked.</p>
- </div>
- </dt>
- <dt>
- <dl>
- <dt>
- Type
- </dt>
- <dd>
-
-<span class="param-type">InternalError</span>
-
-
- </dd>
- </dl>
- </dt>
-</dl>
-
-
-
-
-
-
-
-</dd>
-
- </dl>
-
-
-
-
-
-
-
-</article>
-
-</section>
-
-
-
-
-
-
-
- <footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Nov 05 2019 10:17:12 GMT+0100 (Central European Standard Time)
- </footer>
- </div>
-</div>
-<script>prettyPrint();</script>
-<script src="scripts/jaguar.js"></script>
-</body>
-</html> \ No newline at end of file
diff --git a/documentation/jsapi/LuCI.dom.html b/documentation/jsapi/LuCI.dom.html
deleted file mode 100644
index 8412eb3025..0000000000
--- a/documentation/jsapi/LuCI.dom.html
+++ /dev/null
@@ -1,3878 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <meta charset="utf-8">
- <title>Class: dom</title>
-
-
- <script src="scripts/prettify/prettify.js"></script>
- <script src="scripts/prettify/lang-css.js"></script>
- <script src="scripts/jquery.min.js"></script>
- <!--[if lt IE 9]>
- <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
- <![endif]-->
- <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
- <link type="text/css" rel="stylesheet" href="styles/bootstrap.min.css">
- <link type="text/css" rel="stylesheet" href="styles/jaguar.css">
-
-
- <script>
- var config = {"monospaceLinks":true,"cleverLinks":true,"default":{}};
- </script>
-
-
-
-</head>
-<body>
-<div id="wrap" class="clearfix">
-
-<div class="navigation">
- <h3 class="applicationName"><a href="index.html"></a></h3>
-
- <div class="search">
- <input id="search" type="text" class="form-control input-sm" placeholder="Search Documentations">
- </div>
- <ul class="list">
-
- <li class="item" data-name="LuCI">
- <span class="title">
- <a href="LuCI.html">LuCI</a>
-
- </span>
- <ul class="members itemMembers">
-
- <span class="subtitle">Members</span>
-
- <li data-name="LuCI#env"><a href="LuCI.html#env">env</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.requestCallbackFn"><a href="LuCI.html#.requestCallbackFn">requestCallbackFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI#bind"><a href="LuCI.html#bind">bind</a></li>
-
- <li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
-
- <li data-name="LuCI#get"><a href="LuCI.html#get">get</a></li>
-
- <li data-name="LuCI#halt"><a href="LuCI.html#halt">halt</a></li>
-
- <li data-name="LuCI#hasSystemFeature"><a href="LuCI.html#hasSystemFeature">hasSystemFeature</a></li>
-
- <li data-name="LuCI#isObject"><a href="LuCI.html#isObject">isObject</a></li>
-
- <li data-name="LuCI#location"><a href="LuCI.html#location">location</a></li>
-
- <li data-name="LuCI#path"><a href="LuCI.html#path">path</a></li>
-
- <li data-name="LuCI#poll"><a href="LuCI.html#poll">poll</a></li>
-
- <li data-name="LuCI#post"><a href="LuCI.html#post">post</a></li>
-
- <li data-name="LuCI#raise"><a href="LuCI.html#raise">raise</a></li>
-
- <li data-name="LuCI#require"><a href="LuCI.html#require">require</a></li>
-
- <li data-name="LuCI#resolveDefault"><a href="LuCI.html#resolveDefault">resolveDefault</a></li>
-
- <li data-name="LuCI#resource"><a href="LuCI.html#resource">resource</a></li>
-
- <li data-name="LuCI#run"><a href="LuCI.html#run">run</a></li>
-
- <li data-name="LuCI#sortedKeys"><a href="LuCI.html#sortedKeys">sortedKeys</a></li>
-
- <li data-name="LuCI#stop"><a href="LuCI.html#stop">stop</a></li>
-
- <li data-name="LuCI#toArray"><a href="LuCI.html#toArray">toArray</a></li>
-
- <li data-name="LuCI#url"><a href="LuCI.html#url">url</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Class">
- <span class="title">
- <a href="LuCI.Class.html">LuCI.Class</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Class.extend"><a href="LuCI.Class.html#.extend">extend</a></li>
-
- <li data-name="LuCI.Class.instantiate"><a href="LuCI.Class.html#.instantiate">instantiate</a></li>
-
- <li data-name="LuCI.Class.isSubclass"><a href="LuCI.Class.html#.isSubclass">isSubclass</a></li>
-
- <li data-name="LuCI.Class.singleton"><a href="LuCI.Class.html#.singleton">singleton</a></li>
-
- <li data-name="LuCI.Class#super"><a href="LuCI.Class.html#super">super</a></li>
-
- <li data-name="LuCI.Class#varargs"><a href="LuCI.Class.html#varargs">varargs</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.dom">
- <span class="title">
- <a href="LuCI.dom.html">LuCI.dom</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.dom~ignoreCallbackFn"><a href="LuCI.dom.html#~ignoreCallbackFn">ignoreCallbackFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.dom#append"><a href="LuCI.dom.html#append">append</a></li>
-
- <li data-name="LuCI.dom#attr"><a href="LuCI.dom.html#attr">attr</a></li>
-
- <li data-name="LuCI.dom#bindClassInstance"><a href="LuCI.dom.html#bindClassInstance">bindClassInstance</a></li>
-
- <li data-name="LuCI.dom#callClassMethod"><a href="LuCI.dom.html#callClassMethod">callClassMethod</a></li>
-
- <li data-name="LuCI.dom#content"><a href="LuCI.dom.html#content">content</a></li>
-
- <li data-name="LuCI.dom#create"><a href="LuCI.dom.html#create">create</a></li>
-
- <li data-name="LuCI.dom#data"><a href="LuCI.dom.html#data">data</a></li>
-
- <li data-name="LuCI.dom#elem"><a href="LuCI.dom.html#elem">elem</a></li>
-
- <li data-name="LuCI.dom#findClassInstance"><a href="LuCI.dom.html#findClassInstance">findClassInstance</a></li>
-
- <li data-name="LuCI.dom#isEmpty"><a href="LuCI.dom.html#isEmpty">isEmpty</a></li>
-
- <li data-name="LuCI.dom#matches"><a href="LuCI.dom.html#matches">matches</a></li>
-
- <li data-name="LuCI.dom#parent"><a href="LuCI.dom.html#parent">parent</a></li>
-
- <li data-name="LuCI.dom#parse"><a href="LuCI.dom.html#parse">parse</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.fs">
- <span class="title">
- <a href="LuCI.fs.html">LuCI.fs</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.fs.FileExecResult"><a href="LuCI.fs.html#.FileExecResult">FileExecResult</a></li>
-
- <li data-name="LuCI.fs.FileStatEntry"><a href="LuCI.fs.html#.FileStatEntry">FileStatEntry</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.fs#exec"><a href="LuCI.fs.html#exec">exec</a></li>
-
- <li data-name="LuCI.fs#lines"><a href="LuCI.fs.html#lines">lines</a></li>
-
- <li data-name="LuCI.fs#list"><a href="LuCI.fs.html#list">list</a></li>
-
- <li data-name="LuCI.fs#read"><a href="LuCI.fs.html#read">read</a></li>
-
- <li data-name="LuCI.fs#remove"><a href="LuCI.fs.html#remove">remove</a></li>
-
- <li data-name="LuCI.fs#stat"><a href="LuCI.fs.html#stat">stat</a></li>
-
- <li data-name="LuCI.fs#trimmed"><a href="LuCI.fs.html#trimmed">trimmed</a></li>
-
- <li data-name="LuCI.fs#write"><a href="LuCI.fs.html#write">write</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Headers">
- <span class="title">
- <a href="LuCI.Headers.html">LuCI.Headers</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Headers#get"><a href="LuCI.Headers.html#get">get</a></li>
-
- <li data-name="LuCI.Headers#has"><a href="LuCI.Headers.html#has">has</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network">
- <span class="title">
- <a href="LuCI.Network.html">LuCI.Network</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.Network.SwitchTopology"><a href="LuCI.Network.html#.SwitchTopology">SwitchTopology</a></li>
-
- <li data-name="LuCI.Network.WifiEncryption"><a href="LuCI.Network.html#.WifiEncryption">WifiEncryption</a></li>
-
- <li data-name="LuCI.Network.WifiPeerEntry"><a href="LuCI.Network.html#.WifiPeerEntry">WifiPeerEntry</a></li>
-
- <li data-name="LuCI.Network.WifiRateEntry"><a href="LuCI.Network.html#.WifiRateEntry">WifiRateEntry</a></li>
-
- <li data-name="LuCI.Network.WifiScanResult"><a href="LuCI.Network.html#.WifiScanResult">WifiScanResult</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network#addNetwork"><a href="LuCI.Network.html#addNetwork">addNetwork</a></li>
-
- <li data-name="LuCI.Network#addWifiNetwork"><a href="LuCI.Network.html#addWifiNetwork">addWifiNetwork</a></li>
-
- <li data-name="LuCI.Network#deleteNetwork"><a href="LuCI.Network.html#deleteNetwork">deleteNetwork</a></li>
-
- <li data-name="LuCI.Network#deleteWifiNetwork"><a href="LuCI.Network.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
-
- <li data-name="LuCI.Network#flushCache"><a href="LuCI.Network.html#flushCache">flushCache</a></li>
-
- <li data-name="LuCI.Network#formatWifiEncryption"><a href="LuCI.Network.html#formatWifiEncryption">formatWifiEncryption</a></li>
-
- <li data-name="LuCI.Network#getDevice"><a href="LuCI.Network.html#getDevice">getDevice</a></li>
-
- <li data-name="LuCI.Network#getDevices"><a href="LuCI.Network.html#getDevices">getDevices</a></li>
-
- <li data-name="LuCI.Network#getDSLModemType"><a href="LuCI.Network.html#getDSLModemType">getDSLModemType</a></li>
-
- <li data-name="LuCI.Network#getHostHints"><a href="LuCI.Network.html#getHostHints">getHostHints</a></li>
-
- <li data-name="LuCI.Network#getIfnameOf"><a href="LuCI.Network.html#getIfnameOf">getIfnameOf</a></li>
-
- <li data-name="LuCI.Network#getNetwork"><a href="LuCI.Network.html#getNetwork">getNetwork</a></li>
-
- <li data-name="LuCI.Network#getNetworks"><a href="LuCI.Network.html#getNetworks">getNetworks</a></li>
-
- <li data-name="LuCI.Network#getProtocol"><a href="LuCI.Network.html#getProtocol">getProtocol</a></li>
-
- <li data-name="LuCI.Network#getProtocols"><a href="LuCI.Network.html#getProtocols">getProtocols</a></li>
-
- <li data-name="LuCI.Network#getSwitchTopologies"><a href="LuCI.Network.html#getSwitchTopologies">getSwitchTopologies</a></li>
-
- <li data-name="LuCI.Network#getWAN6Networks"><a href="LuCI.Network.html#getWAN6Networks">getWAN6Networks</a></li>
-
- <li data-name="LuCI.Network#getWANNetworks"><a href="LuCI.Network.html#getWANNetworks">getWANNetworks</a></li>
-
- <li data-name="LuCI.Network#getWifiDevice"><a href="LuCI.Network.html#getWifiDevice">getWifiDevice</a></li>
-
- <li data-name="LuCI.Network#getWifiDevices"><a href="LuCI.Network.html#getWifiDevices">getWifiDevices</a></li>
-
- <li data-name="LuCI.Network#getWifiNetwork"><a href="LuCI.Network.html#getWifiNetwork">getWifiNetwork</a></li>
-
- <li data-name="LuCI.Network#isIgnoredDevice"><a href="LuCI.Network.html#isIgnoredDevice">isIgnoredDevice</a></li>
-
- <li data-name="LuCI.Network#maskToPrefix"><a href="LuCI.Network.html#maskToPrefix">maskToPrefix</a></li>
-
- <li data-name="LuCI.Network#prefixToMask"><a href="LuCI.Network.html#prefixToMask">prefixToMask</a></li>
-
- <li data-name="LuCI.Network#registerErrorCode"><a href="LuCI.Network.html#registerErrorCode">registerErrorCode</a></li>
-
- <li data-name="LuCI.Network#registerPatternVirtual"><a href="LuCI.Network.html#registerPatternVirtual">registerPatternVirtual</a></li>
-
- <li data-name="LuCI.Network#registerProtocol"><a href="LuCI.Network.html#registerProtocol">registerProtocol</a></li>
-
- <li data-name="LuCI.Network#renameNetwork"><a href="LuCI.Network.html#renameNetwork">renameNetwork</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.Device">
- <span class="title">
- <a href="LuCI.Network.Device.html">LuCI.Network.Device</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.Device#getBridgeID"><a href="LuCI.Network.Device.html#getBridgeID">getBridgeID</a></li>
-
- <li data-name="LuCI.Network.Device#getBridgeSTP"><a href="LuCI.Network.Device.html#getBridgeSTP">getBridgeSTP</a></li>
-
- <li data-name="LuCI.Network.Device#getI18n"><a href="LuCI.Network.Device.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.Device#getIP6Addrs"><a href="LuCI.Network.Device.html#getIP6Addrs">getIP6Addrs</a></li>
-
- <li data-name="LuCI.Network.Device#getIPAddrs"><a href="LuCI.Network.Device.html#getIPAddrs">getIPAddrs</a></li>
-
- <li data-name="LuCI.Network.Device#getMAC"><a href="LuCI.Network.Device.html#getMAC">getMAC</a></li>
-
- <li data-name="LuCI.Network.Device#getMTU"><a href="LuCI.Network.Device.html#getMTU">getMTU</a></li>
-
- <li data-name="LuCI.Network.Device#getName"><a href="LuCI.Network.Device.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.Device#getNetwork"><a href="LuCI.Network.Device.html#getNetwork">getNetwork</a></li>
-
- <li data-name="LuCI.Network.Device#getNetworks"><a href="LuCI.Network.Device.html#getNetworks">getNetworks</a></li>
-
- <li data-name="LuCI.Network.Device#getPorts"><a href="LuCI.Network.Device.html#getPorts">getPorts</a></li>
-
- <li data-name="LuCI.Network.Device#getRXBytes"><a href="LuCI.Network.Device.html#getRXBytes">getRXBytes</a></li>
-
- <li data-name="LuCI.Network.Device#getRXPackets"><a href="LuCI.Network.Device.html#getRXPackets">getRXPackets</a></li>
-
- <li data-name="LuCI.Network.Device#getShortName"><a href="LuCI.Network.Device.html#getShortName">getShortName</a></li>
-
- <li data-name="LuCI.Network.Device#getTXBytes"><a href="LuCI.Network.Device.html#getTXBytes">getTXBytes</a></li>
-
- <li data-name="LuCI.Network.Device#getTXPackets"><a href="LuCI.Network.Device.html#getTXPackets">getTXPackets</a></li>
-
- <li data-name="LuCI.Network.Device#getType"><a href="LuCI.Network.Device.html#getType">getType</a></li>
-
- <li data-name="LuCI.Network.Device#getTypeI18n"><a href="LuCI.Network.Device.html#getTypeI18n">getTypeI18n</a></li>
-
- <li data-name="LuCI.Network.Device#getWifiNetwork"><a href="LuCI.Network.Device.html#getWifiNetwork">getWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.Device#isBridge"><a href="LuCI.Network.Device.html#isBridge">isBridge</a></li>
-
- <li data-name="LuCI.Network.Device#isBridgePort"><a href="LuCI.Network.Device.html#isBridgePort">isBridgePort</a></li>
-
- <li data-name="LuCI.Network.Device#isUp"><a href="LuCI.Network.Device.html#isUp">isUp</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.Hosts">
- <span class="title">
- <a href="LuCI.Network.Hosts.html">LuCI.Network.Hosts</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.Hosts#getHostnameByIP6Addr"><a href="LuCI.Network.Hosts.html#getHostnameByIP6Addr">getHostnameByIP6Addr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getHostnameByIPAddr"><a href="LuCI.Network.Hosts.html#getHostnameByIPAddr">getHostnameByIPAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getHostnameByMACAddr"><a href="LuCI.Network.Hosts.html#getHostnameByMACAddr">getHostnameByMACAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getIP6AddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIP6AddrByMACAddr">getIP6AddrByMACAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getIPAddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIPAddrByMACAddr">getIPAddrByMACAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getMACAddrByIP6Addr"><a href="LuCI.Network.Hosts.html#getMACAddrByIP6Addr">getMACAddrByIP6Addr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getMACAddrByIPAddr"><a href="LuCI.Network.Hosts.html#getMACAddrByIPAddr">getMACAddrByIPAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getMACHints"><a href="LuCI.Network.Hosts.html#getMACHints">getMACHints</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.Protocol">
- <span class="title">
- <a href="LuCI.Network.Protocol.html">LuCI.Network.Protocol</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.Protocol#addDevice"><a href="LuCI.Network.Protocol.html#addDevice">addDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#containsDevice"><a href="LuCI.Network.Protocol.html#containsDevice">containsDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#deleteDevice"><a href="LuCI.Network.Protocol.html#deleteDevice">deleteDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#get"><a href="LuCI.Network.Protocol.html#get">get</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDevice"><a href="LuCI.Network.Protocol.html#getDevice">getDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDevices"><a href="LuCI.Network.Protocol.html#getDevices">getDevices</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDNS6Addrs"><a href="LuCI.Network.Protocol.html#getDNS6Addrs">getDNS6Addrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDNSAddrs"><a href="LuCI.Network.Protocol.html#getDNSAddrs">getDNSAddrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getErrors"><a href="LuCI.Network.Protocol.html#getErrors">getErrors</a></li>
-
- <li data-name="LuCI.Network.Protocol#getExpiry"><a href="LuCI.Network.Protocol.html#getExpiry">getExpiry</a></li>
-
- <li data-name="LuCI.Network.Protocol#getGateway6Addr"><a href="LuCI.Network.Protocol.html#getGateway6Addr">getGateway6Addr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getGatewayAddr"><a href="LuCI.Network.Protocol.html#getGatewayAddr">getGatewayAddr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getI18n"><a href="LuCI.Network.Protocol.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIfname"><a href="LuCI.Network.Protocol.html#getIfname">getIfname</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIP6Addr"><a href="LuCI.Network.Protocol.html#getIP6Addr">getIP6Addr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIP6Addrs"><a href="LuCI.Network.Protocol.html#getIP6Addrs">getIP6Addrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIP6Prefix"><a href="LuCI.Network.Protocol.html#getIP6Prefix">getIP6Prefix</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIPAddr"><a href="LuCI.Network.Protocol.html#getIPAddr">getIPAddr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIPAddrs"><a href="LuCI.Network.Protocol.html#getIPAddrs">getIPAddrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getL2Device"><a href="LuCI.Network.Protocol.html#getL2Device">getL2Device</a></li>
-
- <li data-name="LuCI.Network.Protocol#getL3Device"><a href="LuCI.Network.Protocol.html#getL3Device">getL3Device</a></li>
-
- <li data-name="LuCI.Network.Protocol#getMetric"><a href="LuCI.Network.Protocol.html#getMetric">getMetric</a></li>
-
- <li data-name="LuCI.Network.Protocol#getName"><a href="LuCI.Network.Protocol.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.Protocol#getNetmask"><a href="LuCI.Network.Protocol.html#getNetmask">getNetmask</a></li>
-
- <li data-name="LuCI.Network.Protocol#getOpkgPackage"><a href="LuCI.Network.Protocol.html#getOpkgPackage">getOpkgPackage</a></li>
-
- <li data-name="LuCI.Network.Protocol#getProtocol"><a href="LuCI.Network.Protocol.html#getProtocol">getProtocol</a></li>
-
- <li data-name="LuCI.Network.Protocol#getType"><a href="LuCI.Network.Protocol.html#getType">getType</a></li>
-
- <li data-name="LuCI.Network.Protocol#getUptime"><a href="LuCI.Network.Protocol.html#getUptime">getUptime</a></li>
-
- <li data-name="LuCI.Network.Protocol#getZoneName"><a href="LuCI.Network.Protocol.html#getZoneName">getZoneName</a></li>
-
- <li data-name="LuCI.Network.Protocol#isAlias"><a href="LuCI.Network.Protocol.html#isAlias">isAlias</a></li>
-
- <li data-name="LuCI.Network.Protocol#isBridge"><a href="LuCI.Network.Protocol.html#isBridge">isBridge</a></li>
-
- <li data-name="LuCI.Network.Protocol#isDynamic"><a href="LuCI.Network.Protocol.html#isDynamic">isDynamic</a></li>
-
- <li data-name="LuCI.Network.Protocol#isEmpty"><a href="LuCI.Network.Protocol.html#isEmpty">isEmpty</a></li>
-
- <li data-name="LuCI.Network.Protocol#isFloating"><a href="LuCI.Network.Protocol.html#isFloating">isFloating</a></li>
-
- <li data-name="LuCI.Network.Protocol#isInstalled"><a href="LuCI.Network.Protocol.html#isInstalled">isInstalled</a></li>
-
- <li data-name="LuCI.Network.Protocol#isUp"><a href="LuCI.Network.Protocol.html#isUp">isUp</a></li>
-
- <li data-name="LuCI.Network.Protocol#isVirtual"><a href="LuCI.Network.Protocol.html#isVirtual">isVirtual</a></li>
-
- <li data-name="LuCI.Network.Protocol#set"><a href="LuCI.Network.Protocol.html#set">set</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.WifiDevice">
- <span class="title">
- <a href="LuCI.Network.WifiDevice.html">LuCI.Network.WifiDevice</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.WifiDevice#addWifiNetwork"><a href="LuCI.Network.WifiDevice.html#addWifiNetwork">addWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#deleteWifiNetwork"><a href="LuCI.Network.WifiDevice.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#get"><a href="LuCI.Network.WifiDevice.html#get">get</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getHTModes"><a href="LuCI.Network.WifiDevice.html#getHTModes">getHTModes</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getHWModes"><a href="LuCI.Network.WifiDevice.html#getHWModes">getHWModes</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getI18n"><a href="LuCI.Network.WifiDevice.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getName"><a href="LuCI.Network.WifiDevice.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getScanList"><a href="LuCI.Network.WifiDevice.html#getScanList">getScanList</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getWifiNetwork"><a href="LuCI.Network.WifiDevice.html#getWifiNetwork">getWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getWifiNetworks"><a href="LuCI.Network.WifiDevice.html#getWifiNetworks">getWifiNetworks</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#isDisabled"><a href="LuCI.Network.WifiDevice.html#isDisabled">isDisabled</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#isUp"><a href="LuCI.Network.WifiDevice.html#isUp">isUp</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#set"><a href="LuCI.Network.WifiDevice.html#set">set</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.WifiNetwork">
- <span class="title">
- <a href="LuCI.Network.WifiNetwork.html">LuCI.Network.WifiNetwork</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.WifiNetwork#get"><a href="LuCI.Network.WifiNetwork.html#get">get</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveBSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveBSSID">getActiveBSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveEncryption"><a href="LuCI.Network.WifiNetwork.html#getActiveEncryption">getActiveEncryption</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveMode"><a href="LuCI.Network.WifiNetwork.html#getActiveMode">getActiveMode</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveModeI18n"><a href="LuCI.Network.WifiNetwork.html#getActiveModeI18n">getActiveModeI18n</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveSSID">getActiveSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getAssocList"><a href="LuCI.Network.WifiNetwork.html#getAssocList">getAssocList</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getBitRate"><a href="LuCI.Network.WifiNetwork.html#getBitRate">getBitRate</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getBSSID"><a href="LuCI.Network.WifiNetwork.html#getBSSID">getBSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getChannel"><a href="LuCI.Network.WifiNetwork.html#getChannel">getChannel</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getCountryCode"><a href="LuCI.Network.WifiNetwork.html#getCountryCode">getCountryCode</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getDevice"><a href="LuCI.Network.WifiNetwork.html#getDevice">getDevice</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getFrequency"><a href="LuCI.Network.WifiNetwork.html#getFrequency">getFrequency</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getI18n"><a href="LuCI.Network.WifiNetwork.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getID"><a href="LuCI.Network.WifiNetwork.html#getID">getID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getIfname"><a href="LuCI.Network.WifiNetwork.html#getIfname">getIfname</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getMeshID"><a href="LuCI.Network.WifiNetwork.html#getMeshID">getMeshID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getMode"><a href="LuCI.Network.WifiNetwork.html#getMode">getMode</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getName"><a href="LuCI.Network.WifiNetwork.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNetwork"><a href="LuCI.Network.WifiNetwork.html#getNetwork">getNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNetworkNames"><a href="LuCI.Network.WifiNetwork.html#getNetworkNames">getNetworkNames</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNetworks"><a href="LuCI.Network.WifiNetwork.html#getNetworks">getNetworks</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNoise"><a href="LuCI.Network.WifiNetwork.html#getNoise">getNoise</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getShortName"><a href="LuCI.Network.WifiNetwork.html#getShortName">getShortName</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSignal"><a href="LuCI.Network.WifiNetwork.html#getSignal">getSignal</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSignalLevel"><a href="LuCI.Network.WifiNetwork.html#getSignalLevel">getSignalLevel</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSignalPercent"><a href="LuCI.Network.WifiNetwork.html#getSignalPercent">getSignalPercent</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSSID"><a href="LuCI.Network.WifiNetwork.html#getSSID">getSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getTXPower"><a href="LuCI.Network.WifiNetwork.html#getTXPower">getTXPower</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getTXPowerOffset"><a href="LuCI.Network.WifiNetwork.html#getTXPowerOffset">getTXPowerOffset</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getWifiDevice"><a href="LuCI.Network.WifiNetwork.html#getWifiDevice">getWifiDevice</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getWifiDeviceName"><a href="LuCI.Network.WifiNetwork.html#getWifiDeviceName">getWifiDeviceName</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#isDisabled"><a href="LuCI.Network.WifiNetwork.html#isDisabled">isDisabled</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#isUp"><a href="LuCI.Network.WifiNetwork.html#isUp">isUp</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#set"><a href="LuCI.Network.WifiNetwork.html#set">set</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Poll">
- <span class="title">
- <a href="LuCI.Poll.html">LuCI.Poll</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Poll#active"><a href="LuCI.Poll.html#active">active</a></li>
-
- <li data-name="LuCI.Poll#add"><a href="LuCI.Poll.html#add">add</a></li>
-
- <li data-name="LuCI.Poll#remove"><a href="LuCI.Poll.html#remove">remove</a></li>
-
- <li data-name="LuCI.Poll#start"><a href="LuCI.Poll.html#start">start</a></li>
-
- <li data-name="LuCI.Poll#stop"><a href="LuCI.Poll.html#stop">stop</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Request">
- <span class="title">
- <a href="LuCI.Request.html">LuCI.Request</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.Request.interceptorFn"><a href="LuCI.Request.html#.interceptorFn">interceptorFn</a></li>
-
- <li data-name="LuCI.Request.RequestOptions"><a href="LuCI.Request.html#.RequestOptions">RequestOptions</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Request#addInterceptor"><a href="LuCI.Request.html#addInterceptor">addInterceptor</a></li>
-
- <li data-name="LuCI.Request#expandURL"><a href="LuCI.Request.html#expandURL">expandURL</a></li>
-
- <li data-name="LuCI.Request#get"><a href="LuCI.Request.html#get">get</a></li>
-
- <li data-name="LuCI.Request#post"><a href="LuCI.Request.html#post">post</a></li>
-
- <li data-name="LuCI.Request#removeInterceptor"><a href="LuCI.Request.html#removeInterceptor">removeInterceptor</a></li>
-
- <li data-name="LuCI.Request#request"><a href="LuCI.Request.html#request">request</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Request.poll">
- <span class="title">
- <a href="LuCI.Request.poll.html">LuCI.Request.poll</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.Request.poll~callbackFn"><a href="LuCI.Request.poll.html#~callbackFn">callbackFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Request.poll#active"><a href="LuCI.Request.poll.html#active">active</a></li>
-
- <li data-name="LuCI.Request.poll#add"><a href="LuCI.Request.poll.html#add">add</a></li>
-
- <li data-name="LuCI.Request.poll#remove"><a href="LuCI.Request.poll.html#remove">remove</a></li>
-
- <li data-name="LuCI.Request.poll#start"><a href="LuCI.Request.poll.html#start">start</a></li>
-
- <li data-name="LuCI.Request.poll#stop"><a href="LuCI.Request.poll.html#stop">stop</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Response">
- <span class="title">
- <a href="LuCI.Response.html">LuCI.Response</a>
-
- </span>
- <ul class="members itemMembers">
-
- <span class="subtitle">Members</span>
-
- <li data-name="LuCI.Response#duration"><a href="LuCI.Response.html#duration">duration</a></li>
-
- <li data-name="LuCI.Response#headers"><a href="LuCI.Response.html#headers">headers</a></li>
-
- <li data-name="LuCI.Response#ok"><a href="LuCI.Response.html#ok">ok</a></li>
-
- <li data-name="LuCI.Response#status"><a href="LuCI.Response.html#status">status</a></li>
-
- <li data-name="LuCI.Response#statusText"><a href="LuCI.Response.html#statusText">statusText</a></li>
-
- <li data-name="LuCI.Response#url"><a href="LuCI.Response.html#url">url</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Response#clone"><a href="LuCI.Response.html#clone">clone</a></li>
-
- <li data-name="LuCI.Response#json"><a href="LuCI.Response.html#json">json</a></li>
-
- <li data-name="LuCI.Response#text"><a href="LuCI.Response.html#text">text</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.rpc">
- <span class="title">
- <a href="LuCI.rpc.html">LuCI.rpc</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.rpc.DeclareOptions"><a href="LuCI.rpc.html#.DeclareOptions">DeclareOptions</a></li>
-
- <li data-name="LuCI.rpc~filterFn"><a href="LuCI.rpc.html#~filterFn">filterFn</a></li>
-
- <li data-name="LuCI.rpc~interceptorFn"><a href="LuCI.rpc.html#~interceptorFn">interceptorFn</a></li>
-
- <li data-name="LuCI.rpc~invokeFn"><a href="LuCI.rpc.html#~invokeFn">invokeFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.rpc#addInterceptor"><a href="LuCI.rpc.html#addInterceptor">addInterceptor</a></li>
-
- <li data-name="LuCI.rpc#declare"><a href="LuCI.rpc.html#declare">declare</a></li>
-
- <li data-name="LuCI.rpc#getBaseURL"><a href="LuCI.rpc.html#getBaseURL">getBaseURL</a></li>
-
- <li data-name="LuCI.rpc#getSessionID"><a href="LuCI.rpc.html#getSessionID">getSessionID</a></li>
-
- <li data-name="LuCI.rpc#getStatusText"><a href="LuCI.rpc.html#getStatusText">getStatusText</a></li>
-
- <li data-name="LuCI.rpc#list"><a href="LuCI.rpc.html#list">list</a></li>
-
- <li data-name="LuCI.rpc#removeInterceptor"><a href="LuCI.rpc.html#removeInterceptor">removeInterceptor</a></li>
-
- <li data-name="LuCI.rpc#setBaseURL"><a href="LuCI.rpc.html#setBaseURL">setBaseURL</a></li>
-
- <li data-name="LuCI.rpc#setSessionID"><a href="LuCI.rpc.html#setSessionID">setSessionID</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.uci">
- <span class="title">
- <a href="LuCI.uci.html">LuCI.uci</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.uci.ChangeRecord"><a href="LuCI.uci.html#.ChangeRecord">ChangeRecord</a></li>
-
- <li data-name="LuCI.uci.SectionObject"><a href="LuCI.uci.html#.SectionObject">SectionObject</a></li>
-
- <li data-name="LuCI.uci~sectionsFn"><a href="LuCI.uci.html#~sectionsFn">sectionsFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.uci#add"><a href="LuCI.uci.html#add">add</a></li>
-
- <li data-name="LuCI.uci#apply"><a href="LuCI.uci.html#apply">apply</a></li>
-
- <li data-name="LuCI.uci#changes"><a href="LuCI.uci.html#changes">changes</a></li>
-
- <li data-name="LuCI.uci#createSID"><a href="LuCI.uci.html#createSID">createSID</a></li>
-
- <li data-name="LuCI.uci#get"><a href="LuCI.uci.html#get">get</a></li>
-
- <li data-name="LuCI.uci#get_first"><a href="LuCI.uci.html#get_first">get_first</a></li>
-
- <li data-name="LuCI.uci#load"><a href="LuCI.uci.html#load">load</a></li>
-
- <li data-name="LuCI.uci#move"><a href="LuCI.uci.html#move">move</a></li>
-
- <li data-name="LuCI.uci#remove"><a href="LuCI.uci.html#remove">remove</a></li>
-
- <li data-name="LuCI.uci#resolveSID"><a href="LuCI.uci.html#resolveSID">resolveSID</a></li>
-
- <li data-name="LuCI.uci#save"><a href="LuCI.uci.html#save">save</a></li>
-
- <li data-name="LuCI.uci#sections"><a href="LuCI.uci.html#sections">sections</a></li>
-
- <li data-name="LuCI.uci#set"><a href="LuCI.uci.html#set">set</a></li>
-
- <li data-name="LuCI.uci#set_first"><a href="LuCI.uci.html#set_first">set_first</a></li>
-
- <li data-name="LuCI.uci#unload"><a href="LuCI.uci.html#unload">unload</a></li>
-
- <li data-name="LuCI.uci#unset"><a href="LuCI.uci.html#unset">unset</a></li>
-
- <li data-name="LuCI.uci#unset_first"><a href="LuCI.uci.html#unset_first">unset_first</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.view">
- <span class="title">
- <a href="LuCI.view.html">LuCI.view</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.view#addFooter"><a href="LuCI.view.html#addFooter">addFooter</a></li>
-
- <li data-name="LuCI.view#handleReset"><a href="LuCI.view.html#handleReset">handleReset</a></li>
-
- <li data-name="LuCI.view#handleSave"><a href="LuCI.view.html#handleSave">handleSave</a></li>
-
- <li data-name="LuCI.view#handleSaveApply"><a href="LuCI.view.html#handleSaveApply">handleSaveApply</a></li>
-
- <li data-name="LuCI.view#load"><a href="LuCI.view.html#load">load</a></li>
-
- <li data-name="LuCI.view#render"><a href="LuCI.view.html#render">render</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.XHR">
- <span class="title">
- <a href="LuCI.XHR.html">LuCI.XHR</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.XHR#abort"><a href="LuCI.XHR.html#abort">abort</a></li>
-
- <li data-name="LuCI.XHR#busy"><a href="LuCI.XHR.html#busy">busy</a></li>
-
- <li data-name="LuCI.XHR#cancel"><a href="LuCI.XHR.html#cancel">cancel</a></li>
-
- <li data-name="LuCI.XHR#get"><a href="LuCI.XHR.html#get">get</a></li>
-
- <li data-name="LuCI.XHR#post"><a href="LuCI.XHR.html#post">post</a></li>
-
- <li data-name="LuCI.XHR#send_form"><a href="LuCI.XHR.html#send_form">send_form</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- </ul>
-</div>
- <div class="main">
- <h1 class="page-title" data-filename="LuCI.dom.html">Class: dom</h1>
-
-
-
-
-<section>
-
-<header>
- <h2>
- <span class="ancestors"><a href="LuCI.html">LuCI</a>.</span>
-
- dom
- </h2>
-
- <div class="class-description"><p>The <code>dom</code> class provides convenience method for creating and
-manipulating DOM elements.</p></div>
-
-</header>
-
-<article>
- <div class="container-overview">
-
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="dom">
-
- new LuCI.dom<span class="signature">()</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 2065
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dd>
-
-
- </div>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- <h3 class="subsection-title">Methods</h3>
-
- <dl>
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="append">
-
- append<span class="signature">(node, <span class="optional">children</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Node|null}</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 2216
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Appends the given children data to the given node.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>node</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">*</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
-
-
-
-
- <p>The <code>Node</code> argument to append the children to.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>children</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">*</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
-
- <p>The childrens to append to the given node.</p>
-<p>When <code>children</code> is an array, then each item of the array
-will be either appended as child element or text node,
-depending on whether the item is a DOM <code>Node</code> instance or
-some other non-<code>null</code> value. Non-<code>Node</code>, non-<code>null</code> values
-will be converted to strings first before being passed as
-argument to <code>createTextNode()</code>.</p>
-<p>When <code>children</code> is a function, it will be invoked with
-the passed <code>node</code> argument as sole parameter and the <code>append</code>
-function will be invoked again, with the given <code>node</code> argument
-as first and the return value of the <code>children</code> function as
-second parameter.</p>
-<p>When <code>children</code> is is a DOM <code>Node</code> instance, it will be
-appended to the given <code>node</code>.</p>
-<p>When <code>children</code> is any other non-<code>null</code> value, it will be
-converted to a string and appened to the <code>innerHTML</code> property
-of the given <code>node</code>.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Node
- |
-
- null
-
-
- </td>
- <td class="description last">Returns the last children <code>Node</code> appended to the node or <code>null</code>
-if either the <code>node</code> argument was no valid DOM <code>node</code> or if the
-<code>children</code> was <code>null</code> or didn't result in further DOM nodes.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="attr">
-
- attr<span class="signature">(node, key, <span class="optional">val</span>)</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 2331
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Sets attributes or registers event listeners on element nodes.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>node</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">*</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
-
-
-
-
- <p>The <code>Node</code> argument to set the attributes or add the event
-listeners for. When the given <code>node</code> value is not a valid
-DOM <code>Node</code>, the function returns and does nothing.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>key</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-|
-
-<span class="param-type">Object.&lt;string, *></span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
-
-
-
-
- <p>Specifies either the attribute or event handler name to use,
-or an object containing multiple key, value pairs which are
-each added to the node as either attribute or event handler,
-depending on the respective value.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>val</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">*</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
-
- <p>Specifies the attribute value or event handler function to add.
-If the <code>key</code> parameter is an <code>Object</code>, this parameter will be
-ignored.</p>
-<p>When <code>val</code> is of type function, it will be registered as event
-handler on the given <code>node</code> with the <code>key</code> parameter being the
-event name.</p>
-<p>When <code>val</code> is of type object, it will be serialized as JSON and
-added as attribute to the given <code>node</code>, using the given <code>key</code>
-as attribute name.</p>
-<p>When <code>val</code> is of any other type, it will be added as attribute
-to the given <code>node</code> as-is, with the underlying <code>setAttribute()</code>
-call implicitely turning it into a string.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="bindClassInstance">
-
- bindClassInstance<span class="signature">(node, inst)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Class}</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 2565
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Binds the given class instance ot the specified DOM <code>Node</code>.</p>
-<p>This function uses the <code>dom.data()</code> facility to attach the
-passed instance of a Class to a node. This is needed for
-complex widget elements or similar where the corresponding
-class instance responsible for the element must be retrieved
-from DOM nodes obtained by <code>querySelector()</code> or similar means.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>node</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">Node</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The DOM <code>Node</code> instance to bind the class to.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>inst</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">Class</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The Class instance to bind to the node.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
- <h5>Throws:</h5>
-
-
-
-<dl>
- <dt>
- <div class="param-desc">
- <p>Throws a <code>TypeError</code> when the given instance argument isn't
-a valid Class instance.</p>
- </div>
- </dt>
- <dt>
- <dl>
- <dt>
- Type
- </dt>
- <dd>
-
-<span class="param-type">TypeError</span>
-
-
- </dd>
- </dl>
- </dt>
-</dl>
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Class
-
-
- </td>
- <td class="description last">Returns the bound class instance.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="callClassMethod">
-
- callClassMethod<span class="signature">(node, method, params)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{*|null}</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 2619
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Finds a bound class instance on the given node itself or the
-first bound instance on its closest parent node and invokes
-the specified method name on the found class instance.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>node</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">Node</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
-
-
-
-
- <p>The DOM <code>Node</code> instance to start from.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>method</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
-
-
-
-
- <p>The name of the method to invoke on the found class instance.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>params</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">*</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
-
-
-
- <span class="repeatable">repeatable</span>
-
-
- <p>Additional arguments to pass to the invoked method as-is.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- *
- |
-
- null
-
-
- </td>
- <td class="description last">Returns the return value of the invoked method if a class
-instance and method has been found. Returns <code>null</code> if either
-no bound class instance could be found, or if the found
-instance didn't have the requested <code>method</code>.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="content">
-
- content<span class="signature">(node, <span class="optional">children</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Node|null}</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 2283
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Replaces the content of the given node with the given children.</p>
-<p>This function first removes any children of the given DOM
-<code>Node</code> and then adds the given given children following the
-rules outlined below.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>node</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">*</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
-
-
-
-
- <p>The <code>Node</code> argument to replace the children of.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>children</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">*</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
-
- <p>The childrens to replace into the given node.</p>
-<p>When <code>children</code> is an array, then each item of the array
-will be either appended as child element or text node,
-depending on whether the item is a DOM <code>Node</code> instance or
-some other non-<code>null</code> value. Non-<code>Node</code>, non-<code>null</code> values
-will be converted to strings first before being passed as
-argument to <code>createTextNode()</code>.</p>
-<p>When <code>children</code> is a function, it will be invoked with
-the passed <code>node</code> argument as sole parameter and the <code>append</code>
-function will be invoked again, with the given <code>node</code> argument
-as first and the return value of the <code>children</code> function as
-second parameter.</p>
-<p>When <code>children</code> is is a DOM <code>Node</code> instance, it will be
-appended to the given <code>node</code>.</p>
-<p>When <code>children</code> is any other non-<code>null</code> value, it will be
-converted to a string and appened to the <code>innerHTML</code> property
-of the given <code>node</code>.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Node
- |
-
- null
-
-
- </td>
- <td class="description last">Returns the last children <code>Node</code> appended to the node or <code>null</code>
-if either the <code>node</code> argument was no valid DOM <code>node</code> or if the
-<code>children</code> was <code>null</code> or didn't result in further DOM nodes.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="create">
-
- create<span class="signature">(html, <span class="optional">attr</span>, <span class="optional">data</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Node}</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 2409
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Creates a new DOM <code>Node</code> from the given <code>html</code>, <code>attr</code> and
-<code>data</code> parameters.</p>
-<p>This function has multiple signatures, it can be either invoked
-in the form <code>create(html[, attr[, data]])</code> or in the form
-<code>create(html[, data])</code>. The used variant is determined from the
-type of the second argument.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>html</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">*</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
-
-
-
-
- <p>Describes the node to create.</p>
-<p>When the value of <code>html</code> is of type array, a <code>DocumentFragment</code>
-node is created and each item of the array is first converted
-to a DOM <code>Node</code> by passing it through <code>create()</code> and then added
-as child to the fragment.</p>
-<p>When the value of <code>html</code> is a DOM <code>Node</code> instance, no new
-element will be created but the node will be used as-is.</p>
-<p>When the value of <code>html</code> is a string starting with <code>&lt;</code>, it will
-be passed to <code>dom.parse()</code> and the resulting value is used.</p>
-<p>When the value of <code>html</code> is any other string, it will be passed
-to <code>document.createElement()</code> for creating a new DOM <code>Node</code> of
-the given name.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>attr</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">Object.&lt;string, *></span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
-
- <p>Specifies an Object of key, value pairs to set as attributes
-or event handlers on the created node. Refer to
-<a href="LuCI.dom.html#attr"><code>dom.attr()</code></a> for details.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>data</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">*</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
-
- <p>Specifies children to append to the newly created element.
-Refer to <a href="LuCI.dom.html#append"><code>dom.append()</code></a> for details.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
- <h5>Throws:</h5>
-
-
-
-<dl>
- <dt>
- <div class="param-desc">
- <p>Throws an <code>InvalidCharacterError</code> when the given <code>html</code>
-argument contained malformed markup (such as not escaped
-<code>&amp;</code> characters in XHTML mode) or when the given node name
-in <code>html</code> contains characters which are not legal in DOM
-element names, such as spaces.</p>
- </div>
- </dt>
- <dt>
- <dl>
- <dt>
- Type
- </dt>
- <dd>
-
-<span class="param-type">InvalidCharacterError</span>
-
-
- </dd>
- </dl>
- </dt>
-</dl>
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Node
-
-
- </td>
- <td class="description last">Returns the newly created <code>Node</code>.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="data">
-
- data<span class="signature">(node, <span class="optional">key</span>, <span class="optional">val</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{*}</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 2485
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Attaches or detaches arbitrary data to and from a DOM <code>Node</code>.</p>
-<p>This function is useful to attach non-string values or runtime
-data that is not serializable to DOM nodes. To decouple data
-from the DOM, values are not added directly to nodes, but
-inserted into a registry instead which is then referenced by a
-string key stored as <code>data-idref</code> attribute in the node.</p>
-<p>This function has multiple signatures and is sensitive to the
-number of arguments passed to it.</p>
-<ul>
-<li><code>dom.data(node)</code> -
-Fetches all data associated with the given node.</li>
-<li><code>dom.data(node, key)</code> -
-Fetches a specific key associated with the given node.</li>
-<li><code>dom.data(node, key, val)</code> -
-Sets a specific key to the given value associated with the
-given node.</li>
-<li><code>dom.data(node, null)</code> -
-Clears any data associated with the node.</li>
-<li><code>dom.data(node, key, null)</code> -
-Clears the given key associated with the node.</li>
-</ul>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>node</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">Node</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
-
-
-
-
- <p>The DOM <code>Node</code> instance to set or retrieve the data for.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>key</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-|
-
-<span class="param-type">null</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
-
- <p>This is either a string specifying the key to retrieve, or
-<code>null</code> to unset the entire node data.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>val</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">*</span>
-|
-
-<span class="param-type">null</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
-
- <p>This is either a non-<code>null</code> value to set for a given key or
-<code>null</code> to remove the given <code>key</code> from the specified node.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- *
-
-
- </td>
- <td class="description last">Returns the get or set value, or <code>null</code> when no value could
-be found.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="elem">
-
- elem<span class="signature">(e)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 2079
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Tests whether the given argument is a valid DOM <code>Node</code>.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>e</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">*</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The value to test.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- boolean
-
-
- </td>
- <td class="description last">Returns <code>true</code> if the value is a DOM <code>Node</code>, else <code>false</code>.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="findClassInstance">
-
- findClassInstance<span class="signature">(node)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Class|null}</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 2585
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Finds a bound class instance on the given node itself or the
-first bound instance on its closest parent node.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>node</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">Node</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The DOM <code>Node</code> instance to start from.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Class
- |
-
- null
-
-
- </td>
- <td class="description last">Returns the founds class instance if any or <code>null</code> if no bound
-class could be found on the node itself or any of its parents.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="isEmpty">
-
- isEmpty<span class="signature">(node, <span class="optional">ignoreFn</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 2665
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Tests whether a given DOM <code>Node</code> instance is empty or appears
-empty.</p>
-<p>Any element child nodes which have the CSS class <code>hidden</code> set
-or for which the optionally passed <code>ignoreFn</code> callback function
-returns <code>false</code> are ignored.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>node</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">Node</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
-
-
-
-
- <p>The DOM <code>Node</code> instance to test.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>ignoreFn</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type"><a href="LuCI.dom.html#~ignoreCallbackFn">LuCI.dom~ignoreCallbackFn</a></span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
-
- <p>Specifies an optional function which is invoked for each child
-node to decide whether the child node should be ignored or not.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- boolean
-
-
- </td>
- <td class="description last">Returns <code>true</code> if the node does not have any children or if
-any children node either has a <code>hidden</code> CSS class or a <code>false</code>
-result when testing it using the given <code>ignoreFn</code>.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="matches">
-
- matches<span class="signature">(node, <span class="optional">selector</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 2140
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Tests whether a given <code>Node</code> matches the given query selector.</p>
-<p>This function is a convenience wrapper around the standard
-<code>Node.matches(&quot;selector&quot;)</code> function with the added benefit that
-the <code>node</code> argument may be a non-<code>Node</code> value, in which case
-this function simply returns <code>false</code>.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>node</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">*</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
-
-
-
-
- <p>The <code>Node</code> argument to test the selector against.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>selector</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
-
- <p>The query selector expression to test against the given node.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- boolean
-
-
- </td>
- <td class="description last">Returns <code>true</code> if the given node matches the specified selector
-or <code>false</code> when the node argument is no valid DOM <code>Node</code> or the
-selector didn't match.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="parent">
-
- parent<span class="signature">(node, <span class="optional">selector</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Node|null}</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 2167
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Returns the closest parent node that matches the given query
-selector expression.</p>
-<p>This function is a convenience wrapper around the standard
-<code>Node.closest(&quot;selector&quot;)</code> function with the added benefit that
-the <code>node</code> argument may be a non-<code>Node</code> value, in which case
-this function simply returns <code>null</code>.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>node</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">*</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
-
-
-
-
- <p>The <code>Node</code> argument to find the closest parent for.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>selector</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
-
- <p>The query selector expression to test against each parent.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Node
- |
-
- null
-
-
- </td>
- <td class="description last">Returns the closest parent node matching the selector or
-<code>null</code> when the node argument is no valid DOM <code>Node</code> or the
-selector didn't match any parent.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="parse">
-
- parse<span class="signature">(s)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Node}</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 2098
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Parses a given string as HTML and returns the first child node.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>s</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>A string containing an HTML fragment to parse. Note that only
-the first result of the resulting structure is returned, so an
-input value of <code>&lt;div&gt;foo&lt;/div&gt; &lt;div&gt;bar&lt;/div&gt;</code> will only return
-the first <code>div</code> element node.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Node
-
-
- </td>
- <td class="description last">Returns the first DOM <code>Node</code> extracted from the HTML fragment or
-<code>null</code> on parsing failures or if no element could be found.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
- </dl>
-
-
-
- <h3 class="subsection-title">Type Definitions</h3>
-
- <dl>
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="~ignoreCallbackFn">
-
- ignoreCallbackFn<span class="signature">(node)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 2628
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>The ignore callback function is invoked by <code>isEmpty()</code> for each
-child node to decide whether to ignore a child node or not.</p>
-<p>When this function returns <code>false</code>, the node passed to it is
-ignored, else not.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>node</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">Node</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The child node to test.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- boolean
-
-
- </td>
- <td class="description last">Boolean indicating whether to ignore the node or not.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
- </dl>
-
-
-
-
-
-</article>
-
-</section>
-
-
-
-
-
-
-
- <footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Nov 05 2019 10:17:12 GMT+0100 (Central European Standard Time)
- </footer>
- </div>
-</div>
-<script>prettyPrint();</script>
-<script src="scripts/jaguar.js"></script>
-</body>
-</html> \ No newline at end of file
diff --git a/documentation/jsapi/LuCI.fs.html b/documentation/jsapi/LuCI.fs.html
deleted file mode 100644
index cfc0dc9cef..0000000000
--- a/documentation/jsapi/LuCI.fs.html
+++ /dev/null
@@ -1,2987 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <meta charset="utf-8">
- <title>Class: fs</title>
-
-
- <script src="scripts/prettify/prettify.js"></script>
- <script src="scripts/prettify/lang-css.js"></script>
- <script src="scripts/jquery.min.js"></script>
- <!--[if lt IE 9]>
- <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
- <![endif]-->
- <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
- <link type="text/css" rel="stylesheet" href="styles/bootstrap.min.css">
- <link type="text/css" rel="stylesheet" href="styles/jaguar.css">
-
-
- <script>
- var config = {"monospaceLinks":true,"cleverLinks":true,"default":{}};
- </script>
-
-
-
-</head>
-<body>
-<div id="wrap" class="clearfix">
-
-<div class="navigation">
- <h3 class="applicationName"><a href="index.html"></a></h3>
-
- <div class="search">
- <input id="search" type="text" class="form-control input-sm" placeholder="Search Documentations">
- </div>
- <ul class="list">
-
- <li class="item" data-name="LuCI">
- <span class="title">
- <a href="LuCI.html">LuCI</a>
-
- </span>
- <ul class="members itemMembers">
-
- <span class="subtitle">Members</span>
-
- <li data-name="LuCI#env"><a href="LuCI.html#env">env</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.requestCallbackFn"><a href="LuCI.html#.requestCallbackFn">requestCallbackFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI#bind"><a href="LuCI.html#bind">bind</a></li>
-
- <li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
-
- <li data-name="LuCI#get"><a href="LuCI.html#get">get</a></li>
-
- <li data-name="LuCI#halt"><a href="LuCI.html#halt">halt</a></li>
-
- <li data-name="LuCI#hasSystemFeature"><a href="LuCI.html#hasSystemFeature">hasSystemFeature</a></li>
-
- <li data-name="LuCI#isObject"><a href="LuCI.html#isObject">isObject</a></li>
-
- <li data-name="LuCI#location"><a href="LuCI.html#location">location</a></li>
-
- <li data-name="LuCI#path"><a href="LuCI.html#path">path</a></li>
-
- <li data-name="LuCI#poll"><a href="LuCI.html#poll">poll</a></li>
-
- <li data-name="LuCI#post"><a href="LuCI.html#post">post</a></li>
-
- <li data-name="LuCI#raise"><a href="LuCI.html#raise">raise</a></li>
-
- <li data-name="LuCI#require"><a href="LuCI.html#require">require</a></li>
-
- <li data-name="LuCI#resolveDefault"><a href="LuCI.html#resolveDefault">resolveDefault</a></li>
-
- <li data-name="LuCI#resource"><a href="LuCI.html#resource">resource</a></li>
-
- <li data-name="LuCI#run"><a href="LuCI.html#run">run</a></li>
-
- <li data-name="LuCI#sortedKeys"><a href="LuCI.html#sortedKeys">sortedKeys</a></li>
-
- <li data-name="LuCI#stop"><a href="LuCI.html#stop">stop</a></li>
-
- <li data-name="LuCI#toArray"><a href="LuCI.html#toArray">toArray</a></li>
-
- <li data-name="LuCI#url"><a href="LuCI.html#url">url</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Class">
- <span class="title">
- <a href="LuCI.Class.html">LuCI.Class</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Class.extend"><a href="LuCI.Class.html#.extend">extend</a></li>
-
- <li data-name="LuCI.Class.instantiate"><a href="LuCI.Class.html#.instantiate">instantiate</a></li>
-
- <li data-name="LuCI.Class.isSubclass"><a href="LuCI.Class.html#.isSubclass">isSubclass</a></li>
-
- <li data-name="LuCI.Class.singleton"><a href="LuCI.Class.html#.singleton">singleton</a></li>
-
- <li data-name="LuCI.Class#super"><a href="LuCI.Class.html#super">super</a></li>
-
- <li data-name="LuCI.Class#varargs"><a href="LuCI.Class.html#varargs">varargs</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.dom">
- <span class="title">
- <a href="LuCI.dom.html">LuCI.dom</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.dom~ignoreCallbackFn"><a href="LuCI.dom.html#~ignoreCallbackFn">ignoreCallbackFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.dom#append"><a href="LuCI.dom.html#append">append</a></li>
-
- <li data-name="LuCI.dom#attr"><a href="LuCI.dom.html#attr">attr</a></li>
-
- <li data-name="LuCI.dom#bindClassInstance"><a href="LuCI.dom.html#bindClassInstance">bindClassInstance</a></li>
-
- <li data-name="LuCI.dom#callClassMethod"><a href="LuCI.dom.html#callClassMethod">callClassMethod</a></li>
-
- <li data-name="LuCI.dom#content"><a href="LuCI.dom.html#content">content</a></li>
-
- <li data-name="LuCI.dom#create"><a href="LuCI.dom.html#create">create</a></li>
-
- <li data-name="LuCI.dom#data"><a href="LuCI.dom.html#data">data</a></li>
-
- <li data-name="LuCI.dom#elem"><a href="LuCI.dom.html#elem">elem</a></li>
-
- <li data-name="LuCI.dom#findClassInstance"><a href="LuCI.dom.html#findClassInstance">findClassInstance</a></li>
-
- <li data-name="LuCI.dom#isEmpty"><a href="LuCI.dom.html#isEmpty">isEmpty</a></li>
-
- <li data-name="LuCI.dom#matches"><a href="LuCI.dom.html#matches">matches</a></li>
-
- <li data-name="LuCI.dom#parent"><a href="LuCI.dom.html#parent">parent</a></li>
-
- <li data-name="LuCI.dom#parse"><a href="LuCI.dom.html#parse">parse</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.fs">
- <span class="title">
- <a href="LuCI.fs.html">LuCI.fs</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.fs.FileExecResult"><a href="LuCI.fs.html#.FileExecResult">FileExecResult</a></li>
-
- <li data-name="LuCI.fs.FileStatEntry"><a href="LuCI.fs.html#.FileStatEntry">FileStatEntry</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.fs#exec"><a href="LuCI.fs.html#exec">exec</a></li>
-
- <li data-name="LuCI.fs#lines"><a href="LuCI.fs.html#lines">lines</a></li>
-
- <li data-name="LuCI.fs#list"><a href="LuCI.fs.html#list">list</a></li>
-
- <li data-name="LuCI.fs#read"><a href="LuCI.fs.html#read">read</a></li>
-
- <li data-name="LuCI.fs#remove"><a href="LuCI.fs.html#remove">remove</a></li>
-
- <li data-name="LuCI.fs#stat"><a href="LuCI.fs.html#stat">stat</a></li>
-
- <li data-name="LuCI.fs#trimmed"><a href="LuCI.fs.html#trimmed">trimmed</a></li>
-
- <li data-name="LuCI.fs#write"><a href="LuCI.fs.html#write">write</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Headers">
- <span class="title">
- <a href="LuCI.Headers.html">LuCI.Headers</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Headers#get"><a href="LuCI.Headers.html#get">get</a></li>
-
- <li data-name="LuCI.Headers#has"><a href="LuCI.Headers.html#has">has</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network">
- <span class="title">
- <a href="LuCI.Network.html">LuCI.Network</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.Network.SwitchTopology"><a href="LuCI.Network.html#.SwitchTopology">SwitchTopology</a></li>
-
- <li data-name="LuCI.Network.WifiEncryption"><a href="LuCI.Network.html#.WifiEncryption">WifiEncryption</a></li>
-
- <li data-name="LuCI.Network.WifiPeerEntry"><a href="LuCI.Network.html#.WifiPeerEntry">WifiPeerEntry</a></li>
-
- <li data-name="LuCI.Network.WifiRateEntry"><a href="LuCI.Network.html#.WifiRateEntry">WifiRateEntry</a></li>
-
- <li data-name="LuCI.Network.WifiScanResult"><a href="LuCI.Network.html#.WifiScanResult">WifiScanResult</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network#addNetwork"><a href="LuCI.Network.html#addNetwork">addNetwork</a></li>
-
- <li data-name="LuCI.Network#addWifiNetwork"><a href="LuCI.Network.html#addWifiNetwork">addWifiNetwork</a></li>
-
- <li data-name="LuCI.Network#deleteNetwork"><a href="LuCI.Network.html#deleteNetwork">deleteNetwork</a></li>
-
- <li data-name="LuCI.Network#deleteWifiNetwork"><a href="LuCI.Network.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
-
- <li data-name="LuCI.Network#flushCache"><a href="LuCI.Network.html#flushCache">flushCache</a></li>
-
- <li data-name="LuCI.Network#formatWifiEncryption"><a href="LuCI.Network.html#formatWifiEncryption">formatWifiEncryption</a></li>
-
- <li data-name="LuCI.Network#getDevice"><a href="LuCI.Network.html#getDevice">getDevice</a></li>
-
- <li data-name="LuCI.Network#getDevices"><a href="LuCI.Network.html#getDevices">getDevices</a></li>
-
- <li data-name="LuCI.Network#getDSLModemType"><a href="LuCI.Network.html#getDSLModemType">getDSLModemType</a></li>
-
- <li data-name="LuCI.Network#getHostHints"><a href="LuCI.Network.html#getHostHints">getHostHints</a></li>
-
- <li data-name="LuCI.Network#getIfnameOf"><a href="LuCI.Network.html#getIfnameOf">getIfnameOf</a></li>
-
- <li data-name="LuCI.Network#getNetwork"><a href="LuCI.Network.html#getNetwork">getNetwork</a></li>
-
- <li data-name="LuCI.Network#getNetworks"><a href="LuCI.Network.html#getNetworks">getNetworks</a></li>
-
- <li data-name="LuCI.Network#getProtocol"><a href="LuCI.Network.html#getProtocol">getProtocol</a></li>
-
- <li data-name="LuCI.Network#getProtocols"><a href="LuCI.Network.html#getProtocols">getProtocols</a></li>
-
- <li data-name="LuCI.Network#getSwitchTopologies"><a href="LuCI.Network.html#getSwitchTopologies">getSwitchTopologies</a></li>
-
- <li data-name="LuCI.Network#getWAN6Networks"><a href="LuCI.Network.html#getWAN6Networks">getWAN6Networks</a></li>
-
- <li data-name="LuCI.Network#getWANNetworks"><a href="LuCI.Network.html#getWANNetworks">getWANNetworks</a></li>
-
- <li data-name="LuCI.Network#getWifiDevice"><a href="LuCI.Network.html#getWifiDevice">getWifiDevice</a></li>
-
- <li data-name="LuCI.Network#getWifiDevices"><a href="LuCI.Network.html#getWifiDevices">getWifiDevices</a></li>
-
- <li data-name="LuCI.Network#getWifiNetwork"><a href="LuCI.Network.html#getWifiNetwork">getWifiNetwork</a></li>
-
- <li data-name="LuCI.Network#isIgnoredDevice"><a href="LuCI.Network.html#isIgnoredDevice">isIgnoredDevice</a></li>
-
- <li data-name="LuCI.Network#maskToPrefix"><a href="LuCI.Network.html#maskToPrefix">maskToPrefix</a></li>
-
- <li data-name="LuCI.Network#prefixToMask"><a href="LuCI.Network.html#prefixToMask">prefixToMask</a></li>
-
- <li data-name="LuCI.Network#registerErrorCode"><a href="LuCI.Network.html#registerErrorCode">registerErrorCode</a></li>
-
- <li data-name="LuCI.Network#registerPatternVirtual"><a href="LuCI.Network.html#registerPatternVirtual">registerPatternVirtual</a></li>
-
- <li data-name="LuCI.Network#registerProtocol"><a href="LuCI.Network.html#registerProtocol">registerProtocol</a></li>
-
- <li data-name="LuCI.Network#renameNetwork"><a href="LuCI.Network.html#renameNetwork">renameNetwork</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.Device">
- <span class="title">
- <a href="LuCI.Network.Device.html">LuCI.Network.Device</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.Device#getBridgeID"><a href="LuCI.Network.Device.html#getBridgeID">getBridgeID</a></li>
-
- <li data-name="LuCI.Network.Device#getBridgeSTP"><a href="LuCI.Network.Device.html#getBridgeSTP">getBridgeSTP</a></li>
-
- <li data-name="LuCI.Network.Device#getI18n"><a href="LuCI.Network.Device.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.Device#getIP6Addrs"><a href="LuCI.Network.Device.html#getIP6Addrs">getIP6Addrs</a></li>
-
- <li data-name="LuCI.Network.Device#getIPAddrs"><a href="LuCI.Network.Device.html#getIPAddrs">getIPAddrs</a></li>
-
- <li data-name="LuCI.Network.Device#getMAC"><a href="LuCI.Network.Device.html#getMAC">getMAC</a></li>
-
- <li data-name="LuCI.Network.Device#getMTU"><a href="LuCI.Network.Device.html#getMTU">getMTU</a></li>
-
- <li data-name="LuCI.Network.Device#getName"><a href="LuCI.Network.Device.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.Device#getNetwork"><a href="LuCI.Network.Device.html#getNetwork">getNetwork</a></li>
-
- <li data-name="LuCI.Network.Device#getNetworks"><a href="LuCI.Network.Device.html#getNetworks">getNetworks</a></li>
-
- <li data-name="LuCI.Network.Device#getPorts"><a href="LuCI.Network.Device.html#getPorts">getPorts</a></li>
-
- <li data-name="LuCI.Network.Device#getRXBytes"><a href="LuCI.Network.Device.html#getRXBytes">getRXBytes</a></li>
-
- <li data-name="LuCI.Network.Device#getRXPackets"><a href="LuCI.Network.Device.html#getRXPackets">getRXPackets</a></li>
-
- <li data-name="LuCI.Network.Device#getShortName"><a href="LuCI.Network.Device.html#getShortName">getShortName</a></li>
-
- <li data-name="LuCI.Network.Device#getTXBytes"><a href="LuCI.Network.Device.html#getTXBytes">getTXBytes</a></li>
-
- <li data-name="LuCI.Network.Device#getTXPackets"><a href="LuCI.Network.Device.html#getTXPackets">getTXPackets</a></li>
-
- <li data-name="LuCI.Network.Device#getType"><a href="LuCI.Network.Device.html#getType">getType</a></li>
-
- <li data-name="LuCI.Network.Device#getTypeI18n"><a href="LuCI.Network.Device.html#getTypeI18n">getTypeI18n</a></li>
-
- <li data-name="LuCI.Network.Device#getWifiNetwork"><a href="LuCI.Network.Device.html#getWifiNetwork">getWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.Device#isBridge"><a href="LuCI.Network.Device.html#isBridge">isBridge</a></li>
-
- <li data-name="LuCI.Network.Device#isBridgePort"><a href="LuCI.Network.Device.html#isBridgePort">isBridgePort</a></li>
-
- <li data-name="LuCI.Network.Device#isUp"><a href="LuCI.Network.Device.html#isUp">isUp</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.Hosts">
- <span class="title">
- <a href="LuCI.Network.Hosts.html">LuCI.Network.Hosts</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.Hosts#getHostnameByIP6Addr"><a href="LuCI.Network.Hosts.html#getHostnameByIP6Addr">getHostnameByIP6Addr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getHostnameByIPAddr"><a href="LuCI.Network.Hosts.html#getHostnameByIPAddr">getHostnameByIPAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getHostnameByMACAddr"><a href="LuCI.Network.Hosts.html#getHostnameByMACAddr">getHostnameByMACAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getIP6AddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIP6AddrByMACAddr">getIP6AddrByMACAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getIPAddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIPAddrByMACAddr">getIPAddrByMACAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getMACAddrByIP6Addr"><a href="LuCI.Network.Hosts.html#getMACAddrByIP6Addr">getMACAddrByIP6Addr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getMACAddrByIPAddr"><a href="LuCI.Network.Hosts.html#getMACAddrByIPAddr">getMACAddrByIPAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getMACHints"><a href="LuCI.Network.Hosts.html#getMACHints">getMACHints</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.Protocol">
- <span class="title">
- <a href="LuCI.Network.Protocol.html">LuCI.Network.Protocol</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.Protocol#addDevice"><a href="LuCI.Network.Protocol.html#addDevice">addDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#containsDevice"><a href="LuCI.Network.Protocol.html#containsDevice">containsDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#deleteDevice"><a href="LuCI.Network.Protocol.html#deleteDevice">deleteDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#get"><a href="LuCI.Network.Protocol.html#get">get</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDevice"><a href="LuCI.Network.Protocol.html#getDevice">getDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDevices"><a href="LuCI.Network.Protocol.html#getDevices">getDevices</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDNS6Addrs"><a href="LuCI.Network.Protocol.html#getDNS6Addrs">getDNS6Addrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDNSAddrs"><a href="LuCI.Network.Protocol.html#getDNSAddrs">getDNSAddrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getErrors"><a href="LuCI.Network.Protocol.html#getErrors">getErrors</a></li>
-
- <li data-name="LuCI.Network.Protocol#getExpiry"><a href="LuCI.Network.Protocol.html#getExpiry">getExpiry</a></li>
-
- <li data-name="LuCI.Network.Protocol#getGateway6Addr"><a href="LuCI.Network.Protocol.html#getGateway6Addr">getGateway6Addr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getGatewayAddr"><a href="LuCI.Network.Protocol.html#getGatewayAddr">getGatewayAddr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getI18n"><a href="LuCI.Network.Protocol.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIfname"><a href="LuCI.Network.Protocol.html#getIfname">getIfname</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIP6Addr"><a href="LuCI.Network.Protocol.html#getIP6Addr">getIP6Addr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIP6Addrs"><a href="LuCI.Network.Protocol.html#getIP6Addrs">getIP6Addrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIP6Prefix"><a href="LuCI.Network.Protocol.html#getIP6Prefix">getIP6Prefix</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIPAddr"><a href="LuCI.Network.Protocol.html#getIPAddr">getIPAddr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIPAddrs"><a href="LuCI.Network.Protocol.html#getIPAddrs">getIPAddrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getL2Device"><a href="LuCI.Network.Protocol.html#getL2Device">getL2Device</a></li>
-
- <li data-name="LuCI.Network.Protocol#getL3Device"><a href="LuCI.Network.Protocol.html#getL3Device">getL3Device</a></li>
-
- <li data-name="LuCI.Network.Protocol#getMetric"><a href="LuCI.Network.Protocol.html#getMetric">getMetric</a></li>
-
- <li data-name="LuCI.Network.Protocol#getName"><a href="LuCI.Network.Protocol.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.Protocol#getNetmask"><a href="LuCI.Network.Protocol.html#getNetmask">getNetmask</a></li>
-
- <li data-name="LuCI.Network.Protocol#getOpkgPackage"><a href="LuCI.Network.Protocol.html#getOpkgPackage">getOpkgPackage</a></li>
-
- <li data-name="LuCI.Network.Protocol#getProtocol"><a href="LuCI.Network.Protocol.html#getProtocol">getProtocol</a></li>
-
- <li data-name="LuCI.Network.Protocol#getType"><a href="LuCI.Network.Protocol.html#getType">getType</a></li>
-
- <li data-name="LuCI.Network.Protocol#getUptime"><a href="LuCI.Network.Protocol.html#getUptime">getUptime</a></li>
-
- <li data-name="LuCI.Network.Protocol#getZoneName"><a href="LuCI.Network.Protocol.html#getZoneName">getZoneName</a></li>
-
- <li data-name="LuCI.Network.Protocol#isAlias"><a href="LuCI.Network.Protocol.html#isAlias">isAlias</a></li>
-
- <li data-name="LuCI.Network.Protocol#isBridge"><a href="LuCI.Network.Protocol.html#isBridge">isBridge</a></li>
-
- <li data-name="LuCI.Network.Protocol#isDynamic"><a href="LuCI.Network.Protocol.html#isDynamic">isDynamic</a></li>
-
- <li data-name="LuCI.Network.Protocol#isEmpty"><a href="LuCI.Network.Protocol.html#isEmpty">isEmpty</a></li>
-
- <li data-name="LuCI.Network.Protocol#isFloating"><a href="LuCI.Network.Protocol.html#isFloating">isFloating</a></li>
-
- <li data-name="LuCI.Network.Protocol#isInstalled"><a href="LuCI.Network.Protocol.html#isInstalled">isInstalled</a></li>
-
- <li data-name="LuCI.Network.Protocol#isUp"><a href="LuCI.Network.Protocol.html#isUp">isUp</a></li>
-
- <li data-name="LuCI.Network.Protocol#isVirtual"><a href="LuCI.Network.Protocol.html#isVirtual">isVirtual</a></li>
-
- <li data-name="LuCI.Network.Protocol#set"><a href="LuCI.Network.Protocol.html#set">set</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.WifiDevice">
- <span class="title">
- <a href="LuCI.Network.WifiDevice.html">LuCI.Network.WifiDevice</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.WifiDevice#addWifiNetwork"><a href="LuCI.Network.WifiDevice.html#addWifiNetwork">addWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#deleteWifiNetwork"><a href="LuCI.Network.WifiDevice.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#get"><a href="LuCI.Network.WifiDevice.html#get">get</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getHTModes"><a href="LuCI.Network.WifiDevice.html#getHTModes">getHTModes</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getHWModes"><a href="LuCI.Network.WifiDevice.html#getHWModes">getHWModes</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getI18n"><a href="LuCI.Network.WifiDevice.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getName"><a href="LuCI.Network.WifiDevice.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getScanList"><a href="LuCI.Network.WifiDevice.html#getScanList">getScanList</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getWifiNetwork"><a href="LuCI.Network.WifiDevice.html#getWifiNetwork">getWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getWifiNetworks"><a href="LuCI.Network.WifiDevice.html#getWifiNetworks">getWifiNetworks</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#isDisabled"><a href="LuCI.Network.WifiDevice.html#isDisabled">isDisabled</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#isUp"><a href="LuCI.Network.WifiDevice.html#isUp">isUp</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#set"><a href="LuCI.Network.WifiDevice.html#set">set</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.WifiNetwork">
- <span class="title">
- <a href="LuCI.Network.WifiNetwork.html">LuCI.Network.WifiNetwork</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.WifiNetwork#get"><a href="LuCI.Network.WifiNetwork.html#get">get</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveBSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveBSSID">getActiveBSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveEncryption"><a href="LuCI.Network.WifiNetwork.html#getActiveEncryption">getActiveEncryption</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveMode"><a href="LuCI.Network.WifiNetwork.html#getActiveMode">getActiveMode</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveModeI18n"><a href="LuCI.Network.WifiNetwork.html#getActiveModeI18n">getActiveModeI18n</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveSSID">getActiveSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getAssocList"><a href="LuCI.Network.WifiNetwork.html#getAssocList">getAssocList</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getBitRate"><a href="LuCI.Network.WifiNetwork.html#getBitRate">getBitRate</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getBSSID"><a href="LuCI.Network.WifiNetwork.html#getBSSID">getBSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getChannel"><a href="LuCI.Network.WifiNetwork.html#getChannel">getChannel</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getCountryCode"><a href="LuCI.Network.WifiNetwork.html#getCountryCode">getCountryCode</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getDevice"><a href="LuCI.Network.WifiNetwork.html#getDevice">getDevice</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getFrequency"><a href="LuCI.Network.WifiNetwork.html#getFrequency">getFrequency</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getI18n"><a href="LuCI.Network.WifiNetwork.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getID"><a href="LuCI.Network.WifiNetwork.html#getID">getID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getIfname"><a href="LuCI.Network.WifiNetwork.html#getIfname">getIfname</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getMeshID"><a href="LuCI.Network.WifiNetwork.html#getMeshID">getMeshID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getMode"><a href="LuCI.Network.WifiNetwork.html#getMode">getMode</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getName"><a href="LuCI.Network.WifiNetwork.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNetwork"><a href="LuCI.Network.WifiNetwork.html#getNetwork">getNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNetworkNames"><a href="LuCI.Network.WifiNetwork.html#getNetworkNames">getNetworkNames</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNetworks"><a href="LuCI.Network.WifiNetwork.html#getNetworks">getNetworks</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNoise"><a href="LuCI.Network.WifiNetwork.html#getNoise">getNoise</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getShortName"><a href="LuCI.Network.WifiNetwork.html#getShortName">getShortName</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSignal"><a href="LuCI.Network.WifiNetwork.html#getSignal">getSignal</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSignalLevel"><a href="LuCI.Network.WifiNetwork.html#getSignalLevel">getSignalLevel</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSignalPercent"><a href="LuCI.Network.WifiNetwork.html#getSignalPercent">getSignalPercent</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSSID"><a href="LuCI.Network.WifiNetwork.html#getSSID">getSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getTXPower"><a href="LuCI.Network.WifiNetwork.html#getTXPower">getTXPower</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getTXPowerOffset"><a href="LuCI.Network.WifiNetwork.html#getTXPowerOffset">getTXPowerOffset</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getWifiDevice"><a href="LuCI.Network.WifiNetwork.html#getWifiDevice">getWifiDevice</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getWifiDeviceName"><a href="LuCI.Network.WifiNetwork.html#getWifiDeviceName">getWifiDeviceName</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#isDisabled"><a href="LuCI.Network.WifiNetwork.html#isDisabled">isDisabled</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#isUp"><a href="LuCI.Network.WifiNetwork.html#isUp">isUp</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#set"><a href="LuCI.Network.WifiNetwork.html#set">set</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Poll">
- <span class="title">
- <a href="LuCI.Poll.html">LuCI.Poll</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Poll#active"><a href="LuCI.Poll.html#active">active</a></li>
-
- <li data-name="LuCI.Poll#add"><a href="LuCI.Poll.html#add">add</a></li>
-
- <li data-name="LuCI.Poll#remove"><a href="LuCI.Poll.html#remove">remove</a></li>
-
- <li data-name="LuCI.Poll#start"><a href="LuCI.Poll.html#start">start</a></li>
-
- <li data-name="LuCI.Poll#stop"><a href="LuCI.Poll.html#stop">stop</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Request">
- <span class="title">
- <a href="LuCI.Request.html">LuCI.Request</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.Request.interceptorFn"><a href="LuCI.Request.html#.interceptorFn">interceptorFn</a></li>
-
- <li data-name="LuCI.Request.RequestOptions"><a href="LuCI.Request.html#.RequestOptions">RequestOptions</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Request#addInterceptor"><a href="LuCI.Request.html#addInterceptor">addInterceptor</a></li>
-
- <li data-name="LuCI.Request#expandURL"><a href="LuCI.Request.html#expandURL">expandURL</a></li>
-
- <li data-name="LuCI.Request#get"><a href="LuCI.Request.html#get">get</a></li>
-
- <li data-name="LuCI.Request#post"><a href="LuCI.Request.html#post">post</a></li>
-
- <li data-name="LuCI.Request#removeInterceptor"><a href="LuCI.Request.html#removeInterceptor">removeInterceptor</a></li>
-
- <li data-name="LuCI.Request#request"><a href="LuCI.Request.html#request">request</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Request.poll">
- <span class="title">
- <a href="LuCI.Request.poll.html">LuCI.Request.poll</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.Request.poll~callbackFn"><a href="LuCI.Request.poll.html#~callbackFn">callbackFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Request.poll#active"><a href="LuCI.Request.poll.html#active">active</a></li>
-
- <li data-name="LuCI.Request.poll#add"><a href="LuCI.Request.poll.html#add">add</a></li>
-
- <li data-name="LuCI.Request.poll#remove"><a href="LuCI.Request.poll.html#remove">remove</a></li>
-
- <li data-name="LuCI.Request.poll#start"><a href="LuCI.Request.poll.html#start">start</a></li>
-
- <li data-name="LuCI.Request.poll#stop"><a href="LuCI.Request.poll.html#stop">stop</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Response">
- <span class="title">
- <a href="LuCI.Response.html">LuCI.Response</a>
-
- </span>
- <ul class="members itemMembers">
-
- <span class="subtitle">Members</span>
-
- <li data-name="LuCI.Response#duration"><a href="LuCI.Response.html#duration">duration</a></li>
-
- <li data-name="LuCI.Response#headers"><a href="LuCI.Response.html#headers">headers</a></li>
-
- <li data-name="LuCI.Response#ok"><a href="LuCI.Response.html#ok">ok</a></li>
-
- <li data-name="LuCI.Response#status"><a href="LuCI.Response.html#status">status</a></li>
-
- <li data-name="LuCI.Response#statusText"><a href="LuCI.Response.html#statusText">statusText</a></li>
-
- <li data-name="LuCI.Response#url"><a href="LuCI.Response.html#url">url</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Response#clone"><a href="LuCI.Response.html#clone">clone</a></li>
-
- <li data-name="LuCI.Response#json"><a href="LuCI.Response.html#json">json</a></li>
-
- <li data-name="LuCI.Response#text"><a href="LuCI.Response.html#text">text</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.rpc">
- <span class="title">
- <a href="LuCI.rpc.html">LuCI.rpc</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.rpc.DeclareOptions"><a href="LuCI.rpc.html#.DeclareOptions">DeclareOptions</a></li>
-
- <li data-name="LuCI.rpc~filterFn"><a href="LuCI.rpc.html#~filterFn">filterFn</a></li>
-
- <li data-name="LuCI.rpc~interceptorFn"><a href="LuCI.rpc.html#~interceptorFn">interceptorFn</a></li>
-
- <li data-name="LuCI.rpc~invokeFn"><a href="LuCI.rpc.html#~invokeFn">invokeFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.rpc#addInterceptor"><a href="LuCI.rpc.html#addInterceptor">addInterceptor</a></li>
-
- <li data-name="LuCI.rpc#declare"><a href="LuCI.rpc.html#declare">declare</a></li>
-
- <li data-name="LuCI.rpc#getBaseURL"><a href="LuCI.rpc.html#getBaseURL">getBaseURL</a></li>
-
- <li data-name="LuCI.rpc#getSessionID"><a href="LuCI.rpc.html#getSessionID">getSessionID</a></li>
-
- <li data-name="LuCI.rpc#getStatusText"><a href="LuCI.rpc.html#getStatusText">getStatusText</a></li>
-
- <li data-name="LuCI.rpc#list"><a href="LuCI.rpc.html#list">list</a></li>
-
- <li data-name="LuCI.rpc#removeInterceptor"><a href="LuCI.rpc.html#removeInterceptor">removeInterceptor</a></li>
-
- <li data-name="LuCI.rpc#setBaseURL"><a href="LuCI.rpc.html#setBaseURL">setBaseURL</a></li>
-
- <li data-name="LuCI.rpc#setSessionID"><a href="LuCI.rpc.html#setSessionID">setSessionID</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.uci">
- <span class="title">
- <a href="LuCI.uci.html">LuCI.uci</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.uci.ChangeRecord"><a href="LuCI.uci.html#.ChangeRecord">ChangeRecord</a></li>
-
- <li data-name="LuCI.uci.SectionObject"><a href="LuCI.uci.html#.SectionObject">SectionObject</a></li>
-
- <li data-name="LuCI.uci~sectionsFn"><a href="LuCI.uci.html#~sectionsFn">sectionsFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.uci#add"><a href="LuCI.uci.html#add">add</a></li>
-
- <li data-name="LuCI.uci#apply"><a href="LuCI.uci.html#apply">apply</a></li>
-
- <li data-name="LuCI.uci#changes"><a href="LuCI.uci.html#changes">changes</a></li>
-
- <li data-name="LuCI.uci#createSID"><a href="LuCI.uci.html#createSID">createSID</a></li>
-
- <li data-name="LuCI.uci#get"><a href="LuCI.uci.html#get">get</a></li>
-
- <li data-name="LuCI.uci#get_first"><a href="LuCI.uci.html#get_first">get_first</a></li>
-
- <li data-name="LuCI.uci#load"><a href="LuCI.uci.html#load">load</a></li>
-
- <li data-name="LuCI.uci#move"><a href="LuCI.uci.html#move">move</a></li>
-
- <li data-name="LuCI.uci#remove"><a href="LuCI.uci.html#remove">remove</a></li>
-
- <li data-name="LuCI.uci#resolveSID"><a href="LuCI.uci.html#resolveSID">resolveSID</a></li>
-
- <li data-name="LuCI.uci#save"><a href="LuCI.uci.html#save">save</a></li>
-
- <li data-name="LuCI.uci#sections"><a href="LuCI.uci.html#sections">sections</a></li>
-
- <li data-name="LuCI.uci#set"><a href="LuCI.uci.html#set">set</a></li>
-
- <li data-name="LuCI.uci#set_first"><a href="LuCI.uci.html#set_first">set_first</a></li>
-
- <li data-name="LuCI.uci#unload"><a href="LuCI.uci.html#unload">unload</a></li>
-
- <li data-name="LuCI.uci#unset"><a href="LuCI.uci.html#unset">unset</a></li>
-
- <li data-name="LuCI.uci#unset_first"><a href="LuCI.uci.html#unset_first">unset_first</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.view">
- <span class="title">
- <a href="LuCI.view.html">LuCI.view</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.view#addFooter"><a href="LuCI.view.html#addFooter">addFooter</a></li>
-
- <li data-name="LuCI.view#handleReset"><a href="LuCI.view.html#handleReset">handleReset</a></li>
-
- <li data-name="LuCI.view#handleSave"><a href="LuCI.view.html#handleSave">handleSave</a></li>
-
- <li data-name="LuCI.view#handleSaveApply"><a href="LuCI.view.html#handleSaveApply">handleSaveApply</a></li>
-
- <li data-name="LuCI.view#load"><a href="LuCI.view.html#load">load</a></li>
-
- <li data-name="LuCI.view#render"><a href="LuCI.view.html#render">render</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.XHR">
- <span class="title">
- <a href="LuCI.XHR.html">LuCI.XHR</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.XHR#abort"><a href="LuCI.XHR.html#abort">abort</a></li>
-
- <li data-name="LuCI.XHR#busy"><a href="LuCI.XHR.html#busy">busy</a></li>
-
- <li data-name="LuCI.XHR#cancel"><a href="LuCI.XHR.html#cancel">cancel</a></li>
-
- <li data-name="LuCI.XHR#get"><a href="LuCI.XHR.html#get">get</a></li>
-
- <li data-name="LuCI.XHR#post"><a href="LuCI.XHR.html#post">post</a></li>
-
- <li data-name="LuCI.XHR#send_form"><a href="LuCI.XHR.html#send_form">send_form</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- </ul>
-</div>
- <div class="main">
- <h1 class="page-title" data-filename="LuCI.fs.html">Class: fs</h1>
-
-
-
-
-<section>
-
-<header>
- <h2>
- <span class="ancestors"><a href="LuCI.html">LuCI</a>.</span>
-
- fs
- </h2>
-
- <div class="class-description"><p>Provides high level utilities to wrap file system related RPC calls.
-To import the class in views, use <code>'require fs'</code>, to import it in
-external JavaScript, use <code>L.require(&quot;fs&quot;).then(...)</code>.</p></div>
-
-</header>
-
-<article>
- <div class="container-overview">
-
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="fs">
-
- new LuCI.fs<span class="signature">()</span>
- </h4>
-
-
- <div class="tag-source">
- fs.js, line 111
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dd>
-
-
- </div>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- <h3 class="subsection-title">Methods</h3>
-
- <dl>
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="exec">
-
- exec<span class="signature">(command, <span class="optional">params</span>, <span class="optional">env</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Promise.&lt;<a href="LuCI.fs.html#.FileExecResult">LuCI.fs.FileExecResult</a>>}</span>
- </h4>
-
-
- <div class="tag-source">
- fs.js, line 232
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Execute the specified command, optionally passing params and
-environment variables.</p>
-<p>Note: The <code>command</code> must be either the path to an executable,
-or a basename without arguments in which case it will be searched
-in $PATH. If specified, the values given in <code>params</code> will be passed
-as arguments to the command.</p>
-<p>The key/value pairs in the optional <code>env</code> table are translated to
-<code>setenv()</code> calls prior to running the command.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>command</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
-
-
-
-
- <p>The command to invoke.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>params</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">Array.&lt;string></span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
-
- <p>The arguments to pass to the command.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>env</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">Object.&lt;string, string></span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
-
- <p>Environment variables to set.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Promise.&lt;<a href="LuCI.fs.html#.FileExecResult">LuCI.fs.FileExecResult</a>>
-
-
- </td>
- <td class="description last">Returns a promise resolving to an object describing the execution
-results or rejecting with an error stating the failure reason.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="lines">
-
- lines<span class="signature">(path)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Promise.&lt;Array.&lt;string>>}</span>
- </h4>
-
-
- <div class="tag-source">
- fs.js, line 281
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Read the contents of the given file, split it into lines, trim
-leading and trailing white space of each line and return the
-resulting array.</p>
-<p>This function is guaranteed to not reject its promises, on failure,
-an empty array will be returned.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>path</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The file path to read.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Promise.&lt;Array.&lt;string>>
-
-
- </td>
- <td class="description last">Returns a promise resolving to an array containing the stripped lines
-of the given file or <code>[]</code> on failure.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="list">
-
- list<span class="signature">(path)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Promise.&lt;Array.&lt;<a href="LuCI.fs.html#.FileStatEntry">LuCI.fs.FileStatEntry</a>>>}</span>
- </h4>
-
-
- <div class="tag-source">
- fs.js, line 132
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Obtains a listing of the specified directory.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>path</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The directory path to list.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Promise.&lt;Array.&lt;<a href="LuCI.fs.html#.FileStatEntry">LuCI.fs.FileStatEntry</a>>>
-
-
- </td>
- <td class="description last">Returns a promise resolving to an array of stat detail objects or
-rejecting with an error stating the failure reason.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="read">
-
- read<span class="signature">(path)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Promise.&lt;string>}</span>
- </h4>
-
-
- <div class="tag-source">
- fs.js, line 161
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Read the contents of the given file and return them.
-Note: this function is unsuitable for obtaining binary data.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>path</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The file path to read.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Promise.&lt;string>
-
-
- </td>
- <td class="description last">Returns a promise resolving to a string containing the file contents or
-rejecting with an error stating the failure reason.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="remove">
-
- remove<span class="signature">(The)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Promise.&lt;number>}</span>
- </h4>
-
-
- <div class="tag-source">
- fs.js, line 203
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Unlink the given file.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>The</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>file path to remove.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Promise.&lt;number>
-
-
- </td>
- <td class="description last">Returns a promise resolving to <code>0</code> or rejecting with an error stating
-the failure reason.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="stat">
-
- stat<span class="signature">(path)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Promise.&lt;<a href="LuCI.fs.html#.FileStatEntry">LuCI.fs.FileStatEntry</a>>}</span>
- </h4>
-
-
- <div class="tag-source">
- fs.js, line 146
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Return file stat information on the specified path.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>path</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The filesystem path to stat.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Promise.&lt;<a href="LuCI.fs.html#.FileStatEntry">LuCI.fs.FileStatEntry</a>>
-
-
- </td>
- <td class="description last">Returns a promise resolving to a stat detail object or
-rejecting with an error stating the failure reason.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="trimmed">
-
- trimmed<span class="signature">(path)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Promise.&lt;string>}</span>
- </h4>
-
-
- <div class="tag-source">
- fs.js, line 260
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Read the contents of the given file, trim leading and trailing white
-space and return the trimmed result. In case of errors, return an empty
-string instead.</p>
-<p>Note: this function is useful to read single-value files in <code>/sys</code>
-or <code>/proc</code>.</p>
-<p>This function is guaranteed to not reject its promises, on failure,
-an empty string will be returned.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>path</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The file path to read.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Promise.&lt;string>
-
-
- </td>
- <td class="description last">Returns a promise resolving to the file contents or the empty string
-on failure.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="write">
-
- write<span class="signature">(path, <span class="optional">data</span>, <span class="optional">mode</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Promise.&lt;number>}</span>
- </h4>
-
-
- <div class="tag-source">
- fs.js, line 187
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Write the given data to the specified file path.
-If the specified file path does not exist, it will be created, given
-sufficient permissions.</p>
-<p>Note: <code>data</code> will be converted to a string using <code>String(data)</code> or to
-<code>''</code> when it is <code>null</code>.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>path</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
-
-
-
-
- <p>The file path to write to.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>data</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">*</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
-
- <p>The file data to write. If it is null, it will be set to an empty
-string.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>mode</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">number</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
-
- <p>The permissions to use on file creation. Default is 420 (0644).</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Promise.&lt;number>
-
-
- </td>
- <td class="description last">Returns a promise resolving to <code>0</code> or rejecting with an error stating
-the failure reason.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
- </dl>
-
-
-
- <h3 class="subsection-title">Type Definitions</h3>
-
- <dl>
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id=".FileExecResult">LuCI.fs.FileExecResult<span class="type-signature type object">Object</span> </h4>
- </div>
-
-
-</dt>
-<dd>
-
-
-
-<dl class="details">
-
-
- <h5 class="subsection-title">Properties:</h5>
-
- <dl>
-
-<table class="props">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
- <th>Argument</th>
-
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>code</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">number</span>
-
-
-
- </td>
-
-
- <td class="attributes">
-
-
-
- </td>
-
-
-
-
- <td class="description last"><p>The exit code of the invoked command</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>stdout</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
- <td class="attributes">
-
- &lt;optional><br>
-
-
-
- </td>
-
-
-
-
- <td class="description last"><p>The stdout produced by the command, if any</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>stderr</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
- <td class="attributes">
-
- &lt;optional><br>
-
-
-
- </td>
-
-
-
-
- <td class="description last"><p>The stderr produced by the command, if any</p></td>
- </tr>
-
-
- </tbody>
-</table></dl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id=".FileStatEntry">LuCI.fs.FileStatEntry<span class="type-signature type object">Object</span> </h4>
- </div>
-
-
-</dt>
-<dd>
-
-
-
-<dl class="details">
-
-
- <h5 class="subsection-title">Properties:</h5>
-
- <dl>
-
-<table class="props">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>name</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
-
-
- <td class="description last"><p>Name of the directory entry</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>type</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
-
-
- <td class="description last"><p>Type of the entry, one of <code>block</code>, <code>char</code>, <code>directory</code>, <code>fifo</code>, <code>symlink</code>, <code>file</code>, <code>socket</code> or <code>unknown</code></p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>size</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">number</span>
-
-
-
- </td>
-
-
-
-
-
- <td class="description last"><p>Size in bytes</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>mode</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">number</span>
-
-
-
- </td>
-
-
-
-
-
- <td class="description last"><p>Access permissions</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>atime</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">number</span>
-
-
-
- </td>
-
-
-
-
-
- <td class="description last"><p>Last access time in seconds since epoch</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>mtime</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">number</span>
-
-
-
- </td>
-
-
-
-
-
- <td class="description last"><p>Last modification time in seconds since epoch</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>ctime</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">number</span>
-
-
-
- </td>
-
-
-
-
-
- <td class="description last"><p>Last change time in seconds since epoch</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>inode</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">number</span>
-
-
-
- </td>
-
-
-
-
-
- <td class="description last"><p>Inode number</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>uid</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">number</span>
-
-
-
- </td>
-
-
-
-
-
- <td class="description last"><p>Numeric owner id</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>gid</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">number</span>
-
-
-
- </td>
-
-
-
-
-
- <td class="description last"><p>Numeric group id</p></td>
- </tr>
-
-
- </tbody>
-</table></dl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-</dd>
-
- </dl>
-
-
-
-
-
-</article>
-
-</section>
-
-
-
-
-
-
-
- <footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Nov 05 2019 10:17:12 GMT+0100 (Central European Standard Time)
- </footer>
- </div>
-</div>
-<script>prettyPrint();</script>
-<script src="scripts/jaguar.js"></script>
-</body>
-</html> \ No newline at end of file
diff --git a/documentation/jsapi/LuCI.html b/documentation/jsapi/LuCI.html
deleted file mode 100644
index 68e2042c51..0000000000
--- a/documentation/jsapi/LuCI.html
+++ /dev/null
@@ -1,5023 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <meta charset="utf-8">
- <title>Class: LuCI</title>
-
-
- <script src="scripts/prettify/prettify.js"></script>
- <script src="scripts/prettify/lang-css.js"></script>
- <script src="scripts/jquery.min.js"></script>
- <!--[if lt IE 9]>
- <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
- <![endif]-->
- <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
- <link type="text/css" rel="stylesheet" href="styles/bootstrap.min.css">
- <link type="text/css" rel="stylesheet" href="styles/jaguar.css">
-
-
- <script>
- var config = {"monospaceLinks":true,"cleverLinks":true,"default":{}};
- </script>
-
-
-
-</head>
-<body>
-<div id="wrap" class="clearfix">
-
-<div class="navigation">
- <h3 class="applicationName"><a href="index.html"></a></h3>
-
- <div class="search">
- <input id="search" type="text" class="form-control input-sm" placeholder="Search Documentations">
- </div>
- <ul class="list">
-
- <li class="item" data-name="LuCI">
- <span class="title">
- <a href="LuCI.html">LuCI</a>
-
- </span>
- <ul class="members itemMembers">
-
- <span class="subtitle">Members</span>
-
- <li data-name="LuCI#env"><a href="LuCI.html#env">env</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.requestCallbackFn"><a href="LuCI.html#.requestCallbackFn">requestCallbackFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI#bind"><a href="LuCI.html#bind">bind</a></li>
-
- <li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
-
- <li data-name="LuCI#get"><a href="LuCI.html#get">get</a></li>
-
- <li data-name="LuCI#halt"><a href="LuCI.html#halt">halt</a></li>
-
- <li data-name="LuCI#hasSystemFeature"><a href="LuCI.html#hasSystemFeature">hasSystemFeature</a></li>
-
- <li data-name="LuCI#isObject"><a href="LuCI.html#isObject">isObject</a></li>
-
- <li data-name="LuCI#location"><a href="LuCI.html#location">location</a></li>
-
- <li data-name="LuCI#path"><a href="LuCI.html#path">path</a></li>
-
- <li data-name="LuCI#poll"><a href="LuCI.html#poll">poll</a></li>
-
- <li data-name="LuCI#post"><a href="LuCI.html#post">post</a></li>
-
- <li data-name="LuCI#raise"><a href="LuCI.html#raise">raise</a></li>
-
- <li data-name="LuCI#require"><a href="LuCI.html#require">require</a></li>
-
- <li data-name="LuCI#resolveDefault"><a href="LuCI.html#resolveDefault">resolveDefault</a></li>
-
- <li data-name="LuCI#resource"><a href="LuCI.html#resource">resource</a></li>
-
- <li data-name="LuCI#run"><a href="LuCI.html#run">run</a></li>
-
- <li data-name="LuCI#sortedKeys"><a href="LuCI.html#sortedKeys">sortedKeys</a></li>
-
- <li data-name="LuCI#stop"><a href="LuCI.html#stop">stop</a></li>
-
- <li data-name="LuCI#toArray"><a href="LuCI.html#toArray">toArray</a></li>
-
- <li data-name="LuCI#url"><a href="LuCI.html#url">url</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Class">
- <span class="title">
- <a href="LuCI.Class.html">LuCI.Class</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Class.extend"><a href="LuCI.Class.html#.extend">extend</a></li>
-
- <li data-name="LuCI.Class.instantiate"><a href="LuCI.Class.html#.instantiate">instantiate</a></li>
-
- <li data-name="LuCI.Class.isSubclass"><a href="LuCI.Class.html#.isSubclass">isSubclass</a></li>
-
- <li data-name="LuCI.Class.singleton"><a href="LuCI.Class.html#.singleton">singleton</a></li>
-
- <li data-name="LuCI.Class#super"><a href="LuCI.Class.html#super">super</a></li>
-
- <li data-name="LuCI.Class#varargs"><a href="LuCI.Class.html#varargs">varargs</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.dom">
- <span class="title">
- <a href="LuCI.dom.html">LuCI.dom</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.dom~ignoreCallbackFn"><a href="LuCI.dom.html#~ignoreCallbackFn">ignoreCallbackFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.dom#append"><a href="LuCI.dom.html#append">append</a></li>
-
- <li data-name="LuCI.dom#attr"><a href="LuCI.dom.html#attr">attr</a></li>
-
- <li data-name="LuCI.dom#bindClassInstance"><a href="LuCI.dom.html#bindClassInstance">bindClassInstance</a></li>
-
- <li data-name="LuCI.dom#callClassMethod"><a href="LuCI.dom.html#callClassMethod">callClassMethod</a></li>
-
- <li data-name="LuCI.dom#content"><a href="LuCI.dom.html#content">content</a></li>
-
- <li data-name="LuCI.dom#create"><a href="LuCI.dom.html#create">create</a></li>
-
- <li data-name="LuCI.dom#data"><a href="LuCI.dom.html#data">data</a></li>
-
- <li data-name="LuCI.dom#elem"><a href="LuCI.dom.html#elem">elem</a></li>
-
- <li data-name="LuCI.dom#findClassInstance"><a href="LuCI.dom.html#findClassInstance">findClassInstance</a></li>
-
- <li data-name="LuCI.dom#isEmpty"><a href="LuCI.dom.html#isEmpty">isEmpty</a></li>
-
- <li data-name="LuCI.dom#matches"><a href="LuCI.dom.html#matches">matches</a></li>
-
- <li data-name="LuCI.dom#parent"><a href="LuCI.dom.html#parent">parent</a></li>
-
- <li data-name="LuCI.dom#parse"><a href="LuCI.dom.html#parse">parse</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.fs">
- <span class="title">
- <a href="LuCI.fs.html">LuCI.fs</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.fs.FileExecResult"><a href="LuCI.fs.html#.FileExecResult">FileExecResult</a></li>
-
- <li data-name="LuCI.fs.FileStatEntry"><a href="LuCI.fs.html#.FileStatEntry">FileStatEntry</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.fs#exec"><a href="LuCI.fs.html#exec">exec</a></li>
-
- <li data-name="LuCI.fs#lines"><a href="LuCI.fs.html#lines">lines</a></li>
-
- <li data-name="LuCI.fs#list"><a href="LuCI.fs.html#list">list</a></li>
-
- <li data-name="LuCI.fs#read"><a href="LuCI.fs.html#read">read</a></li>
-
- <li data-name="LuCI.fs#remove"><a href="LuCI.fs.html#remove">remove</a></li>
-
- <li data-name="LuCI.fs#stat"><a href="LuCI.fs.html#stat">stat</a></li>
-
- <li data-name="LuCI.fs#trimmed"><a href="LuCI.fs.html#trimmed">trimmed</a></li>
-
- <li data-name="LuCI.fs#write"><a href="LuCI.fs.html#write">write</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Headers">
- <span class="title">
- <a href="LuCI.Headers.html">LuCI.Headers</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Headers#get"><a href="LuCI.Headers.html#get">get</a></li>
-
- <li data-name="LuCI.Headers#has"><a href="LuCI.Headers.html#has">has</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network">
- <span class="title">
- <a href="LuCI.Network.html">LuCI.Network</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.Network.SwitchTopology"><a href="LuCI.Network.html#.SwitchTopology">SwitchTopology</a></li>
-
- <li data-name="LuCI.Network.WifiEncryption"><a href="LuCI.Network.html#.WifiEncryption">WifiEncryption</a></li>
-
- <li data-name="LuCI.Network.WifiPeerEntry"><a href="LuCI.Network.html#.WifiPeerEntry">WifiPeerEntry</a></li>
-
- <li data-name="LuCI.Network.WifiRateEntry"><a href="LuCI.Network.html#.WifiRateEntry">WifiRateEntry</a></li>
-
- <li data-name="LuCI.Network.WifiScanResult"><a href="LuCI.Network.html#.WifiScanResult">WifiScanResult</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network#addNetwork"><a href="LuCI.Network.html#addNetwork">addNetwork</a></li>
-
- <li data-name="LuCI.Network#addWifiNetwork"><a href="LuCI.Network.html#addWifiNetwork">addWifiNetwork</a></li>
-
- <li data-name="LuCI.Network#deleteNetwork"><a href="LuCI.Network.html#deleteNetwork">deleteNetwork</a></li>
-
- <li data-name="LuCI.Network#deleteWifiNetwork"><a href="LuCI.Network.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
-
- <li data-name="LuCI.Network#flushCache"><a href="LuCI.Network.html#flushCache">flushCache</a></li>
-
- <li data-name="LuCI.Network#formatWifiEncryption"><a href="LuCI.Network.html#formatWifiEncryption">formatWifiEncryption</a></li>
-
- <li data-name="LuCI.Network#getDevice"><a href="LuCI.Network.html#getDevice">getDevice</a></li>
-
- <li data-name="LuCI.Network#getDevices"><a href="LuCI.Network.html#getDevices">getDevices</a></li>
-
- <li data-name="LuCI.Network#getDSLModemType"><a href="LuCI.Network.html#getDSLModemType">getDSLModemType</a></li>
-
- <li data-name="LuCI.Network#getHostHints"><a href="LuCI.Network.html#getHostHints">getHostHints</a></li>
-
- <li data-name="LuCI.Network#getIfnameOf"><a href="LuCI.Network.html#getIfnameOf">getIfnameOf</a></li>
-
- <li data-name="LuCI.Network#getNetwork"><a href="LuCI.Network.html#getNetwork">getNetwork</a></li>
-
- <li data-name="LuCI.Network#getNetworks"><a href="LuCI.Network.html#getNetworks">getNetworks</a></li>
-
- <li data-name="LuCI.Network#getProtocol"><a href="LuCI.Network.html#getProtocol">getProtocol</a></li>
-
- <li data-name="LuCI.Network#getProtocols"><a href="LuCI.Network.html#getProtocols">getProtocols</a></li>
-
- <li data-name="LuCI.Network#getSwitchTopologies"><a href="LuCI.Network.html#getSwitchTopologies">getSwitchTopologies</a></li>
-
- <li data-name="LuCI.Network#getWAN6Networks"><a href="LuCI.Network.html#getWAN6Networks">getWAN6Networks</a></li>
-
- <li data-name="LuCI.Network#getWANNetworks"><a href="LuCI.Network.html#getWANNetworks">getWANNetworks</a></li>
-
- <li data-name="LuCI.Network#getWifiDevice"><a href="LuCI.Network.html#getWifiDevice">getWifiDevice</a></li>
-
- <li data-name="LuCI.Network#getWifiDevices"><a href="LuCI.Network.html#getWifiDevices">getWifiDevices</a></li>
-
- <li data-name="LuCI.Network#getWifiNetwork"><a href="LuCI.Network.html#getWifiNetwork">getWifiNetwork</a></li>
-
- <li data-name="LuCI.Network#isIgnoredDevice"><a href="LuCI.Network.html#isIgnoredDevice">isIgnoredDevice</a></li>
-
- <li data-name="LuCI.Network#maskToPrefix"><a href="LuCI.Network.html#maskToPrefix">maskToPrefix</a></li>
-
- <li data-name="LuCI.Network#prefixToMask"><a href="LuCI.Network.html#prefixToMask">prefixToMask</a></li>
-
- <li data-name="LuCI.Network#registerErrorCode"><a href="LuCI.Network.html#registerErrorCode">registerErrorCode</a></li>
-
- <li data-name="LuCI.Network#registerPatternVirtual"><a href="LuCI.Network.html#registerPatternVirtual">registerPatternVirtual</a></li>
-
- <li data-name="LuCI.Network#registerProtocol"><a href="LuCI.Network.html#registerProtocol">registerProtocol</a></li>
-
- <li data-name="LuCI.Network#renameNetwork"><a href="LuCI.Network.html#renameNetwork">renameNetwork</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.Device">
- <span class="title">
- <a href="LuCI.Network.Device.html">LuCI.Network.Device</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.Device#getBridgeID"><a href="LuCI.Network.Device.html#getBridgeID">getBridgeID</a></li>
-
- <li data-name="LuCI.Network.Device#getBridgeSTP"><a href="LuCI.Network.Device.html#getBridgeSTP">getBridgeSTP</a></li>
-
- <li data-name="LuCI.Network.Device#getI18n"><a href="LuCI.Network.Device.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.Device#getIP6Addrs"><a href="LuCI.Network.Device.html#getIP6Addrs">getIP6Addrs</a></li>
-
- <li data-name="LuCI.Network.Device#getIPAddrs"><a href="LuCI.Network.Device.html#getIPAddrs">getIPAddrs</a></li>
-
- <li data-name="LuCI.Network.Device#getMAC"><a href="LuCI.Network.Device.html#getMAC">getMAC</a></li>
-
- <li data-name="LuCI.Network.Device#getMTU"><a href="LuCI.Network.Device.html#getMTU">getMTU</a></li>
-
- <li data-name="LuCI.Network.Device#getName"><a href="LuCI.Network.Device.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.Device#getNetwork"><a href="LuCI.Network.Device.html#getNetwork">getNetwork</a></li>
-
- <li data-name="LuCI.Network.Device#getNetworks"><a href="LuCI.Network.Device.html#getNetworks">getNetworks</a></li>
-
- <li data-name="LuCI.Network.Device#getPorts"><a href="LuCI.Network.Device.html#getPorts">getPorts</a></li>
-
- <li data-name="LuCI.Network.Device#getRXBytes"><a href="LuCI.Network.Device.html#getRXBytes">getRXBytes</a></li>
-
- <li data-name="LuCI.Network.Device#getRXPackets"><a href="LuCI.Network.Device.html#getRXPackets">getRXPackets</a></li>
-
- <li data-name="LuCI.Network.Device#getShortName"><a href="LuCI.Network.Device.html#getShortName">getShortName</a></li>
-
- <li data-name="LuCI.Network.Device#getTXBytes"><a href="LuCI.Network.Device.html#getTXBytes">getTXBytes</a></li>
-
- <li data-name="LuCI.Network.Device#getTXPackets"><a href="LuCI.Network.Device.html#getTXPackets">getTXPackets</a></li>
-
- <li data-name="LuCI.Network.Device#getType"><a href="LuCI.Network.Device.html#getType">getType</a></li>
-
- <li data-name="LuCI.Network.Device#getTypeI18n"><a href="LuCI.Network.Device.html#getTypeI18n">getTypeI18n</a></li>
-
- <li data-name="LuCI.Network.Device#getWifiNetwork"><a href="LuCI.Network.Device.html#getWifiNetwork">getWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.Device#isBridge"><a href="LuCI.Network.Device.html#isBridge">isBridge</a></li>
-
- <li data-name="LuCI.Network.Device#isBridgePort"><a href="LuCI.Network.Device.html#isBridgePort">isBridgePort</a></li>
-
- <li data-name="LuCI.Network.Device#isUp"><a href="LuCI.Network.Device.html#isUp">isUp</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.Hosts">
- <span class="title">
- <a href="LuCI.Network.Hosts.html">LuCI.Network.Hosts</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.Hosts#getHostnameByIP6Addr"><a href="LuCI.Network.Hosts.html#getHostnameByIP6Addr">getHostnameByIP6Addr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getHostnameByIPAddr"><a href="LuCI.Network.Hosts.html#getHostnameByIPAddr">getHostnameByIPAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getHostnameByMACAddr"><a href="LuCI.Network.Hosts.html#getHostnameByMACAddr">getHostnameByMACAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getIP6AddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIP6AddrByMACAddr">getIP6AddrByMACAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getIPAddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIPAddrByMACAddr">getIPAddrByMACAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getMACAddrByIP6Addr"><a href="LuCI.Network.Hosts.html#getMACAddrByIP6Addr">getMACAddrByIP6Addr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getMACAddrByIPAddr"><a href="LuCI.Network.Hosts.html#getMACAddrByIPAddr">getMACAddrByIPAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getMACHints"><a href="LuCI.Network.Hosts.html#getMACHints">getMACHints</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.Protocol">
- <span class="title">
- <a href="LuCI.Network.Protocol.html">LuCI.Network.Protocol</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.Protocol#addDevice"><a href="LuCI.Network.Protocol.html#addDevice">addDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#containsDevice"><a href="LuCI.Network.Protocol.html#containsDevice">containsDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#deleteDevice"><a href="LuCI.Network.Protocol.html#deleteDevice">deleteDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#get"><a href="LuCI.Network.Protocol.html#get">get</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDevice"><a href="LuCI.Network.Protocol.html#getDevice">getDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDevices"><a href="LuCI.Network.Protocol.html#getDevices">getDevices</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDNS6Addrs"><a href="LuCI.Network.Protocol.html#getDNS6Addrs">getDNS6Addrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDNSAddrs"><a href="LuCI.Network.Protocol.html#getDNSAddrs">getDNSAddrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getErrors"><a href="LuCI.Network.Protocol.html#getErrors">getErrors</a></li>
-
- <li data-name="LuCI.Network.Protocol#getExpiry"><a href="LuCI.Network.Protocol.html#getExpiry">getExpiry</a></li>
-
- <li data-name="LuCI.Network.Protocol#getGateway6Addr"><a href="LuCI.Network.Protocol.html#getGateway6Addr">getGateway6Addr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getGatewayAddr"><a href="LuCI.Network.Protocol.html#getGatewayAddr">getGatewayAddr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getI18n"><a href="LuCI.Network.Protocol.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIfname"><a href="LuCI.Network.Protocol.html#getIfname">getIfname</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIP6Addr"><a href="LuCI.Network.Protocol.html#getIP6Addr">getIP6Addr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIP6Addrs"><a href="LuCI.Network.Protocol.html#getIP6Addrs">getIP6Addrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIP6Prefix"><a href="LuCI.Network.Protocol.html#getIP6Prefix">getIP6Prefix</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIPAddr"><a href="LuCI.Network.Protocol.html#getIPAddr">getIPAddr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIPAddrs"><a href="LuCI.Network.Protocol.html#getIPAddrs">getIPAddrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getL2Device"><a href="LuCI.Network.Protocol.html#getL2Device">getL2Device</a></li>
-
- <li data-name="LuCI.Network.Protocol#getL3Device"><a href="LuCI.Network.Protocol.html#getL3Device">getL3Device</a></li>
-
- <li data-name="LuCI.Network.Protocol#getMetric"><a href="LuCI.Network.Protocol.html#getMetric">getMetric</a></li>
-
- <li data-name="LuCI.Network.Protocol#getName"><a href="LuCI.Network.Protocol.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.Protocol#getNetmask"><a href="LuCI.Network.Protocol.html#getNetmask">getNetmask</a></li>
-
- <li data-name="LuCI.Network.Protocol#getOpkgPackage"><a href="LuCI.Network.Protocol.html#getOpkgPackage">getOpkgPackage</a></li>
-
- <li data-name="LuCI.Network.Protocol#getProtocol"><a href="LuCI.Network.Protocol.html#getProtocol">getProtocol</a></li>
-
- <li data-name="LuCI.Network.Protocol#getType"><a href="LuCI.Network.Protocol.html#getType">getType</a></li>
-
- <li data-name="LuCI.Network.Protocol#getUptime"><a href="LuCI.Network.Protocol.html#getUptime">getUptime</a></li>
-
- <li data-name="LuCI.Network.Protocol#getZoneName"><a href="LuCI.Network.Protocol.html#getZoneName">getZoneName</a></li>
-
- <li data-name="LuCI.Network.Protocol#isAlias"><a href="LuCI.Network.Protocol.html#isAlias">isAlias</a></li>
-
- <li data-name="LuCI.Network.Protocol#isBridge"><a href="LuCI.Network.Protocol.html#isBridge">isBridge</a></li>
-
- <li data-name="LuCI.Network.Protocol#isDynamic"><a href="LuCI.Network.Protocol.html#isDynamic">isDynamic</a></li>
-
- <li data-name="LuCI.Network.Protocol#isEmpty"><a href="LuCI.Network.Protocol.html#isEmpty">isEmpty</a></li>
-
- <li data-name="LuCI.Network.Protocol#isFloating"><a href="LuCI.Network.Protocol.html#isFloating">isFloating</a></li>
-
- <li data-name="LuCI.Network.Protocol#isInstalled"><a href="LuCI.Network.Protocol.html#isInstalled">isInstalled</a></li>
-
- <li data-name="LuCI.Network.Protocol#isUp"><a href="LuCI.Network.Protocol.html#isUp">isUp</a></li>
-
- <li data-name="LuCI.Network.Protocol#isVirtual"><a href="LuCI.Network.Protocol.html#isVirtual">isVirtual</a></li>
-
- <li data-name="LuCI.Network.Protocol#set"><a href="LuCI.Network.Protocol.html#set">set</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.WifiDevice">
- <span class="title">
- <a href="LuCI.Network.WifiDevice.html">LuCI.Network.WifiDevice</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.WifiDevice#addWifiNetwork"><a href="LuCI.Network.WifiDevice.html#addWifiNetwork">addWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#deleteWifiNetwork"><a href="LuCI.Network.WifiDevice.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#get"><a href="LuCI.Network.WifiDevice.html#get">get</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getHTModes"><a href="LuCI.Network.WifiDevice.html#getHTModes">getHTModes</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getHWModes"><a href="LuCI.Network.WifiDevice.html#getHWModes">getHWModes</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getI18n"><a href="LuCI.Network.WifiDevice.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getName"><a href="LuCI.Network.WifiDevice.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getScanList"><a href="LuCI.Network.WifiDevice.html#getScanList">getScanList</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getWifiNetwork"><a href="LuCI.Network.WifiDevice.html#getWifiNetwork">getWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getWifiNetworks"><a href="LuCI.Network.WifiDevice.html#getWifiNetworks">getWifiNetworks</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#isDisabled"><a href="LuCI.Network.WifiDevice.html#isDisabled">isDisabled</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#isUp"><a href="LuCI.Network.WifiDevice.html#isUp">isUp</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#set"><a href="LuCI.Network.WifiDevice.html#set">set</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.WifiNetwork">
- <span class="title">
- <a href="LuCI.Network.WifiNetwork.html">LuCI.Network.WifiNetwork</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.WifiNetwork#get"><a href="LuCI.Network.WifiNetwork.html#get">get</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveBSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveBSSID">getActiveBSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveEncryption"><a href="LuCI.Network.WifiNetwork.html#getActiveEncryption">getActiveEncryption</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveMode"><a href="LuCI.Network.WifiNetwork.html#getActiveMode">getActiveMode</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveModeI18n"><a href="LuCI.Network.WifiNetwork.html#getActiveModeI18n">getActiveModeI18n</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveSSID">getActiveSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getAssocList"><a href="LuCI.Network.WifiNetwork.html#getAssocList">getAssocList</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getBitRate"><a href="LuCI.Network.WifiNetwork.html#getBitRate">getBitRate</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getBSSID"><a href="LuCI.Network.WifiNetwork.html#getBSSID">getBSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getChannel"><a href="LuCI.Network.WifiNetwork.html#getChannel">getChannel</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getCountryCode"><a href="LuCI.Network.WifiNetwork.html#getCountryCode">getCountryCode</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getDevice"><a href="LuCI.Network.WifiNetwork.html#getDevice">getDevice</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getFrequency"><a href="LuCI.Network.WifiNetwork.html#getFrequency">getFrequency</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getI18n"><a href="LuCI.Network.WifiNetwork.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getID"><a href="LuCI.Network.WifiNetwork.html#getID">getID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getIfname"><a href="LuCI.Network.WifiNetwork.html#getIfname">getIfname</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getMeshID"><a href="LuCI.Network.WifiNetwork.html#getMeshID">getMeshID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getMode"><a href="LuCI.Network.WifiNetwork.html#getMode">getMode</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getName"><a href="LuCI.Network.WifiNetwork.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNetwork"><a href="LuCI.Network.WifiNetwork.html#getNetwork">getNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNetworkNames"><a href="LuCI.Network.WifiNetwork.html#getNetworkNames">getNetworkNames</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNetworks"><a href="LuCI.Network.WifiNetwork.html#getNetworks">getNetworks</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNoise"><a href="LuCI.Network.WifiNetwork.html#getNoise">getNoise</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getShortName"><a href="LuCI.Network.WifiNetwork.html#getShortName">getShortName</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSignal"><a href="LuCI.Network.WifiNetwork.html#getSignal">getSignal</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSignalLevel"><a href="LuCI.Network.WifiNetwork.html#getSignalLevel">getSignalLevel</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSignalPercent"><a href="LuCI.Network.WifiNetwork.html#getSignalPercent">getSignalPercent</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSSID"><a href="LuCI.Network.WifiNetwork.html#getSSID">getSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getTXPower"><a href="LuCI.Network.WifiNetwork.html#getTXPower">getTXPower</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getTXPowerOffset"><a href="LuCI.Network.WifiNetwork.html#getTXPowerOffset">getTXPowerOffset</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getWifiDevice"><a href="LuCI.Network.WifiNetwork.html#getWifiDevice">getWifiDevice</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getWifiDeviceName"><a href="LuCI.Network.WifiNetwork.html#getWifiDeviceName">getWifiDeviceName</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#isDisabled"><a href="LuCI.Network.WifiNetwork.html#isDisabled">isDisabled</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#isUp"><a href="LuCI.Network.WifiNetwork.html#isUp">isUp</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#set"><a href="LuCI.Network.WifiNetwork.html#set">set</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Poll">
- <span class="title">
- <a href="LuCI.Poll.html">LuCI.Poll</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Poll#active"><a href="LuCI.Poll.html#active">active</a></li>
-
- <li data-name="LuCI.Poll#add"><a href="LuCI.Poll.html#add">add</a></li>
-
- <li data-name="LuCI.Poll#remove"><a href="LuCI.Poll.html#remove">remove</a></li>
-
- <li data-name="LuCI.Poll#start"><a href="LuCI.Poll.html#start">start</a></li>
-
- <li data-name="LuCI.Poll#stop"><a href="LuCI.Poll.html#stop">stop</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Request">
- <span class="title">
- <a href="LuCI.Request.html">LuCI.Request</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.Request.interceptorFn"><a href="LuCI.Request.html#.interceptorFn">interceptorFn</a></li>
-
- <li data-name="LuCI.Request.RequestOptions"><a href="LuCI.Request.html#.RequestOptions">RequestOptions</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Request#addInterceptor"><a href="LuCI.Request.html#addInterceptor">addInterceptor</a></li>
-
- <li data-name="LuCI.Request#expandURL"><a href="LuCI.Request.html#expandURL">expandURL</a></li>
-
- <li data-name="LuCI.Request#get"><a href="LuCI.Request.html#get">get</a></li>
-
- <li data-name="LuCI.Request#post"><a href="LuCI.Request.html#post">post</a></li>
-
- <li data-name="LuCI.Request#removeInterceptor"><a href="LuCI.Request.html#removeInterceptor">removeInterceptor</a></li>
-
- <li data-name="LuCI.Request#request"><a href="LuCI.Request.html#request">request</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Request.poll">
- <span class="title">
- <a href="LuCI.Request.poll.html">LuCI.Request.poll</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.Request.poll~callbackFn"><a href="LuCI.Request.poll.html#~callbackFn">callbackFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Request.poll#active"><a href="LuCI.Request.poll.html#active">active</a></li>
-
- <li data-name="LuCI.Request.poll#add"><a href="LuCI.Request.poll.html#add">add</a></li>
-
- <li data-name="LuCI.Request.poll#remove"><a href="LuCI.Request.poll.html#remove">remove</a></li>
-
- <li data-name="LuCI.Request.poll#start"><a href="LuCI.Request.poll.html#start">start</a></li>
-
- <li data-name="LuCI.Request.poll#stop"><a href="LuCI.Request.poll.html#stop">stop</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Response">
- <span class="title">
- <a href="LuCI.Response.html">LuCI.Response</a>
-
- </span>
- <ul class="members itemMembers">
-
- <span class="subtitle">Members</span>
-
- <li data-name="LuCI.Response#duration"><a href="LuCI.Response.html#duration">duration</a></li>
-
- <li data-name="LuCI.Response#headers"><a href="LuCI.Response.html#headers">headers</a></li>
-
- <li data-name="LuCI.Response#ok"><a href="LuCI.Response.html#ok">ok</a></li>
-
- <li data-name="LuCI.Response#status"><a href="LuCI.Response.html#status">status</a></li>
-
- <li data-name="LuCI.Response#statusText"><a href="LuCI.Response.html#statusText">statusText</a></li>
-
- <li data-name="LuCI.Response#url"><a href="LuCI.Response.html#url">url</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Response#clone"><a href="LuCI.Response.html#clone">clone</a></li>
-
- <li data-name="LuCI.Response#json"><a href="LuCI.Response.html#json">json</a></li>
-
- <li data-name="LuCI.Response#text"><a href="LuCI.Response.html#text">text</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.rpc">
- <span class="title">
- <a href="LuCI.rpc.html">LuCI.rpc</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.rpc.DeclareOptions"><a href="LuCI.rpc.html#.DeclareOptions">DeclareOptions</a></li>
-
- <li data-name="LuCI.rpc~filterFn"><a href="LuCI.rpc.html#~filterFn">filterFn</a></li>
-
- <li data-name="LuCI.rpc~interceptorFn"><a href="LuCI.rpc.html#~interceptorFn">interceptorFn</a></li>
-
- <li data-name="LuCI.rpc~invokeFn"><a href="LuCI.rpc.html#~invokeFn">invokeFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.rpc#addInterceptor"><a href="LuCI.rpc.html#addInterceptor">addInterceptor</a></li>
-
- <li data-name="LuCI.rpc#declare"><a href="LuCI.rpc.html#declare">declare</a></li>
-
- <li data-name="LuCI.rpc#getBaseURL"><a href="LuCI.rpc.html#getBaseURL">getBaseURL</a></li>
-
- <li data-name="LuCI.rpc#getSessionID"><a href="LuCI.rpc.html#getSessionID">getSessionID</a></li>
-
- <li data-name="LuCI.rpc#getStatusText"><a href="LuCI.rpc.html#getStatusText">getStatusText</a></li>
-
- <li data-name="LuCI.rpc#list"><a href="LuCI.rpc.html#list">list</a></li>
-
- <li data-name="LuCI.rpc#removeInterceptor"><a href="LuCI.rpc.html#removeInterceptor">removeInterceptor</a></li>
-
- <li data-name="LuCI.rpc#setBaseURL"><a href="LuCI.rpc.html#setBaseURL">setBaseURL</a></li>
-
- <li data-name="LuCI.rpc#setSessionID"><a href="LuCI.rpc.html#setSessionID">setSessionID</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.uci">
- <span class="title">
- <a href="LuCI.uci.html">LuCI.uci</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.uci.ChangeRecord"><a href="LuCI.uci.html#.ChangeRecord">ChangeRecord</a></li>
-
- <li data-name="LuCI.uci.SectionObject"><a href="LuCI.uci.html#.SectionObject">SectionObject</a></li>
-
- <li data-name="LuCI.uci~sectionsFn"><a href="LuCI.uci.html#~sectionsFn">sectionsFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.uci#add"><a href="LuCI.uci.html#add">add</a></li>
-
- <li data-name="LuCI.uci#apply"><a href="LuCI.uci.html#apply">apply</a></li>
-
- <li data-name="LuCI.uci#changes"><a href="LuCI.uci.html#changes">changes</a></li>
-
- <li data-name="LuCI.uci#createSID"><a href="LuCI.uci.html#createSID">createSID</a></li>
-
- <li data-name="LuCI.uci#get"><a href="LuCI.uci.html#get">get</a></li>
-
- <li data-name="LuCI.uci#get_first"><a href="LuCI.uci.html#get_first">get_first</a></li>
-
- <li data-name="LuCI.uci#load"><a href="LuCI.uci.html#load">load</a></li>
-
- <li data-name="LuCI.uci#move"><a href="LuCI.uci.html#move">move</a></li>
-
- <li data-name="LuCI.uci#remove"><a href="LuCI.uci.html#remove">remove</a></li>
-
- <li data-name="LuCI.uci#resolveSID"><a href="LuCI.uci.html#resolveSID">resolveSID</a></li>
-
- <li data-name="LuCI.uci#save"><a href="LuCI.uci.html#save">save</a></li>
-
- <li data-name="LuCI.uci#sections"><a href="LuCI.uci.html#sections">sections</a></li>
-
- <li data-name="LuCI.uci#set"><a href="LuCI.uci.html#set">set</a></li>
-
- <li data-name="LuCI.uci#set_first"><a href="LuCI.uci.html#set_first">set_first</a></li>
-
- <li data-name="LuCI.uci#unload"><a href="LuCI.uci.html#unload">unload</a></li>
-
- <li data-name="LuCI.uci#unset"><a href="LuCI.uci.html#unset">unset</a></li>
-
- <li data-name="LuCI.uci#unset_first"><a href="LuCI.uci.html#unset_first">unset_first</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.view">
- <span class="title">
- <a href="LuCI.view.html">LuCI.view</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.view#addFooter"><a href="LuCI.view.html#addFooter">addFooter</a></li>
-
- <li data-name="LuCI.view#handleReset"><a href="LuCI.view.html#handleReset">handleReset</a></li>
-
- <li data-name="LuCI.view#handleSave"><a href="LuCI.view.html#handleSave">handleSave</a></li>
-
- <li data-name="LuCI.view#handleSaveApply"><a href="LuCI.view.html#handleSaveApply">handleSaveApply</a></li>
-
- <li data-name="LuCI.view#load"><a href="LuCI.view.html#load">load</a></li>
-
- <li data-name="LuCI.view#render"><a href="LuCI.view.html#render">render</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.XHR">
- <span class="title">
- <a href="LuCI.XHR.html">LuCI.XHR</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.XHR#abort"><a href="LuCI.XHR.html#abort">abort</a></li>
-
- <li data-name="LuCI.XHR#busy"><a href="LuCI.XHR.html#busy">busy</a></li>
-
- <li data-name="LuCI.XHR#cancel"><a href="LuCI.XHR.html#cancel">cancel</a></li>
-
- <li data-name="LuCI.XHR#get"><a href="LuCI.XHR.html#get">get</a></li>
-
- <li data-name="LuCI.XHR#post"><a href="LuCI.XHR.html#post">post</a></li>
-
- <li data-name="LuCI.XHR#send_form"><a href="LuCI.XHR.html#send_form">send_form</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- </ul>
-</div>
- <div class="main">
- <h1 class="page-title" data-filename="LuCI.html">Class: LuCI</h1>
-
-
-
-
-<section>
-
-<header>
- <h2>
- LuCI
- </h2>
-
- <div class="class-description"><p>This is the LuCI base class. It is automatically instantiated and
-accessible using the global <code>L</code> variable.</p></div>
-
-</header>
-
-<article>
- <div class="container-overview">
-
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="LuCI">
-
- new LuCI<span class="signature">(env)</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 1
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>env</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">Object</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The environment settings to use for the LuCI runtime.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dd>
-
-
- </div>
-
-
-
-
-
-
-
-
- <h3 class="subsection-title">Classes</h3>
-
- <dl>
- <dt><a href="LuCI.Class.html">Class</a></dt>
- <dd></dd>
-
- <dt><a href="LuCI.dom.html">dom</a></dt>
- <dd></dd>
-
- <dt><a href="LuCI.fs.html">fs</a></dt>
- <dd></dd>
-
- <dt><a href="LuCI.Headers.html">Headers</a></dt>
- <dd></dd>
-
- <dt><a href="LuCI.Network.html">Network</a></dt>
- <dd></dd>
-
- <dt><a href="LuCI.Poll.html">Poll</a></dt>
- <dd></dd>
-
- <dt><a href="LuCI.Request.html">Request</a></dt>
- <dd></dd>
-
- <dt><a href="LuCI.Response.html">Response</a></dt>
- <dd></dd>
-
- <dt><a href="LuCI.rpc.html">rpc</a></dt>
- <dd></dd>
-
- <dt><a href="LuCI.uci.html">uci</a></dt>
- <dd></dd>
-
- <dt><a href="LuCI.view.html">view</a></dt>
- <dd></dd>
-
- <dt><a href="LuCI.XHR.html">XHR</a></dt>
- <dd></dd>
- </dl>
-
-
-
-
-
- <h3 class="subsection-title">Members</h3>
-
- <dl>
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="env">env</h4>
- </div>
-
-
-</dt>
-<dd>
-
- <div class="description">
- <p>The <code>env</code> object holds environment settings used by LuCI, such
-as request timeouts, base URLs etc.</p>
- </div>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-</dd>
-
- </dl>
-
-
-
- <h3 class="subsection-title">Methods</h3>
-
- <dl>
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="bind">
-
- bind<span class="signature">(fn, self, <span class="optional">args</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{function}</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 1340
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Return a bound function using the given <code>self</code> as <code>this</code> context
-and any further arguments as parameters to the bound function.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>fn</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">function</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
-
-
-
-
- <p>The function to bind.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>self</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">*</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
-
-
-
-
- <p>The value to bind as <code>this</code> context to the specified function.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>args</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">*</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
- <span class="repeatable">repeatable</span>
-
-
- <p>Zero or more variable arguments which are bound to the function
-as parameters.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- function
-
-
- </td>
- <td class="description last">Returns the bound function.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="error">
-
- error<span class="signature">(<span class="optional">type</span>, <span class="optional">fmt</span>, <span class="optional">args</span>)</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 1300
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>A wrapper around <a href="LuCI.html#raise"><code>raise()</code></a> which also renders
-the error either as modal overlay when <code>ui.js</code> is already loaed
-or directly into the view body.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
- <th>Default</th>
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>type</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">Error</span>
-|
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
- <td class="default">
-
- Error
-
- </td>
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
-
- <p>Either a string specifying the type of the error to throw or an
-existing <code>Error</code> instance to copy.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>fmt</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
- <td class="default">
-
- Unspecified error
-
- </td>
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
-
- <p>A format string which is used to form the error message, together
-with all subsequent optional arguments.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>args</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">*</span>
-
-
-
- </td>
-
-
- <td class="default">
-
- </td>
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
- <span class="repeatable">repeatable</span>
-
-
- <p>Zero or more variable arguments to the supplied format string.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
- <h5>Throws:</h5>
-
-
-
-<dl>
- <dt>
- <div class="param-desc">
- <p>Throws the created error object with the captured stack trace
-appended to the message and the type set to the given type
-argument or copied from the given error instance.</p>
- </div>
- </dt>
- <dt>
- <dl>
- <dt>
- Type
- </dt>
- <dd>
-
-<span class="param-type">Error</span>
-
-
- </dd>
- </dl>
- </dt>
-</dl>
-
-
-
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="get">
-
- get<span class="signature">(url, <span class="optional">args</span>, cb)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Promise.&lt;null>}</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 1918
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Issues a GET request to the given url and invokes the specified
-callback function. The function is a wrapper around
-<a href="LuCI.Request.html#request"><code>Request.request()</code></a>.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>url</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
-
-
-
-
- <p>The URL to request.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>args</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">Object.&lt;string, string></span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
-
- <p>Additional query string arguments to append to the URL.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>cb</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type"><a href="LuCI.html#.requestCallbackFn">LuCI.requestCallbackFn</a></span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
-
-
-
-
- <p>The callback function to invoke when the request finishes.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
- <dt class="important tag-deprecated">Deprecated</dt><dd class="yes-def tag-deprecated"><ul class="dummy"><li>Yes</li></ul></dd>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Promise.&lt;null>
-
-
- </td>
- <td class="description last">Returns a promise resolving to <code>null</code> when concluded.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="halt">
-
- halt<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 2040
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Deprecated wrapper around <code>Poll.stop()</code>.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
- <dt class="important tag-deprecated">Deprecated</dt><dd class="yes-def tag-deprecated"><ul class="dummy"><li>Yes</li></ul></dd>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- boolean
-
-
- </td>
- <td class="description last">Returns <code>true</code> when the polling loop has been stopped or <code>false</code>
-when it didn't run to begin with.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="hasSystemFeature">
-
- hasSystemFeature<span class="signature">(feature, <span class="optional">subfeature</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean|null}</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 1574
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Test whether a particular system feature is available, such as
-hostapd SAE support or an installed firewall. The features are
-queried once at the beginning of the LuCI session and cached in
-<code>SessionStorage</code> throughout the lifetime of the associated tab or
-browser window.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>feature</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
-
-
-
-
- <p>The feature to test. For detailed list of known feature flags,
-see <code>/modules/luci-base/root/usr/libexec/rpcd/luci</code>.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>subfeature</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
-
- <p>Some feature classes like <code>hostapd</code> provide sub-feature flags,
-such as <code>sae</code> or <code>11w</code> support. The <code>subfeature</code> argument can
-be used to query these.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- boolean
- |
-
- null
-
-
- </td>
- <td class="description last">Return <code>true</code> if the queried feature (and sub-feature) is available
-or <code>false</code> if the requested feature isn't present or known.
-Return <code>null</code> when a sub-feature was queried for a feature which
-has no sub-features.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="isObject">
-
- isObject<span class="signature">(<span class="optional">val</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 1765
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Tests whether the passed argument is a JavaScript object.
-This function is meant to be an object counterpart to the
-standard <code>Array.isArray()</code> function.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>val</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">*</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
-
- <p>The value to test</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- boolean
-
-
- </td>
- <td class="description last">Returns <code>true</code> if the given value is of type object and
-not <code>null</code>, else returns <code>false</code>.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="location">
-
- location<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{string}</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 1745
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Return the complete URL path to the current view.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- string
-
-
- </td>
- <td class="description last">Returns the URL path to the current view.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="path">
-
- path<span class="signature">(<span class="optional">prefix</span>, <span class="optional">parts</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{string}</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 1679
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Construct a relative URL path from the given prefix and parts.
-The resulting URL is guaranteed to only contain the characters
-<code>a-z</code>, <code>A-Z</code>, <code>0-9</code>, <code>_</code>, <code>.</code>, <code>%</code>, <code>,</code>, <code>;</code>, and <code>-</code> as well
-as <code>/</code> for the path separator.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>prefix</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
-
- <p>The prefix to join the given parts with. If the <code>prefix</code> is
-omitted, it defaults to an empty string.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>parts</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">Array.&lt;string></span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
-
- <p>An array of parts to join into an URL path. Parts may contain
-slashes and any of the other characters mentioned above.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- string
-
-
- </td>
- <td class="description last">Return the joined URL path.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="poll">
-
- poll<span class="signature">(interval, url, <span class="optional">args</span>, cb, <span class="optional">post</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{function}</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 1988
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Register a polling HTTP request that invokes the specified
-callback function. The function is a wrapper around
-<a href="LuCI.Request.poll.html#add"><code>Request.poll.add()</code></a>.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
- <th>Default</th>
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>interval</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">number</span>
-
-
-
- </td>
-
-
- <td class="default">
-
- </td>
-
-
- <td class="description last">
-
-
-
-
-
-
- <p>The poll interval to use. If set to a value less than or equal
-to <code>0</code>, it will default to the global poll interval configured
-in <code>LuCI.env.pollinterval</code>.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>url</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
- <td class="default">
-
- </td>
-
-
- <td class="description last">
-
-
-
-
-
-
- <p>The URL to request.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>args</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">Object.&lt;string, string></span>
-
-
-
- </td>
-
-
- <td class="default">
-
- </td>
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
-
- <p>Specifies additional arguments for the request. For GET requests,
-the arguments are appended to the URL as query string, for POST
-requests, they'll be added to the request body.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>cb</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type"><a href="LuCI.html#.requestCallbackFn">LuCI.requestCallbackFn</a></span>
-
-
-
- </td>
-
-
- <td class="default">
-
- </td>
-
-
- <td class="description last">
-
-
-
-
-
-
- <p>The callback function to invoke whenever a request finishes.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>post</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">boolean</span>
-
-
-
- </td>
-
-
- <td class="default">
-
- false
-
- </td>
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
-
- <p>When set to <code>false</code> or not specified, poll requests will be made
-using the GET method. When set to <code>true</code>, POST requests will be
-issued. In case of POST requests, the request body will contain
-an argument <code>token</code> with the current value of <code>LuCI.env.token</code> by
-default, regardless of the parameters specified with <code>args</code>.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
- <dt class="important tag-deprecated">Deprecated</dt><dd class="yes-def tag-deprecated"><ul class="dummy"><li>Yes</li></ul></dd>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- function
-
-
- </td>
- <td class="description last">Returns the internally created function that has been passed to
-<a href="LuCI.Request.poll.html#add"><code>Request.poll.add()</code></a>. This value can
-be passed to <code>Poll.remove()</code> to remove the
-polling request.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="post">
-
- post<span class="signature">(url, <span class="optional">args</span>, cb)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Promise.&lt;null>}</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 1946
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Issues a POST request to the given url and invokes the specified
-callback function. The function is a wrapper around
-<a href="LuCI.Request.html#request"><code>Request.request()</code></a>. The request is
-sent using <code>application/x-www-form-urlencoded</code> encoding and will
-contain a field <code>token</code> with the current value of <code>LuCI.env.token</code>
-by default.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>url</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
-
-
-
-
- <p>The URL to request.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>args</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">Object.&lt;string, string></span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
-
- <p>Additional post arguments to append to the request body.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>cb</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type"><a href="LuCI.html#.requestCallbackFn">LuCI.requestCallbackFn</a></span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
-
-
-
-
- <p>The callback function to invoke when the request finishes.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
- <dt class="important tag-deprecated">Deprecated</dt><dd class="yes-def tag-deprecated"><ul class="dummy"><li>Yes</li></ul></dd>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Promise.&lt;null>
-
-
- </td>
- <td class="description last">Returns a promise resolving to <code>null</code> when concluded.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="raise">
-
- raise<span class="signature">(<span class="optional">type</span>, <span class="optional">fmt</span>, <span class="optional">args</span>)</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 1234
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Captures the current stack trace and throws an error of the
-specified type as a new exception. Also logs the exception as
-error to the debug console if it is available.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
- <th>Default</th>
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>type</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">Error</span>
-|
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
- <td class="default">
-
- Error
-
- </td>
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
-
- <p>Either a string specifying the type of the error to throw or an
-existing <code>Error</code> instance to copy.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>fmt</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
- <td class="default">
-
- Unspecified error
-
- </td>
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
-
- <p>A format string which is used to form the error message, together
-with all subsequent optional arguments.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>args</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">*</span>
-
-
-
- </td>
-
-
- <td class="default">
-
- </td>
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
- <span class="repeatable">repeatable</span>
-
-
- <p>Zero or more variable arguments to the supplied format string.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
- <h5>Throws:</h5>
-
-
-
-<dl>
- <dt>
- <div class="param-desc">
- <p>Throws the created error object with the captured stack trace
-appended to the message and the type set to the given type
-argument or copied from the given error instance.</p>
- </div>
- </dt>
- <dt>
- <dl>
- <dt>
- Type
- </dt>
- <dd>
-
-<span class="param-type">Error</span>
-
-
- </dd>
- </dl>
- </dt>
-</dl>
-
-
-
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="require">
-
- require<span class="signature">(name)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Promise.&lt;LuCI#Class>}</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 1379
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Load an additional LuCI JavaScript class and its dependencies,
-instantiate it and return the resulting class instance. Each
-class is only loaded once. Subsequent attempts to load the same
-class will return the already instantiated class.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>name</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The name of the class to load in dotted notation. Dots will
-be replaced by spaces and joined with the runtime-determined
-base URL of LuCI.js to form an absolute URL to load the class
-file from.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
- <h5>Throws:</h5>
- <ul>
- <li>
-
-<dl>
- <dt>
- <div class="param-desc">
- <p>Throws a <code>DependencyError</code> when the class to load includes
-circular dependencies.</p>
- </div>
- </dt>
- <dt>
- <dl>
- <dt>
- Type
- </dt>
- <dd>
-
-<span class="param-type">DependencyError</span>
-
-
- </dd>
- </dl>
- </dt>
-</dl>
-
-</li>
-
- <li>
-
-<dl>
- <dt>
- <div class="param-desc">
- <p>Throws <code>NetworkError</code> when the underlying <a href="LuCI.Request.html"><code>LuCI.Request</code></a>
-call failed.</p>
- </div>
- </dt>
- <dt>
- <dl>
- <dt>
- Type
- </dt>
- <dd>
-
-<span class="param-type">NetworkError</span>
-
-
- </dd>
- </dl>
- </dt>
-</dl>
-
-</li>
-
- <li>
-
-<dl>
- <dt>
- <div class="param-desc">
- <p>Throws <code>SyntaxError</code> when the loaded class file code cannot
-be interpreted by <code>eval</code>.</p>
- </div>
- </dt>
- <dt>
- <dl>
- <dt>
- Type
- </dt>
- <dd>
-
-<span class="param-type">SyntaxError</span>
-
-
- </dd>
- </dl>
- </dt>
-</dl>
-
-</li>
-
- <li>
-
-<dl>
- <dt>
- <div class="param-desc">
- <p>Throws <code>TypeError</code> when the class file could be loaded and
-interpreted, but when invoking its code did not yield a valid
-class instance.</p>
- </div>
- </dt>
- <dt>
- <dl>
- <dt>
- Type
- </dt>
- <dd>
-
-<span class="param-type">TypeError</span>
-
-
- </dd>
- </dl>
- </dt>
-</dl>
-
-</li>
- </ul>
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Promise.&lt;LuCI#Class>
-
-
- </td>
- <td class="description last">Returns the instantiated class.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="resolveDefault">
-
- resolveDefault<span class="signature">(value, defvalue)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Promise.&lt;*>}</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 1873
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Returns a promise resolving with either the given value or or with
-the given default in case the input value is a rejecting promise.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>value</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">*</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The value to resolve the promise with.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>defvalue</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">*</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The default value to resolve the promise with in case the given
-input value is a rejecting promise.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Promise.&lt;*>
-
-
- </td>
- <td class="description last">Returns a new promise resolving either to the given input value or
-to the given default value on error.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="resource">
-
- resource<span class="signature">(<span class="optional">parts</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{string}</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 1732
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Construct an URL path relative to the global static resource path
-of the LuCI ui (usually <code>/luci-static/resources</code>).</p>
-<p>The resulting URL is guaranteed to only contain the characters
-<code>a-z</code>, <code>A-Z</code>, <code>0-9</code>, <code>_</code>, <code>.</code>, <code>%</code>, <code>,</code>, <code>;</code>, and <code>-</code> as well
-as <code>/</code> for the path separator.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>parts</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">Array.&lt;string></span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
-
- <p>An array of parts to join into an URL path. Parts may contain
-slashes and any of the other characters mentioned above.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- string
-
-
- </td>
- <td class="description last">Returns the resulting URL path.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="run">
-
- run<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 2053
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Deprecated wrapper around <code>Poll.start()</code>.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
- <dt class="important tag-deprecated">Deprecated</dt><dd class="yes-def tag-deprecated"><ul class="dummy"><li>Yes</li></ul></dd>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- boolean
-
-
- </td>
- <td class="description last">Returns <code>true</code> when the polling loop has been started or <code>false</code>
-when it was already running.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="sortedKeys">
-
- sortedKeys<span class="signature">(obj, <span class="optional">key</span>, <span class="optional">sortmode</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Array.&lt;string>}</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 1794
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Return an array of sorted object keys, optionally sorted by
-a different key or a different sorting mode.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>obj</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">object</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
-
-
-
-
- <p>The object to extract the keys from. If the given value is
-not an object, the function will return an empty array.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>key</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
-
- <p>Specifies the key to order by. This is mainly useful for
-nested objects of objects or objects of arrays when sorting
-shall not be performed by the primary object keys but by
-some other key pointing to a value within the nested values.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>sortmode</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
-
- <p>May be either <code>addr</code> or <code>num</code> to override the natural
-lexicographic sorting with a sorting suitable for IP/MAC style
-addresses or numeric values respectively.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Array.&lt;string>
-
-
- </td>
- <td class="description last">Returns an array containing the sorted keys of the given object.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="stop">
-
- stop<span class="signature">(entry)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 2027
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Deprecated wrapper around <code>Poll.remove()</code>.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>entry</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">function</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The polling function to remove.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
- <dt class="important tag-deprecated">Deprecated</dt><dd class="yes-def tag-deprecated"><ul class="dummy"><li>Yes</li></ul></dd>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- boolean
-
-
- </td>
- <td class="description last">Returns <code>true</code> when the function has been removed or <code>false</code> if
-it could not be found.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="toArray">
-
- toArray<span class="signature">(val)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Array.&lt;*>}</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 1839
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Converts the given value to an array. If the given value is of
-type array, it is returned as-is, values of type object are
-returned as one-element array containing the object, empty
-strings and <code>null</code> values are returned as empty array, all other
-values are converted using <code>String()</code>, trimmed, split on white
-space and returned as array.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>val</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">*</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The value to convert into an array.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Array.&lt;*>
-
-
- </td>
- <td class="description last">Returns the resulting array.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="url">
-
- url<span class="signature">(<span class="optional">parts</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{string}</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 1710
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Construct an URL pathrelative to the script path of the server
-side LuCI application (usually <code>/cgi-bin/luci</code>).</p>
-<p>The resulting URL is guaranteed to only contain the characters
-<code>a-z</code>, <code>A-Z</code>, <code>0-9</code>, <code>_</code>, <code>.</code>, <code>%</code>, <code>,</code>, <code>;</code>, and <code>-</code> as well
-as <code>/</code> for the path separator.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>parts</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">Array.&lt;string></span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
-
- <p>An array of parts to join into an URL path. Parts may contain
-slashes and any of the other characters mentioned above.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- string
-
-
- </td>
- <td class="description last">Returns the resulting URL path.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
- </dl>
-
-
-
- <h3 class="subsection-title">Type Definitions</h3>
-
- <dl>
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id=".requestCallbackFn">
-
- LuCI.requestCallbackFn<span class="signature">(xhr, data, duration)</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 1877
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>The request callback function is invoked whenever an HTTP
-reply to a request made using the <code>L.get()</code>, <code>L.post()</code> or
-<code>L.poll()</code> function is timed out or received successfully.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>xhr</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">XMLHTTPRequest</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The XMLHTTPRequest instance used to make the request.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>data</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">*</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The response JSON if the response could be parsed as such,
-else <code>null</code>.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>duration</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">number</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The total duration of the request in milliseconds.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dd>
-
- </dl>
-
-
-
-
-
-</article>
-
-</section>
-
-
-
-
-
-
-
- <footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Nov 05 2019 10:17:12 GMT+0100 (Central European Standard Time)
- </footer>
- </div>
-</div>
-<script>prettyPrint();</script>
-<script src="scripts/jaguar.js"></script>
-</body>
-</html> \ No newline at end of file
diff --git a/documentation/jsapi/LuCI.rpc.html b/documentation/jsapi/LuCI.rpc.html
deleted file mode 100644
index 557b972376..0000000000
--- a/documentation/jsapi/LuCI.rpc.html
+++ /dev/null
@@ -1,3225 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <meta charset="utf-8">
- <title>Class: rpc</title>
-
-
- <script src="scripts/prettify/prettify.js"></script>
- <script src="scripts/prettify/lang-css.js"></script>
- <script src="scripts/jquery.min.js"></script>
- <!--[if lt IE 9]>
- <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
- <![endif]-->
- <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
- <link type="text/css" rel="stylesheet" href="styles/bootstrap.min.css">
- <link type="text/css" rel="stylesheet" href="styles/jaguar.css">
-
-
- <script>
- var config = {"monospaceLinks":true,"cleverLinks":true,"default":{}};
- </script>
-
-
-
-</head>
-<body>
-<div id="wrap" class="clearfix">
-
-<div class="navigation">
- <h3 class="applicationName"><a href="index.html"></a></h3>
-
- <div class="search">
- <input id="search" type="text" class="form-control input-sm" placeholder="Search Documentations">
- </div>
- <ul class="list">
-
- <li class="item" data-name="LuCI">
- <span class="title">
- <a href="LuCI.html">LuCI</a>
-
- </span>
- <ul class="members itemMembers">
-
- <span class="subtitle">Members</span>
-
- <li data-name="LuCI#env"><a href="LuCI.html#env">env</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.requestCallbackFn"><a href="LuCI.html#.requestCallbackFn">requestCallbackFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI#bind"><a href="LuCI.html#bind">bind</a></li>
-
- <li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
-
- <li data-name="LuCI#get"><a href="LuCI.html#get">get</a></li>
-
- <li data-name="LuCI#halt"><a href="LuCI.html#halt">halt</a></li>
-
- <li data-name="LuCI#hasSystemFeature"><a href="LuCI.html#hasSystemFeature">hasSystemFeature</a></li>
-
- <li data-name="LuCI#isObject"><a href="LuCI.html#isObject">isObject</a></li>
-
- <li data-name="LuCI#location"><a href="LuCI.html#location">location</a></li>
-
- <li data-name="LuCI#path"><a href="LuCI.html#path">path</a></li>
-
- <li data-name="LuCI#poll"><a href="LuCI.html#poll">poll</a></li>
-
- <li data-name="LuCI#post"><a href="LuCI.html#post">post</a></li>
-
- <li data-name="LuCI#raise"><a href="LuCI.html#raise">raise</a></li>
-
- <li data-name="LuCI#require"><a href="LuCI.html#require">require</a></li>
-
- <li data-name="LuCI#resolveDefault"><a href="LuCI.html#resolveDefault">resolveDefault</a></li>
-
- <li data-name="LuCI#resource"><a href="LuCI.html#resource">resource</a></li>
-
- <li data-name="LuCI#run"><a href="LuCI.html#run">run</a></li>
-
- <li data-name="LuCI#sortedKeys"><a href="LuCI.html#sortedKeys">sortedKeys</a></li>
-
- <li data-name="LuCI#stop"><a href="LuCI.html#stop">stop</a></li>
-
- <li data-name="LuCI#toArray"><a href="LuCI.html#toArray">toArray</a></li>
-
- <li data-name="LuCI#url"><a href="LuCI.html#url">url</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Class">
- <span class="title">
- <a href="LuCI.Class.html">LuCI.Class</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Class.extend"><a href="LuCI.Class.html#.extend">extend</a></li>
-
- <li data-name="LuCI.Class.instantiate"><a href="LuCI.Class.html#.instantiate">instantiate</a></li>
-
- <li data-name="LuCI.Class.isSubclass"><a href="LuCI.Class.html#.isSubclass">isSubclass</a></li>
-
- <li data-name="LuCI.Class.singleton"><a href="LuCI.Class.html#.singleton">singleton</a></li>
-
- <li data-name="LuCI.Class#super"><a href="LuCI.Class.html#super">super</a></li>
-
- <li data-name="LuCI.Class#varargs"><a href="LuCI.Class.html#varargs">varargs</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.dom">
- <span class="title">
- <a href="LuCI.dom.html">LuCI.dom</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.dom~ignoreCallbackFn"><a href="LuCI.dom.html#~ignoreCallbackFn">ignoreCallbackFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.dom#append"><a href="LuCI.dom.html#append">append</a></li>
-
- <li data-name="LuCI.dom#attr"><a href="LuCI.dom.html#attr">attr</a></li>
-
- <li data-name="LuCI.dom#bindClassInstance"><a href="LuCI.dom.html#bindClassInstance">bindClassInstance</a></li>
-
- <li data-name="LuCI.dom#callClassMethod"><a href="LuCI.dom.html#callClassMethod">callClassMethod</a></li>
-
- <li data-name="LuCI.dom#content"><a href="LuCI.dom.html#content">content</a></li>
-
- <li data-name="LuCI.dom#create"><a href="LuCI.dom.html#create">create</a></li>
-
- <li data-name="LuCI.dom#data"><a href="LuCI.dom.html#data">data</a></li>
-
- <li data-name="LuCI.dom#elem"><a href="LuCI.dom.html#elem">elem</a></li>
-
- <li data-name="LuCI.dom#findClassInstance"><a href="LuCI.dom.html#findClassInstance">findClassInstance</a></li>
-
- <li data-name="LuCI.dom#isEmpty"><a href="LuCI.dom.html#isEmpty">isEmpty</a></li>
-
- <li data-name="LuCI.dom#matches"><a href="LuCI.dom.html#matches">matches</a></li>
-
- <li data-name="LuCI.dom#parent"><a href="LuCI.dom.html#parent">parent</a></li>
-
- <li data-name="LuCI.dom#parse"><a href="LuCI.dom.html#parse">parse</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.fs">
- <span class="title">
- <a href="LuCI.fs.html">LuCI.fs</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.fs.FileExecResult"><a href="LuCI.fs.html#.FileExecResult">FileExecResult</a></li>
-
- <li data-name="LuCI.fs.FileStatEntry"><a href="LuCI.fs.html#.FileStatEntry">FileStatEntry</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.fs#exec"><a href="LuCI.fs.html#exec">exec</a></li>
-
- <li data-name="LuCI.fs#lines"><a href="LuCI.fs.html#lines">lines</a></li>
-
- <li data-name="LuCI.fs#list"><a href="LuCI.fs.html#list">list</a></li>
-
- <li data-name="LuCI.fs#read"><a href="LuCI.fs.html#read">read</a></li>
-
- <li data-name="LuCI.fs#remove"><a href="LuCI.fs.html#remove">remove</a></li>
-
- <li data-name="LuCI.fs#stat"><a href="LuCI.fs.html#stat">stat</a></li>
-
- <li data-name="LuCI.fs#trimmed"><a href="LuCI.fs.html#trimmed">trimmed</a></li>
-
- <li data-name="LuCI.fs#write"><a href="LuCI.fs.html#write">write</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Headers">
- <span class="title">
- <a href="LuCI.Headers.html">LuCI.Headers</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Headers#get"><a href="LuCI.Headers.html#get">get</a></li>
-
- <li data-name="LuCI.Headers#has"><a href="LuCI.Headers.html#has">has</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network">
- <span class="title">
- <a href="LuCI.Network.html">LuCI.Network</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.Network.SwitchTopology"><a href="LuCI.Network.html#.SwitchTopology">SwitchTopology</a></li>
-
- <li data-name="LuCI.Network.WifiEncryption"><a href="LuCI.Network.html#.WifiEncryption">WifiEncryption</a></li>
-
- <li data-name="LuCI.Network.WifiPeerEntry"><a href="LuCI.Network.html#.WifiPeerEntry">WifiPeerEntry</a></li>
-
- <li data-name="LuCI.Network.WifiRateEntry"><a href="LuCI.Network.html#.WifiRateEntry">WifiRateEntry</a></li>
-
- <li data-name="LuCI.Network.WifiScanResult"><a href="LuCI.Network.html#.WifiScanResult">WifiScanResult</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network#addNetwork"><a href="LuCI.Network.html#addNetwork">addNetwork</a></li>
-
- <li data-name="LuCI.Network#addWifiNetwork"><a href="LuCI.Network.html#addWifiNetwork">addWifiNetwork</a></li>
-
- <li data-name="LuCI.Network#deleteNetwork"><a href="LuCI.Network.html#deleteNetwork">deleteNetwork</a></li>
-
- <li data-name="LuCI.Network#deleteWifiNetwork"><a href="LuCI.Network.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
-
- <li data-name="LuCI.Network#flushCache"><a href="LuCI.Network.html#flushCache">flushCache</a></li>
-
- <li data-name="LuCI.Network#formatWifiEncryption"><a href="LuCI.Network.html#formatWifiEncryption">formatWifiEncryption</a></li>
-
- <li data-name="LuCI.Network#getDevice"><a href="LuCI.Network.html#getDevice">getDevice</a></li>
-
- <li data-name="LuCI.Network#getDevices"><a href="LuCI.Network.html#getDevices">getDevices</a></li>
-
- <li data-name="LuCI.Network#getDSLModemType"><a href="LuCI.Network.html#getDSLModemType">getDSLModemType</a></li>
-
- <li data-name="LuCI.Network#getHostHints"><a href="LuCI.Network.html#getHostHints">getHostHints</a></li>
-
- <li data-name="LuCI.Network#getIfnameOf"><a href="LuCI.Network.html#getIfnameOf">getIfnameOf</a></li>
-
- <li data-name="LuCI.Network#getNetwork"><a href="LuCI.Network.html#getNetwork">getNetwork</a></li>
-
- <li data-name="LuCI.Network#getNetworks"><a href="LuCI.Network.html#getNetworks">getNetworks</a></li>
-
- <li data-name="LuCI.Network#getProtocol"><a href="LuCI.Network.html#getProtocol">getProtocol</a></li>
-
- <li data-name="LuCI.Network#getProtocols"><a href="LuCI.Network.html#getProtocols">getProtocols</a></li>
-
- <li data-name="LuCI.Network#getSwitchTopologies"><a href="LuCI.Network.html#getSwitchTopologies">getSwitchTopologies</a></li>
-
- <li data-name="LuCI.Network#getWAN6Networks"><a href="LuCI.Network.html#getWAN6Networks">getWAN6Networks</a></li>
-
- <li data-name="LuCI.Network#getWANNetworks"><a href="LuCI.Network.html#getWANNetworks">getWANNetworks</a></li>
-
- <li data-name="LuCI.Network#getWifiDevice"><a href="LuCI.Network.html#getWifiDevice">getWifiDevice</a></li>
-
- <li data-name="LuCI.Network#getWifiDevices"><a href="LuCI.Network.html#getWifiDevices">getWifiDevices</a></li>
-
- <li data-name="LuCI.Network#getWifiNetwork"><a href="LuCI.Network.html#getWifiNetwork">getWifiNetwork</a></li>
-
- <li data-name="LuCI.Network#isIgnoredDevice"><a href="LuCI.Network.html#isIgnoredDevice">isIgnoredDevice</a></li>
-
- <li data-name="LuCI.Network#maskToPrefix"><a href="LuCI.Network.html#maskToPrefix">maskToPrefix</a></li>
-
- <li data-name="LuCI.Network#prefixToMask"><a href="LuCI.Network.html#prefixToMask">prefixToMask</a></li>
-
- <li data-name="LuCI.Network#registerErrorCode"><a href="LuCI.Network.html#registerErrorCode">registerErrorCode</a></li>
-
- <li data-name="LuCI.Network#registerPatternVirtual"><a href="LuCI.Network.html#registerPatternVirtual">registerPatternVirtual</a></li>
-
- <li data-name="LuCI.Network#registerProtocol"><a href="LuCI.Network.html#registerProtocol">registerProtocol</a></li>
-
- <li data-name="LuCI.Network#renameNetwork"><a href="LuCI.Network.html#renameNetwork">renameNetwork</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.Device">
- <span class="title">
- <a href="LuCI.Network.Device.html">LuCI.Network.Device</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.Device#getBridgeID"><a href="LuCI.Network.Device.html#getBridgeID">getBridgeID</a></li>
-
- <li data-name="LuCI.Network.Device#getBridgeSTP"><a href="LuCI.Network.Device.html#getBridgeSTP">getBridgeSTP</a></li>
-
- <li data-name="LuCI.Network.Device#getI18n"><a href="LuCI.Network.Device.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.Device#getIP6Addrs"><a href="LuCI.Network.Device.html#getIP6Addrs">getIP6Addrs</a></li>
-
- <li data-name="LuCI.Network.Device#getIPAddrs"><a href="LuCI.Network.Device.html#getIPAddrs">getIPAddrs</a></li>
-
- <li data-name="LuCI.Network.Device#getMAC"><a href="LuCI.Network.Device.html#getMAC">getMAC</a></li>
-
- <li data-name="LuCI.Network.Device#getMTU"><a href="LuCI.Network.Device.html#getMTU">getMTU</a></li>
-
- <li data-name="LuCI.Network.Device#getName"><a href="LuCI.Network.Device.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.Device#getNetwork"><a href="LuCI.Network.Device.html#getNetwork">getNetwork</a></li>
-
- <li data-name="LuCI.Network.Device#getNetworks"><a href="LuCI.Network.Device.html#getNetworks">getNetworks</a></li>
-
- <li data-name="LuCI.Network.Device#getPorts"><a href="LuCI.Network.Device.html#getPorts">getPorts</a></li>
-
- <li data-name="LuCI.Network.Device#getRXBytes"><a href="LuCI.Network.Device.html#getRXBytes">getRXBytes</a></li>
-
- <li data-name="LuCI.Network.Device#getRXPackets"><a href="LuCI.Network.Device.html#getRXPackets">getRXPackets</a></li>
-
- <li data-name="LuCI.Network.Device#getShortName"><a href="LuCI.Network.Device.html#getShortName">getShortName</a></li>
-
- <li data-name="LuCI.Network.Device#getTXBytes"><a href="LuCI.Network.Device.html#getTXBytes">getTXBytes</a></li>
-
- <li data-name="LuCI.Network.Device#getTXPackets"><a href="LuCI.Network.Device.html#getTXPackets">getTXPackets</a></li>
-
- <li data-name="LuCI.Network.Device#getType"><a href="LuCI.Network.Device.html#getType">getType</a></li>
-
- <li data-name="LuCI.Network.Device#getTypeI18n"><a href="LuCI.Network.Device.html#getTypeI18n">getTypeI18n</a></li>
-
- <li data-name="LuCI.Network.Device#getWifiNetwork"><a href="LuCI.Network.Device.html#getWifiNetwork">getWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.Device#isBridge"><a href="LuCI.Network.Device.html#isBridge">isBridge</a></li>
-
- <li data-name="LuCI.Network.Device#isBridgePort"><a href="LuCI.Network.Device.html#isBridgePort">isBridgePort</a></li>
-
- <li data-name="LuCI.Network.Device#isUp"><a href="LuCI.Network.Device.html#isUp">isUp</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.Hosts">
- <span class="title">
- <a href="LuCI.Network.Hosts.html">LuCI.Network.Hosts</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.Hosts#getHostnameByIP6Addr"><a href="LuCI.Network.Hosts.html#getHostnameByIP6Addr">getHostnameByIP6Addr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getHostnameByIPAddr"><a href="LuCI.Network.Hosts.html#getHostnameByIPAddr">getHostnameByIPAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getHostnameByMACAddr"><a href="LuCI.Network.Hosts.html#getHostnameByMACAddr">getHostnameByMACAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getIP6AddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIP6AddrByMACAddr">getIP6AddrByMACAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getIPAddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIPAddrByMACAddr">getIPAddrByMACAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getMACAddrByIP6Addr"><a href="LuCI.Network.Hosts.html#getMACAddrByIP6Addr">getMACAddrByIP6Addr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getMACAddrByIPAddr"><a href="LuCI.Network.Hosts.html#getMACAddrByIPAddr">getMACAddrByIPAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getMACHints"><a href="LuCI.Network.Hosts.html#getMACHints">getMACHints</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.Protocol">
- <span class="title">
- <a href="LuCI.Network.Protocol.html">LuCI.Network.Protocol</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.Protocol#addDevice"><a href="LuCI.Network.Protocol.html#addDevice">addDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#containsDevice"><a href="LuCI.Network.Protocol.html#containsDevice">containsDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#deleteDevice"><a href="LuCI.Network.Protocol.html#deleteDevice">deleteDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#get"><a href="LuCI.Network.Protocol.html#get">get</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDevice"><a href="LuCI.Network.Protocol.html#getDevice">getDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDevices"><a href="LuCI.Network.Protocol.html#getDevices">getDevices</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDNS6Addrs"><a href="LuCI.Network.Protocol.html#getDNS6Addrs">getDNS6Addrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDNSAddrs"><a href="LuCI.Network.Protocol.html#getDNSAddrs">getDNSAddrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getErrors"><a href="LuCI.Network.Protocol.html#getErrors">getErrors</a></li>
-
- <li data-name="LuCI.Network.Protocol#getExpiry"><a href="LuCI.Network.Protocol.html#getExpiry">getExpiry</a></li>
-
- <li data-name="LuCI.Network.Protocol#getGateway6Addr"><a href="LuCI.Network.Protocol.html#getGateway6Addr">getGateway6Addr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getGatewayAddr"><a href="LuCI.Network.Protocol.html#getGatewayAddr">getGatewayAddr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getI18n"><a href="LuCI.Network.Protocol.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIfname"><a href="LuCI.Network.Protocol.html#getIfname">getIfname</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIP6Addr"><a href="LuCI.Network.Protocol.html#getIP6Addr">getIP6Addr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIP6Addrs"><a href="LuCI.Network.Protocol.html#getIP6Addrs">getIP6Addrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIP6Prefix"><a href="LuCI.Network.Protocol.html#getIP6Prefix">getIP6Prefix</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIPAddr"><a href="LuCI.Network.Protocol.html#getIPAddr">getIPAddr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIPAddrs"><a href="LuCI.Network.Protocol.html#getIPAddrs">getIPAddrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getL2Device"><a href="LuCI.Network.Protocol.html#getL2Device">getL2Device</a></li>
-
- <li data-name="LuCI.Network.Protocol#getL3Device"><a href="LuCI.Network.Protocol.html#getL3Device">getL3Device</a></li>
-
- <li data-name="LuCI.Network.Protocol#getMetric"><a href="LuCI.Network.Protocol.html#getMetric">getMetric</a></li>
-
- <li data-name="LuCI.Network.Protocol#getName"><a href="LuCI.Network.Protocol.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.Protocol#getNetmask"><a href="LuCI.Network.Protocol.html#getNetmask">getNetmask</a></li>
-
- <li data-name="LuCI.Network.Protocol#getOpkgPackage"><a href="LuCI.Network.Protocol.html#getOpkgPackage">getOpkgPackage</a></li>
-
- <li data-name="LuCI.Network.Protocol#getProtocol"><a href="LuCI.Network.Protocol.html#getProtocol">getProtocol</a></li>
-
- <li data-name="LuCI.Network.Protocol#getType"><a href="LuCI.Network.Protocol.html#getType">getType</a></li>
-
- <li data-name="LuCI.Network.Protocol#getUptime"><a href="LuCI.Network.Protocol.html#getUptime">getUptime</a></li>
-
- <li data-name="LuCI.Network.Protocol#getZoneName"><a href="LuCI.Network.Protocol.html#getZoneName">getZoneName</a></li>
-
- <li data-name="LuCI.Network.Protocol#isAlias"><a href="LuCI.Network.Protocol.html#isAlias">isAlias</a></li>
-
- <li data-name="LuCI.Network.Protocol#isBridge"><a href="LuCI.Network.Protocol.html#isBridge">isBridge</a></li>
-
- <li data-name="LuCI.Network.Protocol#isDynamic"><a href="LuCI.Network.Protocol.html#isDynamic">isDynamic</a></li>
-
- <li data-name="LuCI.Network.Protocol#isEmpty"><a href="LuCI.Network.Protocol.html#isEmpty">isEmpty</a></li>
-
- <li data-name="LuCI.Network.Protocol#isFloating"><a href="LuCI.Network.Protocol.html#isFloating">isFloating</a></li>
-
- <li data-name="LuCI.Network.Protocol#isInstalled"><a href="LuCI.Network.Protocol.html#isInstalled">isInstalled</a></li>
-
- <li data-name="LuCI.Network.Protocol#isUp"><a href="LuCI.Network.Protocol.html#isUp">isUp</a></li>
-
- <li data-name="LuCI.Network.Protocol#isVirtual"><a href="LuCI.Network.Protocol.html#isVirtual">isVirtual</a></li>
-
- <li data-name="LuCI.Network.Protocol#set"><a href="LuCI.Network.Protocol.html#set">set</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.WifiDevice">
- <span class="title">
- <a href="LuCI.Network.WifiDevice.html">LuCI.Network.WifiDevice</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.WifiDevice#addWifiNetwork"><a href="LuCI.Network.WifiDevice.html#addWifiNetwork">addWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#deleteWifiNetwork"><a href="LuCI.Network.WifiDevice.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#get"><a href="LuCI.Network.WifiDevice.html#get">get</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getHTModes"><a href="LuCI.Network.WifiDevice.html#getHTModes">getHTModes</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getHWModes"><a href="LuCI.Network.WifiDevice.html#getHWModes">getHWModes</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getI18n"><a href="LuCI.Network.WifiDevice.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getName"><a href="LuCI.Network.WifiDevice.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getScanList"><a href="LuCI.Network.WifiDevice.html#getScanList">getScanList</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getWifiNetwork"><a href="LuCI.Network.WifiDevice.html#getWifiNetwork">getWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getWifiNetworks"><a href="LuCI.Network.WifiDevice.html#getWifiNetworks">getWifiNetworks</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#isDisabled"><a href="LuCI.Network.WifiDevice.html#isDisabled">isDisabled</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#isUp"><a href="LuCI.Network.WifiDevice.html#isUp">isUp</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#set"><a href="LuCI.Network.WifiDevice.html#set">set</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.WifiNetwork">
- <span class="title">
- <a href="LuCI.Network.WifiNetwork.html">LuCI.Network.WifiNetwork</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.WifiNetwork#get"><a href="LuCI.Network.WifiNetwork.html#get">get</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveBSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveBSSID">getActiveBSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveEncryption"><a href="LuCI.Network.WifiNetwork.html#getActiveEncryption">getActiveEncryption</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveMode"><a href="LuCI.Network.WifiNetwork.html#getActiveMode">getActiveMode</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveModeI18n"><a href="LuCI.Network.WifiNetwork.html#getActiveModeI18n">getActiveModeI18n</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveSSID">getActiveSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getAssocList"><a href="LuCI.Network.WifiNetwork.html#getAssocList">getAssocList</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getBitRate"><a href="LuCI.Network.WifiNetwork.html#getBitRate">getBitRate</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getBSSID"><a href="LuCI.Network.WifiNetwork.html#getBSSID">getBSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getChannel"><a href="LuCI.Network.WifiNetwork.html#getChannel">getChannel</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getCountryCode"><a href="LuCI.Network.WifiNetwork.html#getCountryCode">getCountryCode</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getDevice"><a href="LuCI.Network.WifiNetwork.html#getDevice">getDevice</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getFrequency"><a href="LuCI.Network.WifiNetwork.html#getFrequency">getFrequency</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getI18n"><a href="LuCI.Network.WifiNetwork.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getID"><a href="LuCI.Network.WifiNetwork.html#getID">getID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getIfname"><a href="LuCI.Network.WifiNetwork.html#getIfname">getIfname</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getMeshID"><a href="LuCI.Network.WifiNetwork.html#getMeshID">getMeshID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getMode"><a href="LuCI.Network.WifiNetwork.html#getMode">getMode</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getName"><a href="LuCI.Network.WifiNetwork.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNetwork"><a href="LuCI.Network.WifiNetwork.html#getNetwork">getNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNetworkNames"><a href="LuCI.Network.WifiNetwork.html#getNetworkNames">getNetworkNames</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNetworks"><a href="LuCI.Network.WifiNetwork.html#getNetworks">getNetworks</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNoise"><a href="LuCI.Network.WifiNetwork.html#getNoise">getNoise</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getShortName"><a href="LuCI.Network.WifiNetwork.html#getShortName">getShortName</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSignal"><a href="LuCI.Network.WifiNetwork.html#getSignal">getSignal</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSignalLevel"><a href="LuCI.Network.WifiNetwork.html#getSignalLevel">getSignalLevel</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSignalPercent"><a href="LuCI.Network.WifiNetwork.html#getSignalPercent">getSignalPercent</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSSID"><a href="LuCI.Network.WifiNetwork.html#getSSID">getSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getTXPower"><a href="LuCI.Network.WifiNetwork.html#getTXPower">getTXPower</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getTXPowerOffset"><a href="LuCI.Network.WifiNetwork.html#getTXPowerOffset">getTXPowerOffset</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getWifiDevice"><a href="LuCI.Network.WifiNetwork.html#getWifiDevice">getWifiDevice</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getWifiDeviceName"><a href="LuCI.Network.WifiNetwork.html#getWifiDeviceName">getWifiDeviceName</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#isDisabled"><a href="LuCI.Network.WifiNetwork.html#isDisabled">isDisabled</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#isUp"><a href="LuCI.Network.WifiNetwork.html#isUp">isUp</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#set"><a href="LuCI.Network.WifiNetwork.html#set">set</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Poll">
- <span class="title">
- <a href="LuCI.Poll.html">LuCI.Poll</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Poll#active"><a href="LuCI.Poll.html#active">active</a></li>
-
- <li data-name="LuCI.Poll#add"><a href="LuCI.Poll.html#add">add</a></li>
-
- <li data-name="LuCI.Poll#remove"><a href="LuCI.Poll.html#remove">remove</a></li>
-
- <li data-name="LuCI.Poll#start"><a href="LuCI.Poll.html#start">start</a></li>
-
- <li data-name="LuCI.Poll#stop"><a href="LuCI.Poll.html#stop">stop</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Request">
- <span class="title">
- <a href="LuCI.Request.html">LuCI.Request</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.Request.interceptorFn"><a href="LuCI.Request.html#.interceptorFn">interceptorFn</a></li>
-
- <li data-name="LuCI.Request.RequestOptions"><a href="LuCI.Request.html#.RequestOptions">RequestOptions</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Request#addInterceptor"><a href="LuCI.Request.html#addInterceptor">addInterceptor</a></li>
-
- <li data-name="LuCI.Request#expandURL"><a href="LuCI.Request.html#expandURL">expandURL</a></li>
-
- <li data-name="LuCI.Request#get"><a href="LuCI.Request.html#get">get</a></li>
-
- <li data-name="LuCI.Request#post"><a href="LuCI.Request.html#post">post</a></li>
-
- <li data-name="LuCI.Request#removeInterceptor"><a href="LuCI.Request.html#removeInterceptor">removeInterceptor</a></li>
-
- <li data-name="LuCI.Request#request"><a href="LuCI.Request.html#request">request</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Request.poll">
- <span class="title">
- <a href="LuCI.Request.poll.html">LuCI.Request.poll</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.Request.poll~callbackFn"><a href="LuCI.Request.poll.html#~callbackFn">callbackFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Request.poll#active"><a href="LuCI.Request.poll.html#active">active</a></li>
-
- <li data-name="LuCI.Request.poll#add"><a href="LuCI.Request.poll.html#add">add</a></li>
-
- <li data-name="LuCI.Request.poll#remove"><a href="LuCI.Request.poll.html#remove">remove</a></li>
-
- <li data-name="LuCI.Request.poll#start"><a href="LuCI.Request.poll.html#start">start</a></li>
-
- <li data-name="LuCI.Request.poll#stop"><a href="LuCI.Request.poll.html#stop">stop</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Response">
- <span class="title">
- <a href="LuCI.Response.html">LuCI.Response</a>
-
- </span>
- <ul class="members itemMembers">
-
- <span class="subtitle">Members</span>
-
- <li data-name="LuCI.Response#duration"><a href="LuCI.Response.html#duration">duration</a></li>
-
- <li data-name="LuCI.Response#headers"><a href="LuCI.Response.html#headers">headers</a></li>
-
- <li data-name="LuCI.Response#ok"><a href="LuCI.Response.html#ok">ok</a></li>
-
- <li data-name="LuCI.Response#status"><a href="LuCI.Response.html#status">status</a></li>
-
- <li data-name="LuCI.Response#statusText"><a href="LuCI.Response.html#statusText">statusText</a></li>
-
- <li data-name="LuCI.Response#url"><a href="LuCI.Response.html#url">url</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Response#clone"><a href="LuCI.Response.html#clone">clone</a></li>
-
- <li data-name="LuCI.Response#json"><a href="LuCI.Response.html#json">json</a></li>
-
- <li data-name="LuCI.Response#text"><a href="LuCI.Response.html#text">text</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.rpc">
- <span class="title">
- <a href="LuCI.rpc.html">LuCI.rpc</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.rpc.DeclareOptions"><a href="LuCI.rpc.html#.DeclareOptions">DeclareOptions</a></li>
-
- <li data-name="LuCI.rpc~filterFn"><a href="LuCI.rpc.html#~filterFn">filterFn</a></li>
-
- <li data-name="LuCI.rpc~interceptorFn"><a href="LuCI.rpc.html#~interceptorFn">interceptorFn</a></li>
-
- <li data-name="LuCI.rpc~invokeFn"><a href="LuCI.rpc.html#~invokeFn">invokeFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.rpc#addInterceptor"><a href="LuCI.rpc.html#addInterceptor">addInterceptor</a></li>
-
- <li data-name="LuCI.rpc#declare"><a href="LuCI.rpc.html#declare">declare</a></li>
-
- <li data-name="LuCI.rpc#getBaseURL"><a href="LuCI.rpc.html#getBaseURL">getBaseURL</a></li>
-
- <li data-name="LuCI.rpc#getSessionID"><a href="LuCI.rpc.html#getSessionID">getSessionID</a></li>
-
- <li data-name="LuCI.rpc#getStatusText"><a href="LuCI.rpc.html#getStatusText">getStatusText</a></li>
-
- <li data-name="LuCI.rpc#list"><a href="LuCI.rpc.html#list">list</a></li>
-
- <li data-name="LuCI.rpc#removeInterceptor"><a href="LuCI.rpc.html#removeInterceptor">removeInterceptor</a></li>
-
- <li data-name="LuCI.rpc#setBaseURL"><a href="LuCI.rpc.html#setBaseURL">setBaseURL</a></li>
-
- <li data-name="LuCI.rpc#setSessionID"><a href="LuCI.rpc.html#setSessionID">setSessionID</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.uci">
- <span class="title">
- <a href="LuCI.uci.html">LuCI.uci</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.uci.ChangeRecord"><a href="LuCI.uci.html#.ChangeRecord">ChangeRecord</a></li>
-
- <li data-name="LuCI.uci.SectionObject"><a href="LuCI.uci.html#.SectionObject">SectionObject</a></li>
-
- <li data-name="LuCI.uci~sectionsFn"><a href="LuCI.uci.html#~sectionsFn">sectionsFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.uci#add"><a href="LuCI.uci.html#add">add</a></li>
-
- <li data-name="LuCI.uci#apply"><a href="LuCI.uci.html#apply">apply</a></li>
-
- <li data-name="LuCI.uci#changes"><a href="LuCI.uci.html#changes">changes</a></li>
-
- <li data-name="LuCI.uci#createSID"><a href="LuCI.uci.html#createSID">createSID</a></li>
-
- <li data-name="LuCI.uci#get"><a href="LuCI.uci.html#get">get</a></li>
-
- <li data-name="LuCI.uci#get_first"><a href="LuCI.uci.html#get_first">get_first</a></li>
-
- <li data-name="LuCI.uci#load"><a href="LuCI.uci.html#load">load</a></li>
-
- <li data-name="LuCI.uci#move"><a href="LuCI.uci.html#move">move</a></li>
-
- <li data-name="LuCI.uci#remove"><a href="LuCI.uci.html#remove">remove</a></li>
-
- <li data-name="LuCI.uci#resolveSID"><a href="LuCI.uci.html#resolveSID">resolveSID</a></li>
-
- <li data-name="LuCI.uci#save"><a href="LuCI.uci.html#save">save</a></li>
-
- <li data-name="LuCI.uci#sections"><a href="LuCI.uci.html#sections">sections</a></li>
-
- <li data-name="LuCI.uci#set"><a href="LuCI.uci.html#set">set</a></li>
-
- <li data-name="LuCI.uci#set_first"><a href="LuCI.uci.html#set_first">set_first</a></li>
-
- <li data-name="LuCI.uci#unload"><a href="LuCI.uci.html#unload">unload</a></li>
-
- <li data-name="LuCI.uci#unset"><a href="LuCI.uci.html#unset">unset</a></li>
-
- <li data-name="LuCI.uci#unset_first"><a href="LuCI.uci.html#unset_first">unset_first</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.view">
- <span class="title">
- <a href="LuCI.view.html">LuCI.view</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.view#addFooter"><a href="LuCI.view.html#addFooter">addFooter</a></li>
-
- <li data-name="LuCI.view#handleReset"><a href="LuCI.view.html#handleReset">handleReset</a></li>
-
- <li data-name="LuCI.view#handleSave"><a href="LuCI.view.html#handleSave">handleSave</a></li>
-
- <li data-name="LuCI.view#handleSaveApply"><a href="LuCI.view.html#handleSaveApply">handleSaveApply</a></li>
-
- <li data-name="LuCI.view#load"><a href="LuCI.view.html#load">load</a></li>
-
- <li data-name="LuCI.view#render"><a href="LuCI.view.html#render">render</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.XHR">
- <span class="title">
- <a href="LuCI.XHR.html">LuCI.XHR</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.XHR#abort"><a href="LuCI.XHR.html#abort">abort</a></li>
-
- <li data-name="LuCI.XHR#busy"><a href="LuCI.XHR.html#busy">busy</a></li>
-
- <li data-name="LuCI.XHR#cancel"><a href="LuCI.XHR.html#cancel">cancel</a></li>
-
- <li data-name="LuCI.XHR#get"><a href="LuCI.XHR.html#get">get</a></li>
-
- <li data-name="LuCI.XHR#post"><a href="LuCI.XHR.html#post">post</a></li>
-
- <li data-name="LuCI.XHR#send_form"><a href="LuCI.XHR.html#send_form">send_form</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- </ul>
-</div>
- <div class="main">
- <h1 class="page-title" data-filename="LuCI.rpc.html">Class: rpc</h1>
-
-
-
-
-<section>
-
-<header>
- <h2>
- <span class="ancestors"><a href="LuCI.html">LuCI</a>.</span>
-
- rpc
- </h2>
-
- <div class="class-description"><p>The <code>LuCI.rpc</code> class provides high level ubus JSON-RPC abstractions
-and means for listing and invoking remove RPC methods.</p></div>
-
-</header>
-
-<article>
- <div class="container-overview">
-
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="rpc">
-
- new LuCI.rpc<span class="signature">()</span>
- </h4>
-
-
- <div class="tag-source">
- rpc.js, line 8
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dd>
-
-
- </div>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- <h3 class="subsection-title">Methods</h3>
-
- <dl>
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="addInterceptor">
-
- addInterceptor<span class="signature">(interceptorFn)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{<a href="LuCI.rpc.html#~interceptorFn">LuCI.rpc~interceptorFn</a>}</span>
- </h4>
-
-
- <div class="tag-source">
- rpc.js, line 454
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Registers a new interceptor function.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>interceptorFn</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type"><a href="LuCI.rpc.html#~interceptorFn">LuCI.rpc~interceptorFn</a></span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The inteceptor function to register.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- <a href="LuCI.rpc.html#~interceptorFn">LuCI.rpc~interceptorFn</a>
-
-
- </td>
- <td class="description last">Returns the given function value.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="declare">
-
- declare<span class="signature">(options)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{<a href="LuCI.rpc.html#~invokeFn">LuCI.rpc~invokeFn</a>}</span>
- </h4>
-
-
- <div class="tag-source">
- rpc.js, line 292
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Describes a remote RPC call procedure and returns a function
-implementing it.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>options</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type"><a href="LuCI.rpc.html#.DeclareOptions">LuCI.rpc.DeclareOptions</a></span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>If any object names are given, this function will return the method
-signatures of each given object.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- <a href="LuCI.rpc.html#~invokeFn">LuCI.rpc~invokeFn</a>
-
-
- </td>
- <td class="description last">Returns a new function implementing the method call described in
-<code>options</code>.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getBaseURL">
-
- getBaseURL<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{string}</span>
- </h4>
-
-
- <div class="tag-source">
- rpc.js, line 367
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Returns the current RPC base URL.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- string
-
-
- </td>
- <td class="description last">Returns the RPC URL endpoint to issue requests against.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getSessionID">
-
- getSessionID<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{string}</span>
- </h4>
-
-
- <div class="tag-source">
- rpc.js, line 346
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Returns the current RPC session id.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- string
-
-
- </td>
- <td class="description last">Returns the 32 byte session ID string used for authenticating remote
-requests.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="getStatusText">
-
- getStatusText<span class="signature">(statusCode)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{string}</span>
- </h4>
-
-
- <div class="tag-source">
- rpc.js, line 391
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Translates a numeric <code>ubus</code> error code into a human readable
-description.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>statusCode</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">number</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The numeric status code.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- string
-
-
- </td>
- <td class="description last">Returns the textual description of the code.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="list">
-
- list<span class="signature">(<span class="optional">objectNames</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Promise.&lt;(Array.&lt;string>|Object.&lt;string, Object.&lt;string, Object.&lt;string, string>>>)>}</span>
- </h4>
-
-
- <div class="tag-source">
- rpc.js, line 140
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Lists available remote ubus objects or the method signatures of
-specific objects.</p>
-<p>This function has two signatures and is sensitive to the number of
-arguments passed to it:</p>
-<ul>
-<li><code>list()</code> -
-Returns an array containing the names of all remote <code>ubus</code> objects</li>
-<li><code>list(&quot;objname&quot;, ...)</code>
-Returns method signatures for each given <code>ubus</code> object name.</li>
-</ul>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>objectNames</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
- <span class="repeatable">repeatable</span>
-
-
- <p>If any object names are given, this function will return the method
-signatures of each given object.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Promise.&lt;(Array.&lt;string>|Object.&lt;string, Object.&lt;string, Object.&lt;string, string>>>)>
-
-
- </td>
- <td class="description last">When invoked without arguments, this function will return a promise
-resolving to an array of <code>ubus</code> object names. When invoked with one or
-more arguments, a promise resolving to an object describing the method
-signatures of each requested <code>ubus</code> object name will be returned.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="removeInterceptor">
-
- removeInterceptor<span class="signature">(interceptorFn)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
- </h4>
-
-
- <div class="tag-source">
- rpc.js, line 470
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Removes a registered interceptor function.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>interceptorFn</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type"><a href="LuCI.rpc.html#~interceptorFn">LuCI.rpc~interceptorFn</a></span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The inteceptor function to remove.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- boolean
-
-
- </td>
- <td class="description last">Returns <code>true</code> if the given function has been removed or <code>false</code>
-if it has not been found.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="setBaseURL">
-
- setBaseURL<span class="signature">(sid)</span>
- </h4>
-
-
- <div class="tag-source">
- rpc.js, line 377
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Set the RPC base URL to use.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>sid</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>Sets the RPC URL endpoint to issue requests against.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="setSessionID">
-
- setSessionID<span class="signature">(sid)</span>
- </h4>
-
-
- <div class="tag-source">
- rpc.js, line 357
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Set the RPC session id to use.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>sid</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>Sets the 32 byte session ID string used for authenticating remote
-requests.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dd>
-
- </dl>
-
-
-
- <h3 class="subsection-title">Type Definitions</h3>
-
- <dl>
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id=".DeclareOptions">LuCI.rpc.DeclareOptions<span class="type-signature type object">Object</span> </h4>
- </div>
-
-
-</dt>
-<dd>
-
-
-
-<dl class="details">
-
-
- <h5 class="subsection-title">Properties:</h5>
-
- <dl>
-
-<table class="props">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
- <th>Argument</th>
-
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>object</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
- <td class="attributes">
-
-
-
- </td>
-
-
-
-
- <td class="description last"><p>The name of the remote <code>ubus</code> object to invoke.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>method</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
- <td class="attributes">
-
-
-
- </td>
-
-
-
-
- <td class="description last"><p>The name of the remote <code>ubus</code> method to invoke.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>params</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">Array.&lt;string></span>
-
-
-
- </td>
-
-
- <td class="attributes">
-
- &lt;optional><br>
-
-
-
- </td>
-
-
-
-
- <td class="description last"><p>Lists the named parameters expected by the remote <code>ubus</code> RPC method.
-The arguments passed to the resulting generated method call function
-will be mapped to named parameters in the order they appear in this
-array.</p>
-<p>Extraneous parameters passed to the generated function will not be
-sent to the remote procedure but are passed to the
-<a href="LuCI.rpc.html#~filterFn"><code>filter function</code></a> if one is specified.</p>
-<p>Examples:</p>
-<ul>
-<li><code>params: [ &quot;foo&quot;, &quot;bar&quot; ]</code> -
-When the resulting call function is invoked with <code>fn(true, false)</code>,
-the corresponding args object sent to the remote procedure will be
-<code>{ foo: true, bar: false }</code>.</li>
-<li><code>params: [ &quot;test&quot; ], filter: function(reply, args, extra) { ... }</code> -
-When the resultung generated function is invoked with
-<code>fn(&quot;foo&quot;, &quot;bar&quot;, &quot;baz&quot;)</code> then <code>{ &quot;test&quot;: &quot;foo&quot; }</code> will be sent as
-argument to the remote procedure and the filter function will be
-invoked with <code>filterFn(reply, [ &quot;foo&quot; ], &quot;bar&quot;, &quot;baz&quot;)</code></li>
-</ul></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>expect</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">Object.&lt;string, *></span>
-
-
-
- </td>
-
-
- <td class="attributes">
-
- &lt;optional><br>
-
-
-
- </td>
-
-
-
-
- <td class="description last"><p>Describes the expected return data structure. The given object is
-supposed to contain a single key selecting the value to use from
-the returned <code>ubus</code> reply object. The value of the sole key within
-the <code>expect</code> object is used to infer the expected type of the received
-<code>ubus</code> reply data.</p>
-<p>If the received data does not contain <code>expect</code>'s key, or if the
-type of the data differs from the type of the value in the expect
-object, the expect object's value is returned as default instead.</p>
-<p>The key in the <code>expect</code> object may be an empty string (<code>''</code>) in which
-case the entire reply object is selected instead of one of its subkeys.</p>
-<p>If the <code>expect</code> option is omitted, the received reply will be returned
-as-is, regardless of its format or type.</p>
-<p>Examples:</p>
-<ul>
-<li><code>expect: { '': { error: 'Invalid response' } }</code> -
-This requires the entire <code>ubus</code> reply to be a plain JavaScript
-object. If the reply isn't an object but e.g. an array or a numeric
-error code instead, it will get replaced with
-<code>{ error: 'Invalid response' }</code> instead.</li>
-<li><code>expect: { results: [] }</code> -
-This requires the received <code>ubus</code> reply to be an object containing
-a key <code>results</code> with an array as value. If the received reply does
-not contain such a key, or if <code>reply.results</code> points to a non-array
-value, the empty array (<code>[]</code>) will be used instead.</li>
-<li><code>expect: { success: false }</code> -
-This requires the received <code>ubus</code> reply to be an object containing
-a key <code>success</code> with a boolean value. If the reply does not contain
-<code>success</code> or if <code>reply.success</code> is not a boolean value, <code>false</code> will
-be returned as default instead.</li>
-</ul></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>filter</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type"><a href="LuCI.rpc.html#~filterFn">LuCI.rpc~filterFn</a></span>
-
-
-
- </td>
-
-
- <td class="attributes">
-
- &lt;optional><br>
-
-
-
- </td>
-
-
-
-
- <td class="description last"><p>Specfies an optional filter function which is invoked to transform the
-received reply data before it is returned to the caller.</p></td>
- </tr>
-
-
- </tbody>
-</table></dl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="~filterFn">
-
- filterFn<span class="signature">(data, args, extraArgs)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{*}</span>
- </h4>
-
-
- <div class="tag-source">
- rpc.js, line 231
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>The filter function is invoked to transform a received <code>ubus</code> RPC call
-reply before returning it to the caller.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>data</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">*</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
-
-
-
-
- <p>The received <code>ubus</code> reply data or a subset of it as described in the
-<code>expect</code> option of the RPC call declaration. In case of remote call
-errors, <code>data</code> is numeric <code>ubus</code> error code instead.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>args</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">Array.&lt;*></span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
-
-
-
-
- <p>The arguments the RPC method has been invoked with.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>extraArgs</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">*</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
-
-
-
- <span class="repeatable">repeatable</span>
-
-
- <p>All extraneous arguments passed to the RPC method exceeding the number
-of arguments describes in the RPC call declaration.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- *
-
-
- </td>
- <td class="description last">The return value of the filter function will be returned to the caller
-of the RPC method as-is.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="~interceptorFn">
-
- interceptorFn<span class="signature">(msg, req)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Promise.&lt;*>|*}</span>
- </h4>
-
-
- <div class="tag-source">
- rpc.js, line 408
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Registered interceptor functions are invoked before the standard reply
-parsing and handling logic.</p>
-<p>By returning rejected promises, interceptor functions can cause the
-invocation function to fail, regardless of the received reply.</p>
-<p>Interceptors may also modify their message argument in-place to
-rewrite received replies before they're processed by the standard
-response handling code.</p>
-<p>A common use case for such functions is to detect failing RPC replies
-due to expired authentication in order to trigger a new login.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>msg</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">*</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The unprocessed, JSON decoded remote RPC method call reply.</p>
-<p>Since interceptors run before the standard parsing logic, the reply
-data is not verified for correctness or filtered according to
-<code>expect</code> and <code>filter</code> specifications in the declarations.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>req</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">Object</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The related request object which is an extended variant of the
-declaration object, allowing access to internals of the invocation
-function such as <code>filter</code>, <code>expect</code> or <code>params</code> values.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Promise.&lt;*>
- |
-
- *
-
-
- </td>
- <td class="description last">Interceptor functions may return a promise to defer response
-processing until some delayed work completed. Any values the returned
-promise resolves to are ignored.
-When the returned promise rejects with an error, the invocation
-function will fail too, forwarding the error to the caller.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="~invokeFn">
-
- invokeFn<span class="signature">(params)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Promise.&lt;*>}</span>
- </h4>
-
-
- <div class="tag-source">
- rpc.js, line 254
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>The generated invocation function is returned by
-<a href="LuCI.rpc.html#declare"><code>rpc.declare()</code></a> and encapsulates a single
-RPC method call.</p>
-<p>Calling this function will execute a remote <code>ubus</code> HTTP call request
-using the arguments passed to it as arguments and return a promise
-resolving to the received reply values.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>params</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">*</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
-
-
-
- <span class="repeatable">repeatable</span>
-
-
- <p>The parameters to pass to the remote procedure call. The given
-positional arguments will be named to named RPC parameters according
-to the names specified in the <code>params</code> array of the method declaration.</p>
-<p>Any additional parameters exceeding the amount of arguments in the
-<code>params</code> declaration are passed as private extra arguments to the
-declared filter function.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Promise.&lt;*>
-
-
- </td>
- <td class="description last">Returns a promise resolving to the result data of the remote <code>ubus</code>
-RPC method invocation, optionally substituted and filtered according
-to the <code>expect</code> and <code>filter</code> declarations.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
- </dl>
-
-
-
-
-
-</article>
-
-</section>
-
-
-
-
-
-
-
- <footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Nov 05 2019 10:17:12 GMT+0100 (Central European Standard Time)
- </footer>
- </div>
-</div>
-<script>prettyPrint();</script>
-<script src="scripts/jaguar.js"></script>
-</body>
-</html> \ No newline at end of file
diff --git a/documentation/jsapi/LuCI.uci.html b/documentation/jsapi/LuCI.uci.html
deleted file mode 100644
index 32e34eacb1..0000000000
--- a/documentation/jsapi/LuCI.uci.html
+++ /dev/null
@@ -1,4773 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <meta charset="utf-8">
- <title>Class: uci</title>
-
-
- <script src="scripts/prettify/prettify.js"></script>
- <script src="scripts/prettify/lang-css.js"></script>
- <script src="scripts/jquery.min.js"></script>
- <!--[if lt IE 9]>
- <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
- <![endif]-->
- <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
- <link type="text/css" rel="stylesheet" href="styles/bootstrap.min.css">
- <link type="text/css" rel="stylesheet" href="styles/jaguar.css">
-
-
- <script>
- var config = {"monospaceLinks":true,"cleverLinks":true,"default":{}};
- </script>
-
-
-
-</head>
-<body>
-<div id="wrap" class="clearfix">
-
-<div class="navigation">
- <h3 class="applicationName"><a href="index.html"></a></h3>
-
- <div class="search">
- <input id="search" type="text" class="form-control input-sm" placeholder="Search Documentations">
- </div>
- <ul class="list">
-
- <li class="item" data-name="LuCI">
- <span class="title">
- <a href="LuCI.html">LuCI</a>
-
- </span>
- <ul class="members itemMembers">
-
- <span class="subtitle">Members</span>
-
- <li data-name="LuCI#env"><a href="LuCI.html#env">env</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.requestCallbackFn"><a href="LuCI.html#.requestCallbackFn">requestCallbackFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI#bind"><a href="LuCI.html#bind">bind</a></li>
-
- <li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
-
- <li data-name="LuCI#get"><a href="LuCI.html#get">get</a></li>
-
- <li data-name="LuCI#halt"><a href="LuCI.html#halt">halt</a></li>
-
- <li data-name="LuCI#hasSystemFeature"><a href="LuCI.html#hasSystemFeature">hasSystemFeature</a></li>
-
- <li data-name="LuCI#isObject"><a href="LuCI.html#isObject">isObject</a></li>
-
- <li data-name="LuCI#location"><a href="LuCI.html#location">location</a></li>
-
- <li data-name="LuCI#path"><a href="LuCI.html#path">path</a></li>
-
- <li data-name="LuCI#poll"><a href="LuCI.html#poll">poll</a></li>
-
- <li data-name="LuCI#post"><a href="LuCI.html#post">post</a></li>
-
- <li data-name="LuCI#raise"><a href="LuCI.html#raise">raise</a></li>
-
- <li data-name="LuCI#require"><a href="LuCI.html#require">require</a></li>
-
- <li data-name="LuCI#resolveDefault"><a href="LuCI.html#resolveDefault">resolveDefault</a></li>
-
- <li data-name="LuCI#resource"><a href="LuCI.html#resource">resource</a></li>
-
- <li data-name="LuCI#run"><a href="LuCI.html#run">run</a></li>
-
- <li data-name="LuCI#sortedKeys"><a href="LuCI.html#sortedKeys">sortedKeys</a></li>
-
- <li data-name="LuCI#stop"><a href="LuCI.html#stop">stop</a></li>
-
- <li data-name="LuCI#toArray"><a href="LuCI.html#toArray">toArray</a></li>
-
- <li data-name="LuCI#url"><a href="LuCI.html#url">url</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Class">
- <span class="title">
- <a href="LuCI.Class.html">LuCI.Class</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Class.extend"><a href="LuCI.Class.html#.extend">extend</a></li>
-
- <li data-name="LuCI.Class.instantiate"><a href="LuCI.Class.html#.instantiate">instantiate</a></li>
-
- <li data-name="LuCI.Class.isSubclass"><a href="LuCI.Class.html#.isSubclass">isSubclass</a></li>
-
- <li data-name="LuCI.Class.singleton"><a href="LuCI.Class.html#.singleton">singleton</a></li>
-
- <li data-name="LuCI.Class#super"><a href="LuCI.Class.html#super">super</a></li>
-
- <li data-name="LuCI.Class#varargs"><a href="LuCI.Class.html#varargs">varargs</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.dom">
- <span class="title">
- <a href="LuCI.dom.html">LuCI.dom</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.dom~ignoreCallbackFn"><a href="LuCI.dom.html#~ignoreCallbackFn">ignoreCallbackFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.dom#append"><a href="LuCI.dom.html#append">append</a></li>
-
- <li data-name="LuCI.dom#attr"><a href="LuCI.dom.html#attr">attr</a></li>
-
- <li data-name="LuCI.dom#bindClassInstance"><a href="LuCI.dom.html#bindClassInstance">bindClassInstance</a></li>
-
- <li data-name="LuCI.dom#callClassMethod"><a href="LuCI.dom.html#callClassMethod">callClassMethod</a></li>
-
- <li data-name="LuCI.dom#content"><a href="LuCI.dom.html#content">content</a></li>
-
- <li data-name="LuCI.dom#create"><a href="LuCI.dom.html#create">create</a></li>
-
- <li data-name="LuCI.dom#data"><a href="LuCI.dom.html#data">data</a></li>
-
- <li data-name="LuCI.dom#elem"><a href="LuCI.dom.html#elem">elem</a></li>
-
- <li data-name="LuCI.dom#findClassInstance"><a href="LuCI.dom.html#findClassInstance">findClassInstance</a></li>
-
- <li data-name="LuCI.dom#isEmpty"><a href="LuCI.dom.html#isEmpty">isEmpty</a></li>
-
- <li data-name="LuCI.dom#matches"><a href="LuCI.dom.html#matches">matches</a></li>
-
- <li data-name="LuCI.dom#parent"><a href="LuCI.dom.html#parent">parent</a></li>
-
- <li data-name="LuCI.dom#parse"><a href="LuCI.dom.html#parse">parse</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.fs">
- <span class="title">
- <a href="LuCI.fs.html">LuCI.fs</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.fs.FileExecResult"><a href="LuCI.fs.html#.FileExecResult">FileExecResult</a></li>
-
- <li data-name="LuCI.fs.FileStatEntry"><a href="LuCI.fs.html#.FileStatEntry">FileStatEntry</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.fs#exec"><a href="LuCI.fs.html#exec">exec</a></li>
-
- <li data-name="LuCI.fs#lines"><a href="LuCI.fs.html#lines">lines</a></li>
-
- <li data-name="LuCI.fs#list"><a href="LuCI.fs.html#list">list</a></li>
-
- <li data-name="LuCI.fs#read"><a href="LuCI.fs.html#read">read</a></li>
-
- <li data-name="LuCI.fs#remove"><a href="LuCI.fs.html#remove">remove</a></li>
-
- <li data-name="LuCI.fs#stat"><a href="LuCI.fs.html#stat">stat</a></li>
-
- <li data-name="LuCI.fs#trimmed"><a href="LuCI.fs.html#trimmed">trimmed</a></li>
-
- <li data-name="LuCI.fs#write"><a href="LuCI.fs.html#write">write</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Headers">
- <span class="title">
- <a href="LuCI.Headers.html">LuCI.Headers</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Headers#get"><a href="LuCI.Headers.html#get">get</a></li>
-
- <li data-name="LuCI.Headers#has"><a href="LuCI.Headers.html#has">has</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network">
- <span class="title">
- <a href="LuCI.Network.html">LuCI.Network</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.Network.SwitchTopology"><a href="LuCI.Network.html#.SwitchTopology">SwitchTopology</a></li>
-
- <li data-name="LuCI.Network.WifiEncryption"><a href="LuCI.Network.html#.WifiEncryption">WifiEncryption</a></li>
-
- <li data-name="LuCI.Network.WifiPeerEntry"><a href="LuCI.Network.html#.WifiPeerEntry">WifiPeerEntry</a></li>
-
- <li data-name="LuCI.Network.WifiRateEntry"><a href="LuCI.Network.html#.WifiRateEntry">WifiRateEntry</a></li>
-
- <li data-name="LuCI.Network.WifiScanResult"><a href="LuCI.Network.html#.WifiScanResult">WifiScanResult</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network#addNetwork"><a href="LuCI.Network.html#addNetwork">addNetwork</a></li>
-
- <li data-name="LuCI.Network#addWifiNetwork"><a href="LuCI.Network.html#addWifiNetwork">addWifiNetwork</a></li>
-
- <li data-name="LuCI.Network#deleteNetwork"><a href="LuCI.Network.html#deleteNetwork">deleteNetwork</a></li>
-
- <li data-name="LuCI.Network#deleteWifiNetwork"><a href="LuCI.Network.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
-
- <li data-name="LuCI.Network#flushCache"><a href="LuCI.Network.html#flushCache">flushCache</a></li>
-
- <li data-name="LuCI.Network#formatWifiEncryption"><a href="LuCI.Network.html#formatWifiEncryption">formatWifiEncryption</a></li>
-
- <li data-name="LuCI.Network#getDevice"><a href="LuCI.Network.html#getDevice">getDevice</a></li>
-
- <li data-name="LuCI.Network#getDevices"><a href="LuCI.Network.html#getDevices">getDevices</a></li>
-
- <li data-name="LuCI.Network#getDSLModemType"><a href="LuCI.Network.html#getDSLModemType">getDSLModemType</a></li>
-
- <li data-name="LuCI.Network#getHostHints"><a href="LuCI.Network.html#getHostHints">getHostHints</a></li>
-
- <li data-name="LuCI.Network#getIfnameOf"><a href="LuCI.Network.html#getIfnameOf">getIfnameOf</a></li>
-
- <li data-name="LuCI.Network#getNetwork"><a href="LuCI.Network.html#getNetwork">getNetwork</a></li>
-
- <li data-name="LuCI.Network#getNetworks"><a href="LuCI.Network.html#getNetworks">getNetworks</a></li>
-
- <li data-name="LuCI.Network#getProtocol"><a href="LuCI.Network.html#getProtocol">getProtocol</a></li>
-
- <li data-name="LuCI.Network#getProtocols"><a href="LuCI.Network.html#getProtocols">getProtocols</a></li>
-
- <li data-name="LuCI.Network#getSwitchTopologies"><a href="LuCI.Network.html#getSwitchTopologies">getSwitchTopologies</a></li>
-
- <li data-name="LuCI.Network#getWAN6Networks"><a href="LuCI.Network.html#getWAN6Networks">getWAN6Networks</a></li>
-
- <li data-name="LuCI.Network#getWANNetworks"><a href="LuCI.Network.html#getWANNetworks">getWANNetworks</a></li>
-
- <li data-name="LuCI.Network#getWifiDevice"><a href="LuCI.Network.html#getWifiDevice">getWifiDevice</a></li>
-
- <li data-name="LuCI.Network#getWifiDevices"><a href="LuCI.Network.html#getWifiDevices">getWifiDevices</a></li>
-
- <li data-name="LuCI.Network#getWifiNetwork"><a href="LuCI.Network.html#getWifiNetwork">getWifiNetwork</a></li>
-
- <li data-name="LuCI.Network#isIgnoredDevice"><a href="LuCI.Network.html#isIgnoredDevice">isIgnoredDevice</a></li>
-
- <li data-name="LuCI.Network#maskToPrefix"><a href="LuCI.Network.html#maskToPrefix">maskToPrefix</a></li>
-
- <li data-name="LuCI.Network#prefixToMask"><a href="LuCI.Network.html#prefixToMask">prefixToMask</a></li>
-
- <li data-name="LuCI.Network#registerErrorCode"><a href="LuCI.Network.html#registerErrorCode">registerErrorCode</a></li>
-
- <li data-name="LuCI.Network#registerPatternVirtual"><a href="LuCI.Network.html#registerPatternVirtual">registerPatternVirtual</a></li>
-
- <li data-name="LuCI.Network#registerProtocol"><a href="LuCI.Network.html#registerProtocol">registerProtocol</a></li>
-
- <li data-name="LuCI.Network#renameNetwork"><a href="LuCI.Network.html#renameNetwork">renameNetwork</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.Device">
- <span class="title">
- <a href="LuCI.Network.Device.html">LuCI.Network.Device</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.Device#getBridgeID"><a href="LuCI.Network.Device.html#getBridgeID">getBridgeID</a></li>
-
- <li data-name="LuCI.Network.Device#getBridgeSTP"><a href="LuCI.Network.Device.html#getBridgeSTP">getBridgeSTP</a></li>
-
- <li data-name="LuCI.Network.Device#getI18n"><a href="LuCI.Network.Device.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.Device#getIP6Addrs"><a href="LuCI.Network.Device.html#getIP6Addrs">getIP6Addrs</a></li>
-
- <li data-name="LuCI.Network.Device#getIPAddrs"><a href="LuCI.Network.Device.html#getIPAddrs">getIPAddrs</a></li>
-
- <li data-name="LuCI.Network.Device#getMAC"><a href="LuCI.Network.Device.html#getMAC">getMAC</a></li>
-
- <li data-name="LuCI.Network.Device#getMTU"><a href="LuCI.Network.Device.html#getMTU">getMTU</a></li>
-
- <li data-name="LuCI.Network.Device#getName"><a href="LuCI.Network.Device.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.Device#getNetwork"><a href="LuCI.Network.Device.html#getNetwork">getNetwork</a></li>
-
- <li data-name="LuCI.Network.Device#getNetworks"><a href="LuCI.Network.Device.html#getNetworks">getNetworks</a></li>
-
- <li data-name="LuCI.Network.Device#getPorts"><a href="LuCI.Network.Device.html#getPorts">getPorts</a></li>
-
- <li data-name="LuCI.Network.Device#getRXBytes"><a href="LuCI.Network.Device.html#getRXBytes">getRXBytes</a></li>
-
- <li data-name="LuCI.Network.Device#getRXPackets"><a href="LuCI.Network.Device.html#getRXPackets">getRXPackets</a></li>
-
- <li data-name="LuCI.Network.Device#getShortName"><a href="LuCI.Network.Device.html#getShortName">getShortName</a></li>
-
- <li data-name="LuCI.Network.Device#getTXBytes"><a href="LuCI.Network.Device.html#getTXBytes">getTXBytes</a></li>
-
- <li data-name="LuCI.Network.Device#getTXPackets"><a href="LuCI.Network.Device.html#getTXPackets">getTXPackets</a></li>
-
- <li data-name="LuCI.Network.Device#getType"><a href="LuCI.Network.Device.html#getType">getType</a></li>
-
- <li data-name="LuCI.Network.Device#getTypeI18n"><a href="LuCI.Network.Device.html#getTypeI18n">getTypeI18n</a></li>
-
- <li data-name="LuCI.Network.Device#getWifiNetwork"><a href="LuCI.Network.Device.html#getWifiNetwork">getWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.Device#isBridge"><a href="LuCI.Network.Device.html#isBridge">isBridge</a></li>
-
- <li data-name="LuCI.Network.Device#isBridgePort"><a href="LuCI.Network.Device.html#isBridgePort">isBridgePort</a></li>
-
- <li data-name="LuCI.Network.Device#isUp"><a href="LuCI.Network.Device.html#isUp">isUp</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.Hosts">
- <span class="title">
- <a href="LuCI.Network.Hosts.html">LuCI.Network.Hosts</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.Hosts#getHostnameByIP6Addr"><a href="LuCI.Network.Hosts.html#getHostnameByIP6Addr">getHostnameByIP6Addr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getHostnameByIPAddr"><a href="LuCI.Network.Hosts.html#getHostnameByIPAddr">getHostnameByIPAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getHostnameByMACAddr"><a href="LuCI.Network.Hosts.html#getHostnameByMACAddr">getHostnameByMACAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getIP6AddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIP6AddrByMACAddr">getIP6AddrByMACAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getIPAddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIPAddrByMACAddr">getIPAddrByMACAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getMACAddrByIP6Addr"><a href="LuCI.Network.Hosts.html#getMACAddrByIP6Addr">getMACAddrByIP6Addr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getMACAddrByIPAddr"><a href="LuCI.Network.Hosts.html#getMACAddrByIPAddr">getMACAddrByIPAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getMACHints"><a href="LuCI.Network.Hosts.html#getMACHints">getMACHints</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.Protocol">
- <span class="title">
- <a href="LuCI.Network.Protocol.html">LuCI.Network.Protocol</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.Protocol#addDevice"><a href="LuCI.Network.Protocol.html#addDevice">addDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#containsDevice"><a href="LuCI.Network.Protocol.html#containsDevice">containsDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#deleteDevice"><a href="LuCI.Network.Protocol.html#deleteDevice">deleteDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#get"><a href="LuCI.Network.Protocol.html#get">get</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDevice"><a href="LuCI.Network.Protocol.html#getDevice">getDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDevices"><a href="LuCI.Network.Protocol.html#getDevices">getDevices</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDNS6Addrs"><a href="LuCI.Network.Protocol.html#getDNS6Addrs">getDNS6Addrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDNSAddrs"><a href="LuCI.Network.Protocol.html#getDNSAddrs">getDNSAddrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getErrors"><a href="LuCI.Network.Protocol.html#getErrors">getErrors</a></li>
-
- <li data-name="LuCI.Network.Protocol#getExpiry"><a href="LuCI.Network.Protocol.html#getExpiry">getExpiry</a></li>
-
- <li data-name="LuCI.Network.Protocol#getGateway6Addr"><a href="LuCI.Network.Protocol.html#getGateway6Addr">getGateway6Addr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getGatewayAddr"><a href="LuCI.Network.Protocol.html#getGatewayAddr">getGatewayAddr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getI18n"><a href="LuCI.Network.Protocol.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIfname"><a href="LuCI.Network.Protocol.html#getIfname">getIfname</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIP6Addr"><a href="LuCI.Network.Protocol.html#getIP6Addr">getIP6Addr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIP6Addrs"><a href="LuCI.Network.Protocol.html#getIP6Addrs">getIP6Addrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIP6Prefix"><a href="LuCI.Network.Protocol.html#getIP6Prefix">getIP6Prefix</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIPAddr"><a href="LuCI.Network.Protocol.html#getIPAddr">getIPAddr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIPAddrs"><a href="LuCI.Network.Protocol.html#getIPAddrs">getIPAddrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getL2Device"><a href="LuCI.Network.Protocol.html#getL2Device">getL2Device</a></li>
-
- <li data-name="LuCI.Network.Protocol#getL3Device"><a href="LuCI.Network.Protocol.html#getL3Device">getL3Device</a></li>
-
- <li data-name="LuCI.Network.Protocol#getMetric"><a href="LuCI.Network.Protocol.html#getMetric">getMetric</a></li>
-
- <li data-name="LuCI.Network.Protocol#getName"><a href="LuCI.Network.Protocol.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.Protocol#getNetmask"><a href="LuCI.Network.Protocol.html#getNetmask">getNetmask</a></li>
-
- <li data-name="LuCI.Network.Protocol#getOpkgPackage"><a href="LuCI.Network.Protocol.html#getOpkgPackage">getOpkgPackage</a></li>
-
- <li data-name="LuCI.Network.Protocol#getProtocol"><a href="LuCI.Network.Protocol.html#getProtocol">getProtocol</a></li>
-
- <li data-name="LuCI.Network.Protocol#getType"><a href="LuCI.Network.Protocol.html#getType">getType</a></li>
-
- <li data-name="LuCI.Network.Protocol#getUptime"><a href="LuCI.Network.Protocol.html#getUptime">getUptime</a></li>
-
- <li data-name="LuCI.Network.Protocol#getZoneName"><a href="LuCI.Network.Protocol.html#getZoneName">getZoneName</a></li>
-
- <li data-name="LuCI.Network.Protocol#isAlias"><a href="LuCI.Network.Protocol.html#isAlias">isAlias</a></li>
-
- <li data-name="LuCI.Network.Protocol#isBridge"><a href="LuCI.Network.Protocol.html#isBridge">isBridge</a></li>
-
- <li data-name="LuCI.Network.Protocol#isDynamic"><a href="LuCI.Network.Protocol.html#isDynamic">isDynamic</a></li>
-
- <li data-name="LuCI.Network.Protocol#isEmpty"><a href="LuCI.Network.Protocol.html#isEmpty">isEmpty</a></li>
-
- <li data-name="LuCI.Network.Protocol#isFloating"><a href="LuCI.Network.Protocol.html#isFloating">isFloating</a></li>
-
- <li data-name="LuCI.Network.Protocol#isInstalled"><a href="LuCI.Network.Protocol.html#isInstalled">isInstalled</a></li>
-
- <li data-name="LuCI.Network.Protocol#isUp"><a href="LuCI.Network.Protocol.html#isUp">isUp</a></li>
-
- <li data-name="LuCI.Network.Protocol#isVirtual"><a href="LuCI.Network.Protocol.html#isVirtual">isVirtual</a></li>
-
- <li data-name="LuCI.Network.Protocol#set"><a href="LuCI.Network.Protocol.html#set">set</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.WifiDevice">
- <span class="title">
- <a href="LuCI.Network.WifiDevice.html">LuCI.Network.WifiDevice</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.WifiDevice#addWifiNetwork"><a href="LuCI.Network.WifiDevice.html#addWifiNetwork">addWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#deleteWifiNetwork"><a href="LuCI.Network.WifiDevice.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#get"><a href="LuCI.Network.WifiDevice.html#get">get</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getHTModes"><a href="LuCI.Network.WifiDevice.html#getHTModes">getHTModes</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getHWModes"><a href="LuCI.Network.WifiDevice.html#getHWModes">getHWModes</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getI18n"><a href="LuCI.Network.WifiDevice.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getName"><a href="LuCI.Network.WifiDevice.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getScanList"><a href="LuCI.Network.WifiDevice.html#getScanList">getScanList</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getWifiNetwork"><a href="LuCI.Network.WifiDevice.html#getWifiNetwork">getWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getWifiNetworks"><a href="LuCI.Network.WifiDevice.html#getWifiNetworks">getWifiNetworks</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#isDisabled"><a href="LuCI.Network.WifiDevice.html#isDisabled">isDisabled</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#isUp"><a href="LuCI.Network.WifiDevice.html#isUp">isUp</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#set"><a href="LuCI.Network.WifiDevice.html#set">set</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.WifiNetwork">
- <span class="title">
- <a href="LuCI.Network.WifiNetwork.html">LuCI.Network.WifiNetwork</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.WifiNetwork#get"><a href="LuCI.Network.WifiNetwork.html#get">get</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveBSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveBSSID">getActiveBSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveEncryption"><a href="LuCI.Network.WifiNetwork.html#getActiveEncryption">getActiveEncryption</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveMode"><a href="LuCI.Network.WifiNetwork.html#getActiveMode">getActiveMode</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveModeI18n"><a href="LuCI.Network.WifiNetwork.html#getActiveModeI18n">getActiveModeI18n</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveSSID">getActiveSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getAssocList"><a href="LuCI.Network.WifiNetwork.html#getAssocList">getAssocList</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getBitRate"><a href="LuCI.Network.WifiNetwork.html#getBitRate">getBitRate</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getBSSID"><a href="LuCI.Network.WifiNetwork.html#getBSSID">getBSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getChannel"><a href="LuCI.Network.WifiNetwork.html#getChannel">getChannel</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getCountryCode"><a href="LuCI.Network.WifiNetwork.html#getCountryCode">getCountryCode</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getDevice"><a href="LuCI.Network.WifiNetwork.html#getDevice">getDevice</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getFrequency"><a href="LuCI.Network.WifiNetwork.html#getFrequency">getFrequency</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getI18n"><a href="LuCI.Network.WifiNetwork.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getID"><a href="LuCI.Network.WifiNetwork.html#getID">getID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getIfname"><a href="LuCI.Network.WifiNetwork.html#getIfname">getIfname</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getMeshID"><a href="LuCI.Network.WifiNetwork.html#getMeshID">getMeshID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getMode"><a href="LuCI.Network.WifiNetwork.html#getMode">getMode</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getName"><a href="LuCI.Network.WifiNetwork.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNetwork"><a href="LuCI.Network.WifiNetwork.html#getNetwork">getNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNetworkNames"><a href="LuCI.Network.WifiNetwork.html#getNetworkNames">getNetworkNames</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNetworks"><a href="LuCI.Network.WifiNetwork.html#getNetworks">getNetworks</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNoise"><a href="LuCI.Network.WifiNetwork.html#getNoise">getNoise</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getShortName"><a href="LuCI.Network.WifiNetwork.html#getShortName">getShortName</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSignal"><a href="LuCI.Network.WifiNetwork.html#getSignal">getSignal</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSignalLevel"><a href="LuCI.Network.WifiNetwork.html#getSignalLevel">getSignalLevel</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSignalPercent"><a href="LuCI.Network.WifiNetwork.html#getSignalPercent">getSignalPercent</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSSID"><a href="LuCI.Network.WifiNetwork.html#getSSID">getSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getTXPower"><a href="LuCI.Network.WifiNetwork.html#getTXPower">getTXPower</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getTXPowerOffset"><a href="LuCI.Network.WifiNetwork.html#getTXPowerOffset">getTXPowerOffset</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getWifiDevice"><a href="LuCI.Network.WifiNetwork.html#getWifiDevice">getWifiDevice</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getWifiDeviceName"><a href="LuCI.Network.WifiNetwork.html#getWifiDeviceName">getWifiDeviceName</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#isDisabled"><a href="LuCI.Network.WifiNetwork.html#isDisabled">isDisabled</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#isUp"><a href="LuCI.Network.WifiNetwork.html#isUp">isUp</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#set"><a href="LuCI.Network.WifiNetwork.html#set">set</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Poll">
- <span class="title">
- <a href="LuCI.Poll.html">LuCI.Poll</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Poll#active"><a href="LuCI.Poll.html#active">active</a></li>
-
- <li data-name="LuCI.Poll#add"><a href="LuCI.Poll.html#add">add</a></li>
-
- <li data-name="LuCI.Poll#remove"><a href="LuCI.Poll.html#remove">remove</a></li>
-
- <li data-name="LuCI.Poll#start"><a href="LuCI.Poll.html#start">start</a></li>
-
- <li data-name="LuCI.Poll#stop"><a href="LuCI.Poll.html#stop">stop</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Request">
- <span class="title">
- <a href="LuCI.Request.html">LuCI.Request</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.Request.interceptorFn"><a href="LuCI.Request.html#.interceptorFn">interceptorFn</a></li>
-
- <li data-name="LuCI.Request.RequestOptions"><a href="LuCI.Request.html#.RequestOptions">RequestOptions</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Request#addInterceptor"><a href="LuCI.Request.html#addInterceptor">addInterceptor</a></li>
-
- <li data-name="LuCI.Request#expandURL"><a href="LuCI.Request.html#expandURL">expandURL</a></li>
-
- <li data-name="LuCI.Request#get"><a href="LuCI.Request.html#get">get</a></li>
-
- <li data-name="LuCI.Request#post"><a href="LuCI.Request.html#post">post</a></li>
-
- <li data-name="LuCI.Request#removeInterceptor"><a href="LuCI.Request.html#removeInterceptor">removeInterceptor</a></li>
-
- <li data-name="LuCI.Request#request"><a href="LuCI.Request.html#request">request</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Request.poll">
- <span class="title">
- <a href="LuCI.Request.poll.html">LuCI.Request.poll</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.Request.poll~callbackFn"><a href="LuCI.Request.poll.html#~callbackFn">callbackFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Request.poll#active"><a href="LuCI.Request.poll.html#active">active</a></li>
-
- <li data-name="LuCI.Request.poll#add"><a href="LuCI.Request.poll.html#add">add</a></li>
-
- <li data-name="LuCI.Request.poll#remove"><a href="LuCI.Request.poll.html#remove">remove</a></li>
-
- <li data-name="LuCI.Request.poll#start"><a href="LuCI.Request.poll.html#start">start</a></li>
-
- <li data-name="LuCI.Request.poll#stop"><a href="LuCI.Request.poll.html#stop">stop</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Response">
- <span class="title">
- <a href="LuCI.Response.html">LuCI.Response</a>
-
- </span>
- <ul class="members itemMembers">
-
- <span class="subtitle">Members</span>
-
- <li data-name="LuCI.Response#duration"><a href="LuCI.Response.html#duration">duration</a></li>
-
- <li data-name="LuCI.Response#headers"><a href="LuCI.Response.html#headers">headers</a></li>
-
- <li data-name="LuCI.Response#ok"><a href="LuCI.Response.html#ok">ok</a></li>
-
- <li data-name="LuCI.Response#status"><a href="LuCI.Response.html#status">status</a></li>
-
- <li data-name="LuCI.Response#statusText"><a href="LuCI.Response.html#statusText">statusText</a></li>
-
- <li data-name="LuCI.Response#url"><a href="LuCI.Response.html#url">url</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Response#clone"><a href="LuCI.Response.html#clone">clone</a></li>
-
- <li data-name="LuCI.Response#json"><a href="LuCI.Response.html#json">json</a></li>
-
- <li data-name="LuCI.Response#text"><a href="LuCI.Response.html#text">text</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.rpc">
- <span class="title">
- <a href="LuCI.rpc.html">LuCI.rpc</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.rpc.DeclareOptions"><a href="LuCI.rpc.html#.DeclareOptions">DeclareOptions</a></li>
-
- <li data-name="LuCI.rpc~filterFn"><a href="LuCI.rpc.html#~filterFn">filterFn</a></li>
-
- <li data-name="LuCI.rpc~interceptorFn"><a href="LuCI.rpc.html#~interceptorFn">interceptorFn</a></li>
-
- <li data-name="LuCI.rpc~invokeFn"><a href="LuCI.rpc.html#~invokeFn">invokeFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.rpc#addInterceptor"><a href="LuCI.rpc.html#addInterceptor">addInterceptor</a></li>
-
- <li data-name="LuCI.rpc#declare"><a href="LuCI.rpc.html#declare">declare</a></li>
-
- <li data-name="LuCI.rpc#getBaseURL"><a href="LuCI.rpc.html#getBaseURL">getBaseURL</a></li>
-
- <li data-name="LuCI.rpc#getSessionID"><a href="LuCI.rpc.html#getSessionID">getSessionID</a></li>
-
- <li data-name="LuCI.rpc#getStatusText"><a href="LuCI.rpc.html#getStatusText">getStatusText</a></li>
-
- <li data-name="LuCI.rpc#list"><a href="LuCI.rpc.html#list">list</a></li>
-
- <li data-name="LuCI.rpc#removeInterceptor"><a href="LuCI.rpc.html#removeInterceptor">removeInterceptor</a></li>
-
- <li data-name="LuCI.rpc#setBaseURL"><a href="LuCI.rpc.html#setBaseURL">setBaseURL</a></li>
-
- <li data-name="LuCI.rpc#setSessionID"><a href="LuCI.rpc.html#setSessionID">setSessionID</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.uci">
- <span class="title">
- <a href="LuCI.uci.html">LuCI.uci</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.uci.ChangeRecord"><a href="LuCI.uci.html#.ChangeRecord">ChangeRecord</a></li>
-
- <li data-name="LuCI.uci.SectionObject"><a href="LuCI.uci.html#.SectionObject">SectionObject</a></li>
-
- <li data-name="LuCI.uci~sectionsFn"><a href="LuCI.uci.html#~sectionsFn">sectionsFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.uci#add"><a href="LuCI.uci.html#add">add</a></li>
-
- <li data-name="LuCI.uci#apply"><a href="LuCI.uci.html#apply">apply</a></li>
-
- <li data-name="LuCI.uci#changes"><a href="LuCI.uci.html#changes">changes</a></li>
-
- <li data-name="LuCI.uci#createSID"><a href="LuCI.uci.html#createSID">createSID</a></li>
-
- <li data-name="LuCI.uci#get"><a href="LuCI.uci.html#get">get</a></li>
-
- <li data-name="LuCI.uci#get_first"><a href="LuCI.uci.html#get_first">get_first</a></li>
-
- <li data-name="LuCI.uci#load"><a href="LuCI.uci.html#load">load</a></li>
-
- <li data-name="LuCI.uci#move"><a href="LuCI.uci.html#move">move</a></li>
-
- <li data-name="LuCI.uci#remove"><a href="LuCI.uci.html#remove">remove</a></li>
-
- <li data-name="LuCI.uci#resolveSID"><a href="LuCI.uci.html#resolveSID">resolveSID</a></li>
-
- <li data-name="LuCI.uci#save"><a href="LuCI.uci.html#save">save</a></li>
-
- <li data-name="LuCI.uci#sections"><a href="LuCI.uci.html#sections">sections</a></li>
-
- <li data-name="LuCI.uci#set"><a href="LuCI.uci.html#set">set</a></li>
-
- <li data-name="LuCI.uci#set_first"><a href="LuCI.uci.html#set_first">set_first</a></li>
-
- <li data-name="LuCI.uci#unload"><a href="LuCI.uci.html#unload">unload</a></li>
-
- <li data-name="LuCI.uci#unset"><a href="LuCI.uci.html#unset">unset</a></li>
-
- <li data-name="LuCI.uci#unset_first"><a href="LuCI.uci.html#unset_first">unset_first</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.view">
- <span class="title">
- <a href="LuCI.view.html">LuCI.view</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.view#addFooter"><a href="LuCI.view.html#addFooter">addFooter</a></li>
-
- <li data-name="LuCI.view#handleReset"><a href="LuCI.view.html#handleReset">handleReset</a></li>
-
- <li data-name="LuCI.view#handleSave"><a href="LuCI.view.html#handleSave">handleSave</a></li>
-
- <li data-name="LuCI.view#handleSaveApply"><a href="LuCI.view.html#handleSaveApply">handleSaveApply</a></li>
-
- <li data-name="LuCI.view#load"><a href="LuCI.view.html#load">load</a></li>
-
- <li data-name="LuCI.view#render"><a href="LuCI.view.html#render">render</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.XHR">
- <span class="title">
- <a href="LuCI.XHR.html">LuCI.XHR</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.XHR#abort"><a href="LuCI.XHR.html#abort">abort</a></li>
-
- <li data-name="LuCI.XHR#busy"><a href="LuCI.XHR.html#busy">busy</a></li>
-
- <li data-name="LuCI.XHR#cancel"><a href="LuCI.XHR.html#cancel">cancel</a></li>
-
- <li data-name="LuCI.XHR#get"><a href="LuCI.XHR.html#get">get</a></li>
-
- <li data-name="LuCI.XHR#post"><a href="LuCI.XHR.html#post">post</a></li>
-
- <li data-name="LuCI.XHR#send_form"><a href="LuCI.XHR.html#send_form">send_form</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- </ul>
-</div>
- <div class="main">
- <h1 class="page-title" data-filename="LuCI.uci.html">Class: uci</h1>
-
-
-
-
-<section>
-
-<header>
- <h2>
- <span class="ancestors"><a href="LuCI.html">LuCI</a>.</span>
-
- uci
- </h2>
-
- <div class="class-description"><p>The <code>LuCI.uci</code> class utilizes <a href="LuCI.rpc.html"><code>LuCI.rpc</code></a> to declare low level
-remote UCI <code>ubus</code> procedures and implements a local caching and data
-manipulation layer on top to allow for synchroneous operations on
-UCI configuration data.</p></div>
-
-</header>
-
-<article>
- <div class="container-overview">
-
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="uci">
-
- new LuCI.uci<span class="signature">()</span>
- </h4>
-
-
- <div class="tag-source">
- uci.js, line 4
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dd>
-
-
- </div>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- <h3 class="subsection-title">Methods</h3>
-
- <dl>
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="add">
-
- add<span class="signature">(config, type, <span class="optional">name</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{string}</span>
- </h4>
-
-
- <div class="tag-source">
- uci.js, line 269
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Adds a new section of the given type to the given configuration,
-optionally named according to the given name.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>config</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
-
-
-
-
- <p>The name of the configuration to add the section to.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>type</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
-
-
-
-
- <p>The type of the section to add.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>name</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
-
- <p>The name of the section to add. If the name is omitted, an anonymous
-section will be added instead.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- string
-
-
- </td>
- <td class="description last">Returns the section ID of the newly added section which is equivalent
-to the given name for non-anonymous sections.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="apply">
-
- apply<span class="signature">(<span class="optional">timeout</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Promise.&lt;number>}</span>
- </h4>
-
-
- <div class="tag-source">
- uci.js, line 858
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Instructs the remote <code>ubus</code> UCI api to commit all saved changes with
-rollback protection and attempts to confirm the pending commit
-operation to cancel the rollback timer.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
- <th>Default</th>
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>timeout</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">number</span>
-
-
-
- </td>
-
-
- <td class="default">
-
- 10
-
- </td>
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
-
- <p>Override the confirmation timeout after which a rollback is triggered.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Promise.&lt;number>
-
-
- </td>
- <td class="description last">Returns a promise resolving/rejecting with the <code>ubus</code> RPC status code.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="changes">
-
- changes<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Promise.&lt;Object.&lt;string, Array.&lt;<a href="LuCI.uci.html#.ChangeRecord">LuCI.uci.ChangeRecord</a>>>>}</span>
- </h4>
-
-
- <div class="tag-source">
- uci.js, line 938
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Fetches uncommitted UCI changes from the remote <code>ubus</code> RPC api.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Promise.&lt;Object.&lt;string, Array.&lt;<a href="LuCI.uci.html#.ChangeRecord">LuCI.uci.ChangeRecord</a>>>>
-
-
- </td>
- <td class="description last">Returns a promise resolving to an object containing the configuration
-names as keys and arrays of related change records as values.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="createSID">
-
- createSID<span class="signature">(config)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{string}</span>
- </h4>
-
-
- <div class="tag-source">
- uci.js, line 88
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Generates a new, unique section ID for the given configuration.</p>
-<p>Note that the generated ID is temporary, it will get replaced by an
-identifier in the form <code>cfgXXXXXX</code> once the configuration is saved
-by the remote <code>ubus</code> UCI api.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>config</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The configuration to generate the new section ID for.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- string
-
-
- </td>
- <td class="description last">A newly generated, unique section ID in the form <code>newXXXXXX</code>
-where <code>X</code> denotes a hexadecimal digit.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="get">
-
- get<span class="signature">(config, sid, <span class="optional">option</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{null|string|Array.&lt;string>|<a href="LuCI.uci.html#.SectionObject">LuCI.uci.SectionObject</a>}</span>
- </h4>
-
-
- <div class="tag-source">
- uci.js, line 443
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Gets the value of the given option within the specified section
-of the given configuration or the entire section object if the
-option name is omitted.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>config</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
-
-
-
-
- <p>The name of the configuration to read the value from.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>sid</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
-
-
-
-
- <p>The name or ID of the section to read.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>option</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
-
- <p>The option name to read the value from. If the option name is
-omitted or <code>null</code>, the entire section is returned instead.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- null
- |
-
- string
- |
-
- Array.&lt;string>
- |
-
- <a href="LuCI.uci.html#.SectionObject">LuCI.uci.SectionObject</a>
-
-
- </td>
- <td class="description last"><ul>
-<li>Returns a string containing the option value in case of a
-plain UCI option.</li>
-<li>Returns an array of strings containing the option values in
-case of <code>option</code> pointing to an UCI list.</li>
-<li>Returns a <a href="LuCI.uci.html#.SectionObject"><code>section object</code></a> if
-the <code>option</code> argument has been omitted or is <code>null</code>.</li>
-<li>Returns <code>null</code> if the config, section or option has not been
-found or if the corresponding configuration is not loaded.</li>
-</ul></td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="get_first">
-
- get_first<span class="signature">(config, <span class="optional">type</span>, <span class="optional">option</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{null|string|Array.&lt;string>|<a href="LuCI.uci.html#.SectionObject">LuCI.uci.SectionObject</a>}</span>
- </h4>
-
-
- <div class="tag-source">
- uci.js, line 618
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Gets the value of the given option or the entire section object of
-the first found section of the specified type or the first found
-section of the entire configuration if no type is specfied.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>config</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
-
-
-
-
- <p>The name of the configuration to read the value from.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>type</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
-
- <p>The type of the first section to find. If it is <code>null</code>, the first
-section of the entire config is read, otherwise the first section
-matching the given type.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>option</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
-
- <p>The option name to read the value from. If the option name is
-omitted or <code>null</code>, the entire section is returned instead.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- null
- |
-
- string
- |
-
- Array.&lt;string>
- |
-
- <a href="LuCI.uci.html#.SectionObject">LuCI.uci.SectionObject</a>
-
-
- </td>
- <td class="description last"><ul>
-<li>Returns a string containing the option value in case of a
-plain UCI option.</li>
-<li>Returns an array of strings containing the option values in
-case of <code>option</code> pointing to an UCI list.</li>
-<li>Returns a <a href="LuCI.uci.html#.SectionObject"><code>section object</code></a> if
-the <code>option</code> argument has been omitted or is <code>null</code>.</li>
-<li>Returns <code>null</code> if the config, section or option has not been
-found or if the corresponding configuration is not loaded.</li>
-</ul></td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="load">
-
- load<span class="signature">(config)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Promise.&lt;Array.&lt;string>>}</span>
- </h4>
-
-
- <div class="tag-source">
- uci.js, line 205
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Loads the given UCI configurations from the remote <code>ubus</code> api.</p>
-<p>Loaded configurations are cached and only loaded once. Subsequent
-load operations of the same configurations will return the cached
-data.</p>
-<p>To force reloading a configuration, it has to be unloaded with
-<a href="LuCI.uci.html#unload"><code>uci.unload()</code></a> first.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>config</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-|
-
-<span class="param-type">Array.&lt;string></span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The name of the configuration or an array of configuration
-names to load.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Promise.&lt;Array.&lt;string>>
-
-
- </td>
- <td class="description last">Returns a promise resolving to the names of the configurations
-that have been successfully loaded.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="move">
-
- move<span class="signature">(config, sid1, <span class="optional">sid2</span>, <span class="optional">after</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
- </h4>
-
-
- <div class="tag-source">
- uci.js, line 718
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Move the first specified section within the given configuration
-before or after the second specified section.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
- <th>Default</th>
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>config</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
- <td class="default">
-
- </td>
-
-
- <td class="description last">
-
-
-
-
-
-
- <p>The configuration to move the section within.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>sid1</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
- <td class="default">
-
- </td>
-
-
- <td class="description last">
-
-
-
-
-
-
- <p>The ID of the section to move within the configuration.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>sid2</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
- <td class="default">
-
- </td>
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
-
- <p>The ID of the target section for the move operation. If the
-<code>after</code> argument is <code>false</code> or not specified, the section named by
-<code>sid1</code> will be moved before this target section, if the <code>after</code>
-argument is <code>true</code>, the <code>sid1</code> section will be moved after this
-section.</p>
-<p>When the <code>sid2</code> argument is <code>null</code>, the section specified by <code>sid1</code>
-is moved to the end of the configuration.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>after</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">boolean</span>
-
-
-
- </td>
-
-
- <td class="default">
-
- false
-
- </td>
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
-
- <p>When <code>true</code>, the section <code>sid1</code> is moved after the section <code>sid2</code>,
-when <code>false</code>, the section <code>sid1</code> is moved before <code>sid2</code>.</p>
-<p>If <code>sid2</code> is null, then this parameter has no effect and the section
-<code>sid1</code> is moved to the end of the configuration instead.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- boolean
-
-
- </td>
- <td class="description last">Returns <code>true</code> when the section was successfully moved, or <code>false</code>
-when either the section specified by <code>sid1</code> or by <code>sid2</code> is not found.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="remove">
-
- remove<span class="signature">(config, sid)</span>
- </h4>
-
-
- <div class="tag-source">
- uci.js, line 296
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Removes the section with the given ID from the given configuration.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>config</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The name of the configuration to remove the section from.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>sid</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The ID of the section to remove.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="resolveSID">
-
- resolveSID<span class="signature">(config, sid)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{string|null}</span>
- </h4>
-
-
- <div class="tag-source">
- uci.js, line 119
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Resolves a given section ID in extended notation to the internal
-section ID value.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>config</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The configuration to resolve the section ID for.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>sid</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The section ID to resolve. If the ID is in the form <code>@typename[#]</code>,
-it will get resolved to an internal anonymous ID in the forms
-<code>cfgXXXXXX</code>/<code>newXXXXXX</code> or to the name of a section in case it points
-to a named section. When the given ID is not in extended notation,
-it will be returned as-is.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- string
- |
-
- null
-
-
- </td>
- <td class="description last">Returns the resolved section ID or the original given ID if it was
-not in extended notation. Returns <code>null</code> when an extended ID could
-not be resolved to existing section ID.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="save">
-
- save<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Array.&lt;string>}</span>
- </h4>
-
-
- <div class="tag-source">
- uci.js, line 772
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Submits all local configuration changes to the remove <code>ubus</code> api,
-adds, removes and reorders remote sections as needed and reloads
-all loaded configurations to resynchronize the local state with
-the remote configuration values.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Array.&lt;string>
-
-
- </td>
- <td class="description last">Returns a promise resolving to an array of configuration names which
-have been reloaded by the save operation.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="sections">
-
- sections<span class="signature">(config, <span class="optional">type</span>, <span class="optional">cb</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Array.&lt;<a href="LuCI.uci.html#.SectionObject">LuCI.uci.SectionObject</a>>}</span>
- </h4>
-
-
- <div class="tag-source">
- uci.js, line 384
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Enumerates the sections of the given configuration, optionally
-filtered by type.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>config</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
-
-
-
-
- <p>The name of the configuration to enumerate the sections for.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>type</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
-
- <p>Enumerate only sections of the given type. If omitted, enumerate
-all sections.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>cb</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type"><a href="LuCI.uci.html#~sectionsFn">LuCI.uci~sectionsFn</a></span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
-
- <p>An optional callback to invoke for each enumerated section.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Array.&lt;<a href="LuCI.uci.html#.SectionObject">LuCI.uci.SectionObject</a>>
-
-
- </td>
- <td class="description last">Returns a sorted array of the section objects within the given
-configuration, filtered by type of a type has been specified.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="set">
-
- set<span class="signature">(config, sid, option, value)</span>
- </h4>
-
-
- <div class="tag-source">
- uci.js, line 516
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Sets the value of the given option within the specified section
-of the given configuration.</p>
-<p>If either config, section or option is null, or if <code>option</code> begins
-with a dot, the function will do nothing.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>config</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The name of the configuration to set the option value in.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>sid</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The name or ID of the section to set the option value in.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>option</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The option name to set the value for.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>value</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">null</span>
-|
-
-<span class="param-type">string</span>
-|
-
-<span class="param-type">Array.&lt;string></span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The option value to set. If the value is <code>null</code> or an empty string,
-the option will be removed, otherwise it will be set or overwritten
-with the given value.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="set_first">
-
- set_first<span class="signature">(config, <span class="optional">type</span>, option, value)</span>
- </h4>
-
-
- <div class="tag-source">
- uci.js, line 653
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Sets the value of the given option within the first found section
-of the given configuration matching the specified type or within
-the first section of the entire config when no type has is specified.</p>
-<p>If either config, type or option is null, or if <code>option</code> begins
-with a dot, the function will do nothing.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>config</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
-
-
-
-
- <p>The name of the configuration to set the option value in.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>type</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
-
- <p>The type of the first section to find. If it is <code>null</code>, the first
-section of the entire config is written to, otherwise the first
-section matching the given type is used.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>option</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
-
-
-
-
- <p>The option name to set the value for.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>value</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">null</span>
-|
-
-<span class="param-type">string</span>
-|
-
-<span class="param-type">Array.&lt;string></span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
-
-
-
-
- <p>The option value to set. If the value is <code>null</code> or an empty string,
-the option will be removed, otherwise it will be set or overwritten
-with the given value.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="unload">
-
- unload<span class="signature">(config)</span>
- </h4>
-
-
- <div class="tag-source">
- uci.js, line 237
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Unloads the given UCI configurations from the local cache.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>config</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-|
-
-<span class="param-type">Array.&lt;string></span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The name of the configuration or an array of configuration
-names to unload.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="unset">
-
- unset<span class="signature">(config, sid, option)</span>
- </h4>
-
-
- <div class="tag-source">
- uci.js, line 587
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Remove the given option within the specified section of the given
-configuration.</p>
-<p>This function is a convenience wrapper around
-<code>uci.set(config, section, option, null)</code>.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>config</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The name of the configuration to remove the option from.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>sid</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The name or ID of the section to remove the option from.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>option</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The name of the option to remove.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="unset_first">
-
- unset_first<span class="signature">(config, <span class="optional">type</span>, option)</span>
- </h4>
-
-
- <div class="tag-source">
- uci.js, line 683
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Removes the given option within the first found section of the given
-configuration matching the specified type or within the first section
-of the entire config when no type has is specified.</p>
-<p>This function is a convenience wrapper around
-<code>uci.set_first(config, type, option, null)</code>.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>config</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
-
-
-
-
- <p>The name of the configuration to set the option value in.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>type</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
- <span class="optional">optional</span>
-
-
-
-
-
- <p>The type of the first section to find. If it is <code>null</code>, the first
-section of the entire config is written to, otherwise the first
-section matching the given type is used.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>option</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
-
-
-
-
-
- <p>The option name to set the value for.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dd>
-
- </dl>
-
-
-
- <h3 class="subsection-title">Type Definitions</h3>
-
- <dl>
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id=".ChangeRecord">LuCI.uci.ChangeRecord<span class="type-signature type array.<string>">Array.&lt;string></span> </h4>
- </div>
-
-
-</dt>
-<dd>
-
- <div class="description">
- <p>An UCI change record is a plain array containing the change operation
-name as first element, the affected section ID as second argument
-and an optional third and fourth argument whose meanings depend on
-the operation.</p>
- </div>
-
-
-
-<dl class="details">
-
-
- <h5 class="subsection-title">Properties:</h5>
-
- <dl>
-
-<table class="props">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>0</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
-
-
- <td class="description last"><p>The operation name - may be one of <code>add</code>, <code>set</code>, <code>remove</code>, <code>order</code>,
-<code>list-add</code>, <code>list-del</code> or <code>rename</code>.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>1</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
-
-
- <td class="description last"><p>The section ID targeted by the operation.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>2</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
-
-
- <td class="description last"><p>The meaning of the third element depends on the operation.</p>
-<ul>
-<li>For <code>add</code> it is type of the section that has been added</li>
-<li>For <code>set</code> it either is the option name if a fourth element exists,
-or the type of a named section which has been added when the change
-entry only contains three elements.</li>
-<li>For <code>remove</code> it contains the name of the option that has been
-removed.</li>
-<li>For <code>order</code> it specifies the new sort index of the section.</li>
-<li>For <code>list-add</code> it contains the name of the list option a new value
-has been added to.</li>
-<li>For <code>list-del</code> it contains the name of the list option a value has
-been removed from.</li>
-<li>For <code>rename</code> it contains the name of the option that has been
-renamed if a fourth element exists, else it contains the new name
-a section has been renamed to if the change entry only contains
-three elements.</li>
-</ul></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>4</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
-
-
- <td class="description last"><p>The meaning of the fourth element depends on the operation.</p>
-<ul>
-<li>For <code>set</code> it is the value an option has been set to.</li>
-<li>For <code>list-add</code> it is the new value that has been added to a
-list option.</li>
-<li>For <code>rename</code> it is the new name of an option that has been
-renamed.</li>
-</ul></td>
- </tr>
-
-
- </tbody>
-</table></dl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id=".SectionObject">LuCI.uci.SectionObject<span class="type-signature type object.<string, (boolean|number|string|array.<string>)>">Object.&lt;string, (boolean|number|string|Array.&lt;string>)></span> </h4>
- </div>
-
-
-</dt>
-<dd>
-
- <div class="description">
- <p>A section object represents the options and their corresponding values
-enclosed within a configuration section, as well as some additional
-meta data such as sort indexes and internal ID.</p>
-<p>Any internal metadata fields are prefixed with a dot which is isn't
-an allowed character for normal option names.</p>
- </div>
-
-
-
-<dl class="details">
-
-
- <h5 class="subsection-title">Properties:</h5>
-
- <dl>
-
-<table class="props">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>.anonymous</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">boolean</span>
-
-
-
- </td>
-
-
-
-
-
- <td class="description last"><p>The <code>.anonymous</code> property specifies whether the configuration is
-anonymous (<code>true</code>) or named (<code>false</code>).</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>.index</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">number</span>
-
-
-
- </td>
-
-
-
-
-
- <td class="description last"><p>The <code>.index</code> property specifes the sort order of the section.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>.name</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
-
-
- <td class="description last"><p>The <code>.name</code> property holds the name of the section object. It may be
-either an anonymous ID in the form <code>cfgXXXXXX</code> or <code>newXXXXXX</code> with <code>X</code>
-being a hexadecimal digit or a string holding the name of the section.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>.type</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
-
-
- <td class="description last"><p>The <code>.type</code> property contains the type of the corresponding uci
-section.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>*</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-|
-
-<span class="param-type">Array.&lt;string></span>
-
-
-
- </td>
-
-
-
-
-
- <td class="description last"><p>A section object may contain an arbitrary number of further properties
-representing the uci option enclosed in the section.</p>
-<p>All option property names will be in the form <code>[A-Za-z0-9_]+</code> and
-either contain a string value or an array of strings, in case the
-underlying option is an UCI list.</p></td>
- </tr>
-
-
- </tbody>
-</table></dl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="~sectionsFn">
-
- sectionsFn<span class="signature">(section, sid)</span>
- </h4>
-
-
- <div class="tag-source">
- uci.js, line 352
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>The sections callback is invoked for each section found within
-the given configuration and receives the section object and its
-associated name as arguments.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>section</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type"><a href="LuCI.uci.html#.SectionObject">LuCI.uci.SectionObject</a></span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The section object.</p></td>
- </tr>
-
-
-
- <tr>
-
- <td class="name"><code>sid</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">string</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The name or ID of the section.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dd>
-
- </dl>
-
-
-
-
-
-</article>
-
-</section>
-
-
-
-
-
-
-
- <footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Nov 05 2019 10:17:12 GMT+0100 (Central European Standard Time)
- </footer>
- </div>
-</div>
-<script>prettyPrint();</script>
-<script src="scripts/jaguar.js"></script>
-</body>
-</html> \ No newline at end of file
diff --git a/documentation/jsapi/LuCI.view.html b/documentation/jsapi/LuCI.view.html
deleted file mode 100644
index 59b34cfd83..0000000000
--- a/documentation/jsapi/LuCI.view.html
+++ /dev/null
@@ -1,2083 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <meta charset="utf-8">
- <title>Class: view</title>
-
-
- <script src="scripts/prettify/prettify.js"></script>
- <script src="scripts/prettify/lang-css.js"></script>
- <script src="scripts/jquery.min.js"></script>
- <!--[if lt IE 9]>
- <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
- <![endif]-->
- <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
- <link type="text/css" rel="stylesheet" href="styles/bootstrap.min.css">
- <link type="text/css" rel="stylesheet" href="styles/jaguar.css">
-
-
- <script>
- var config = {"monospaceLinks":true,"cleverLinks":true,"default":{}};
- </script>
-
-
-
-</head>
-<body>
-<div id="wrap" class="clearfix">
-
-<div class="navigation">
- <h3 class="applicationName"><a href="index.html"></a></h3>
-
- <div class="search">
- <input id="search" type="text" class="form-control input-sm" placeholder="Search Documentations">
- </div>
- <ul class="list">
-
- <li class="item" data-name="LuCI">
- <span class="title">
- <a href="LuCI.html">LuCI</a>
-
- </span>
- <ul class="members itemMembers">
-
- <span class="subtitle">Members</span>
-
- <li data-name="LuCI#env"><a href="LuCI.html#env">env</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.requestCallbackFn"><a href="LuCI.html#.requestCallbackFn">requestCallbackFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI#bind"><a href="LuCI.html#bind">bind</a></li>
-
- <li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
-
- <li data-name="LuCI#get"><a href="LuCI.html#get">get</a></li>
-
- <li data-name="LuCI#halt"><a href="LuCI.html#halt">halt</a></li>
-
- <li data-name="LuCI#hasSystemFeature"><a href="LuCI.html#hasSystemFeature">hasSystemFeature</a></li>
-
- <li data-name="LuCI#isObject"><a href="LuCI.html#isObject">isObject</a></li>
-
- <li data-name="LuCI#location"><a href="LuCI.html#location">location</a></li>
-
- <li data-name="LuCI#path"><a href="LuCI.html#path">path</a></li>
-
- <li data-name="LuCI#poll"><a href="LuCI.html#poll">poll</a></li>
-
- <li data-name="LuCI#post"><a href="LuCI.html#post">post</a></li>
-
- <li data-name="LuCI#raise"><a href="LuCI.html#raise">raise</a></li>
-
- <li data-name="LuCI#require"><a href="LuCI.html#require">require</a></li>
-
- <li data-name="LuCI#resolveDefault"><a href="LuCI.html#resolveDefault">resolveDefault</a></li>
-
- <li data-name="LuCI#resource"><a href="LuCI.html#resource">resource</a></li>
-
- <li data-name="LuCI#run"><a href="LuCI.html#run">run</a></li>
-
- <li data-name="LuCI#sortedKeys"><a href="LuCI.html#sortedKeys">sortedKeys</a></li>
-
- <li data-name="LuCI#stop"><a href="LuCI.html#stop">stop</a></li>
-
- <li data-name="LuCI#toArray"><a href="LuCI.html#toArray">toArray</a></li>
-
- <li data-name="LuCI#url"><a href="LuCI.html#url">url</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Class">
- <span class="title">
- <a href="LuCI.Class.html">LuCI.Class</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Class.extend"><a href="LuCI.Class.html#.extend">extend</a></li>
-
- <li data-name="LuCI.Class.instantiate"><a href="LuCI.Class.html#.instantiate">instantiate</a></li>
-
- <li data-name="LuCI.Class.isSubclass"><a href="LuCI.Class.html#.isSubclass">isSubclass</a></li>
-
- <li data-name="LuCI.Class.singleton"><a href="LuCI.Class.html#.singleton">singleton</a></li>
-
- <li data-name="LuCI.Class#super"><a href="LuCI.Class.html#super">super</a></li>
-
- <li data-name="LuCI.Class#varargs"><a href="LuCI.Class.html#varargs">varargs</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.dom">
- <span class="title">
- <a href="LuCI.dom.html">LuCI.dom</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.dom~ignoreCallbackFn"><a href="LuCI.dom.html#~ignoreCallbackFn">ignoreCallbackFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.dom#append"><a href="LuCI.dom.html#append">append</a></li>
-
- <li data-name="LuCI.dom#attr"><a href="LuCI.dom.html#attr">attr</a></li>
-
- <li data-name="LuCI.dom#bindClassInstance"><a href="LuCI.dom.html#bindClassInstance">bindClassInstance</a></li>
-
- <li data-name="LuCI.dom#callClassMethod"><a href="LuCI.dom.html#callClassMethod">callClassMethod</a></li>
-
- <li data-name="LuCI.dom#content"><a href="LuCI.dom.html#content">content</a></li>
-
- <li data-name="LuCI.dom#create"><a href="LuCI.dom.html#create">create</a></li>
-
- <li data-name="LuCI.dom#data"><a href="LuCI.dom.html#data">data</a></li>
-
- <li data-name="LuCI.dom#elem"><a href="LuCI.dom.html#elem">elem</a></li>
-
- <li data-name="LuCI.dom#findClassInstance"><a href="LuCI.dom.html#findClassInstance">findClassInstance</a></li>
-
- <li data-name="LuCI.dom#isEmpty"><a href="LuCI.dom.html#isEmpty">isEmpty</a></li>
-
- <li data-name="LuCI.dom#matches"><a href="LuCI.dom.html#matches">matches</a></li>
-
- <li data-name="LuCI.dom#parent"><a href="LuCI.dom.html#parent">parent</a></li>
-
- <li data-name="LuCI.dom#parse"><a href="LuCI.dom.html#parse">parse</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.fs">
- <span class="title">
- <a href="LuCI.fs.html">LuCI.fs</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.fs.FileExecResult"><a href="LuCI.fs.html#.FileExecResult">FileExecResult</a></li>
-
- <li data-name="LuCI.fs.FileStatEntry"><a href="LuCI.fs.html#.FileStatEntry">FileStatEntry</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.fs#exec"><a href="LuCI.fs.html#exec">exec</a></li>
-
- <li data-name="LuCI.fs#lines"><a href="LuCI.fs.html#lines">lines</a></li>
-
- <li data-name="LuCI.fs#list"><a href="LuCI.fs.html#list">list</a></li>
-
- <li data-name="LuCI.fs#read"><a href="LuCI.fs.html#read">read</a></li>
-
- <li data-name="LuCI.fs#remove"><a href="LuCI.fs.html#remove">remove</a></li>
-
- <li data-name="LuCI.fs#stat"><a href="LuCI.fs.html#stat">stat</a></li>
-
- <li data-name="LuCI.fs#trimmed"><a href="LuCI.fs.html#trimmed">trimmed</a></li>
-
- <li data-name="LuCI.fs#write"><a href="LuCI.fs.html#write">write</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Headers">
- <span class="title">
- <a href="LuCI.Headers.html">LuCI.Headers</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Headers#get"><a href="LuCI.Headers.html#get">get</a></li>
-
- <li data-name="LuCI.Headers#has"><a href="LuCI.Headers.html#has">has</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network">
- <span class="title">
- <a href="LuCI.Network.html">LuCI.Network</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.Network.SwitchTopology"><a href="LuCI.Network.html#.SwitchTopology">SwitchTopology</a></li>
-
- <li data-name="LuCI.Network.WifiEncryption"><a href="LuCI.Network.html#.WifiEncryption">WifiEncryption</a></li>
-
- <li data-name="LuCI.Network.WifiPeerEntry"><a href="LuCI.Network.html#.WifiPeerEntry">WifiPeerEntry</a></li>
-
- <li data-name="LuCI.Network.WifiRateEntry"><a href="LuCI.Network.html#.WifiRateEntry">WifiRateEntry</a></li>
-
- <li data-name="LuCI.Network.WifiScanResult"><a href="LuCI.Network.html#.WifiScanResult">WifiScanResult</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network#addNetwork"><a href="LuCI.Network.html#addNetwork">addNetwork</a></li>
-
- <li data-name="LuCI.Network#addWifiNetwork"><a href="LuCI.Network.html#addWifiNetwork">addWifiNetwork</a></li>
-
- <li data-name="LuCI.Network#deleteNetwork"><a href="LuCI.Network.html#deleteNetwork">deleteNetwork</a></li>
-
- <li data-name="LuCI.Network#deleteWifiNetwork"><a href="LuCI.Network.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
-
- <li data-name="LuCI.Network#flushCache"><a href="LuCI.Network.html#flushCache">flushCache</a></li>
-
- <li data-name="LuCI.Network#formatWifiEncryption"><a href="LuCI.Network.html#formatWifiEncryption">formatWifiEncryption</a></li>
-
- <li data-name="LuCI.Network#getDevice"><a href="LuCI.Network.html#getDevice">getDevice</a></li>
-
- <li data-name="LuCI.Network#getDevices"><a href="LuCI.Network.html#getDevices">getDevices</a></li>
-
- <li data-name="LuCI.Network#getDSLModemType"><a href="LuCI.Network.html#getDSLModemType">getDSLModemType</a></li>
-
- <li data-name="LuCI.Network#getHostHints"><a href="LuCI.Network.html#getHostHints">getHostHints</a></li>
-
- <li data-name="LuCI.Network#getIfnameOf"><a href="LuCI.Network.html#getIfnameOf">getIfnameOf</a></li>
-
- <li data-name="LuCI.Network#getNetwork"><a href="LuCI.Network.html#getNetwork">getNetwork</a></li>
-
- <li data-name="LuCI.Network#getNetworks"><a href="LuCI.Network.html#getNetworks">getNetworks</a></li>
-
- <li data-name="LuCI.Network#getProtocol"><a href="LuCI.Network.html#getProtocol">getProtocol</a></li>
-
- <li data-name="LuCI.Network#getProtocols"><a href="LuCI.Network.html#getProtocols">getProtocols</a></li>
-
- <li data-name="LuCI.Network#getSwitchTopologies"><a href="LuCI.Network.html#getSwitchTopologies">getSwitchTopologies</a></li>
-
- <li data-name="LuCI.Network#getWAN6Networks"><a href="LuCI.Network.html#getWAN6Networks">getWAN6Networks</a></li>
-
- <li data-name="LuCI.Network#getWANNetworks"><a href="LuCI.Network.html#getWANNetworks">getWANNetworks</a></li>
-
- <li data-name="LuCI.Network#getWifiDevice"><a href="LuCI.Network.html#getWifiDevice">getWifiDevice</a></li>
-
- <li data-name="LuCI.Network#getWifiDevices"><a href="LuCI.Network.html#getWifiDevices">getWifiDevices</a></li>
-
- <li data-name="LuCI.Network#getWifiNetwork"><a href="LuCI.Network.html#getWifiNetwork">getWifiNetwork</a></li>
-
- <li data-name="LuCI.Network#isIgnoredDevice"><a href="LuCI.Network.html#isIgnoredDevice">isIgnoredDevice</a></li>
-
- <li data-name="LuCI.Network#maskToPrefix"><a href="LuCI.Network.html#maskToPrefix">maskToPrefix</a></li>
-
- <li data-name="LuCI.Network#prefixToMask"><a href="LuCI.Network.html#prefixToMask">prefixToMask</a></li>
-
- <li data-name="LuCI.Network#registerErrorCode"><a href="LuCI.Network.html#registerErrorCode">registerErrorCode</a></li>
-
- <li data-name="LuCI.Network#registerPatternVirtual"><a href="LuCI.Network.html#registerPatternVirtual">registerPatternVirtual</a></li>
-
- <li data-name="LuCI.Network#registerProtocol"><a href="LuCI.Network.html#registerProtocol">registerProtocol</a></li>
-
- <li data-name="LuCI.Network#renameNetwork"><a href="LuCI.Network.html#renameNetwork">renameNetwork</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.Device">
- <span class="title">
- <a href="LuCI.Network.Device.html">LuCI.Network.Device</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.Device#getBridgeID"><a href="LuCI.Network.Device.html#getBridgeID">getBridgeID</a></li>
-
- <li data-name="LuCI.Network.Device#getBridgeSTP"><a href="LuCI.Network.Device.html#getBridgeSTP">getBridgeSTP</a></li>
-
- <li data-name="LuCI.Network.Device#getI18n"><a href="LuCI.Network.Device.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.Device#getIP6Addrs"><a href="LuCI.Network.Device.html#getIP6Addrs">getIP6Addrs</a></li>
-
- <li data-name="LuCI.Network.Device#getIPAddrs"><a href="LuCI.Network.Device.html#getIPAddrs">getIPAddrs</a></li>
-
- <li data-name="LuCI.Network.Device#getMAC"><a href="LuCI.Network.Device.html#getMAC">getMAC</a></li>
-
- <li data-name="LuCI.Network.Device#getMTU"><a href="LuCI.Network.Device.html#getMTU">getMTU</a></li>
-
- <li data-name="LuCI.Network.Device#getName"><a href="LuCI.Network.Device.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.Device#getNetwork"><a href="LuCI.Network.Device.html#getNetwork">getNetwork</a></li>
-
- <li data-name="LuCI.Network.Device#getNetworks"><a href="LuCI.Network.Device.html#getNetworks">getNetworks</a></li>
-
- <li data-name="LuCI.Network.Device#getPorts"><a href="LuCI.Network.Device.html#getPorts">getPorts</a></li>
-
- <li data-name="LuCI.Network.Device#getRXBytes"><a href="LuCI.Network.Device.html#getRXBytes">getRXBytes</a></li>
-
- <li data-name="LuCI.Network.Device#getRXPackets"><a href="LuCI.Network.Device.html#getRXPackets">getRXPackets</a></li>
-
- <li data-name="LuCI.Network.Device#getShortName"><a href="LuCI.Network.Device.html#getShortName">getShortName</a></li>
-
- <li data-name="LuCI.Network.Device#getTXBytes"><a href="LuCI.Network.Device.html#getTXBytes">getTXBytes</a></li>
-
- <li data-name="LuCI.Network.Device#getTXPackets"><a href="LuCI.Network.Device.html#getTXPackets">getTXPackets</a></li>
-
- <li data-name="LuCI.Network.Device#getType"><a href="LuCI.Network.Device.html#getType">getType</a></li>
-
- <li data-name="LuCI.Network.Device#getTypeI18n"><a href="LuCI.Network.Device.html#getTypeI18n">getTypeI18n</a></li>
-
- <li data-name="LuCI.Network.Device#getWifiNetwork"><a href="LuCI.Network.Device.html#getWifiNetwork">getWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.Device#isBridge"><a href="LuCI.Network.Device.html#isBridge">isBridge</a></li>
-
- <li data-name="LuCI.Network.Device#isBridgePort"><a href="LuCI.Network.Device.html#isBridgePort">isBridgePort</a></li>
-
- <li data-name="LuCI.Network.Device#isUp"><a href="LuCI.Network.Device.html#isUp">isUp</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.Hosts">
- <span class="title">
- <a href="LuCI.Network.Hosts.html">LuCI.Network.Hosts</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.Hosts#getHostnameByIP6Addr"><a href="LuCI.Network.Hosts.html#getHostnameByIP6Addr">getHostnameByIP6Addr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getHostnameByIPAddr"><a href="LuCI.Network.Hosts.html#getHostnameByIPAddr">getHostnameByIPAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getHostnameByMACAddr"><a href="LuCI.Network.Hosts.html#getHostnameByMACAddr">getHostnameByMACAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getIP6AddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIP6AddrByMACAddr">getIP6AddrByMACAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getIPAddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIPAddrByMACAddr">getIPAddrByMACAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getMACAddrByIP6Addr"><a href="LuCI.Network.Hosts.html#getMACAddrByIP6Addr">getMACAddrByIP6Addr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getMACAddrByIPAddr"><a href="LuCI.Network.Hosts.html#getMACAddrByIPAddr">getMACAddrByIPAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getMACHints"><a href="LuCI.Network.Hosts.html#getMACHints">getMACHints</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.Protocol">
- <span class="title">
- <a href="LuCI.Network.Protocol.html">LuCI.Network.Protocol</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.Protocol#addDevice"><a href="LuCI.Network.Protocol.html#addDevice">addDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#containsDevice"><a href="LuCI.Network.Protocol.html#containsDevice">containsDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#deleteDevice"><a href="LuCI.Network.Protocol.html#deleteDevice">deleteDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#get"><a href="LuCI.Network.Protocol.html#get">get</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDevice"><a href="LuCI.Network.Protocol.html#getDevice">getDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDevices"><a href="LuCI.Network.Protocol.html#getDevices">getDevices</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDNS6Addrs"><a href="LuCI.Network.Protocol.html#getDNS6Addrs">getDNS6Addrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDNSAddrs"><a href="LuCI.Network.Protocol.html#getDNSAddrs">getDNSAddrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getErrors"><a href="LuCI.Network.Protocol.html#getErrors">getErrors</a></li>
-
- <li data-name="LuCI.Network.Protocol#getExpiry"><a href="LuCI.Network.Protocol.html#getExpiry">getExpiry</a></li>
-
- <li data-name="LuCI.Network.Protocol#getGateway6Addr"><a href="LuCI.Network.Protocol.html#getGateway6Addr">getGateway6Addr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getGatewayAddr"><a href="LuCI.Network.Protocol.html#getGatewayAddr">getGatewayAddr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getI18n"><a href="LuCI.Network.Protocol.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIfname"><a href="LuCI.Network.Protocol.html#getIfname">getIfname</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIP6Addr"><a href="LuCI.Network.Protocol.html#getIP6Addr">getIP6Addr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIP6Addrs"><a href="LuCI.Network.Protocol.html#getIP6Addrs">getIP6Addrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIP6Prefix"><a href="LuCI.Network.Protocol.html#getIP6Prefix">getIP6Prefix</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIPAddr"><a href="LuCI.Network.Protocol.html#getIPAddr">getIPAddr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIPAddrs"><a href="LuCI.Network.Protocol.html#getIPAddrs">getIPAddrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getL2Device"><a href="LuCI.Network.Protocol.html#getL2Device">getL2Device</a></li>
-
- <li data-name="LuCI.Network.Protocol#getL3Device"><a href="LuCI.Network.Protocol.html#getL3Device">getL3Device</a></li>
-
- <li data-name="LuCI.Network.Protocol#getMetric"><a href="LuCI.Network.Protocol.html#getMetric">getMetric</a></li>
-
- <li data-name="LuCI.Network.Protocol#getName"><a href="LuCI.Network.Protocol.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.Protocol#getNetmask"><a href="LuCI.Network.Protocol.html#getNetmask">getNetmask</a></li>
-
- <li data-name="LuCI.Network.Protocol#getOpkgPackage"><a href="LuCI.Network.Protocol.html#getOpkgPackage">getOpkgPackage</a></li>
-
- <li data-name="LuCI.Network.Protocol#getProtocol"><a href="LuCI.Network.Protocol.html#getProtocol">getProtocol</a></li>
-
- <li data-name="LuCI.Network.Protocol#getType"><a href="LuCI.Network.Protocol.html#getType">getType</a></li>
-
- <li data-name="LuCI.Network.Protocol#getUptime"><a href="LuCI.Network.Protocol.html#getUptime">getUptime</a></li>
-
- <li data-name="LuCI.Network.Protocol#getZoneName"><a href="LuCI.Network.Protocol.html#getZoneName">getZoneName</a></li>
-
- <li data-name="LuCI.Network.Protocol#isAlias"><a href="LuCI.Network.Protocol.html#isAlias">isAlias</a></li>
-
- <li data-name="LuCI.Network.Protocol#isBridge"><a href="LuCI.Network.Protocol.html#isBridge">isBridge</a></li>
-
- <li data-name="LuCI.Network.Protocol#isDynamic"><a href="LuCI.Network.Protocol.html#isDynamic">isDynamic</a></li>
-
- <li data-name="LuCI.Network.Protocol#isEmpty"><a href="LuCI.Network.Protocol.html#isEmpty">isEmpty</a></li>
-
- <li data-name="LuCI.Network.Protocol#isFloating"><a href="LuCI.Network.Protocol.html#isFloating">isFloating</a></li>
-
- <li data-name="LuCI.Network.Protocol#isInstalled"><a href="LuCI.Network.Protocol.html#isInstalled">isInstalled</a></li>
-
- <li data-name="LuCI.Network.Protocol#isUp"><a href="LuCI.Network.Protocol.html#isUp">isUp</a></li>
-
- <li data-name="LuCI.Network.Protocol#isVirtual"><a href="LuCI.Network.Protocol.html#isVirtual">isVirtual</a></li>
-
- <li data-name="LuCI.Network.Protocol#set"><a href="LuCI.Network.Protocol.html#set">set</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.WifiDevice">
- <span class="title">
- <a href="LuCI.Network.WifiDevice.html">LuCI.Network.WifiDevice</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.WifiDevice#addWifiNetwork"><a href="LuCI.Network.WifiDevice.html#addWifiNetwork">addWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#deleteWifiNetwork"><a href="LuCI.Network.WifiDevice.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#get"><a href="LuCI.Network.WifiDevice.html#get">get</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getHTModes"><a href="LuCI.Network.WifiDevice.html#getHTModes">getHTModes</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getHWModes"><a href="LuCI.Network.WifiDevice.html#getHWModes">getHWModes</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getI18n"><a href="LuCI.Network.WifiDevice.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getName"><a href="LuCI.Network.WifiDevice.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getScanList"><a href="LuCI.Network.WifiDevice.html#getScanList">getScanList</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getWifiNetwork"><a href="LuCI.Network.WifiDevice.html#getWifiNetwork">getWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getWifiNetworks"><a href="LuCI.Network.WifiDevice.html#getWifiNetworks">getWifiNetworks</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#isDisabled"><a href="LuCI.Network.WifiDevice.html#isDisabled">isDisabled</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#isUp"><a href="LuCI.Network.WifiDevice.html#isUp">isUp</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#set"><a href="LuCI.Network.WifiDevice.html#set">set</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.WifiNetwork">
- <span class="title">
- <a href="LuCI.Network.WifiNetwork.html">LuCI.Network.WifiNetwork</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.WifiNetwork#get"><a href="LuCI.Network.WifiNetwork.html#get">get</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveBSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveBSSID">getActiveBSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveEncryption"><a href="LuCI.Network.WifiNetwork.html#getActiveEncryption">getActiveEncryption</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveMode"><a href="LuCI.Network.WifiNetwork.html#getActiveMode">getActiveMode</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveModeI18n"><a href="LuCI.Network.WifiNetwork.html#getActiveModeI18n">getActiveModeI18n</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveSSID">getActiveSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getAssocList"><a href="LuCI.Network.WifiNetwork.html#getAssocList">getAssocList</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getBitRate"><a href="LuCI.Network.WifiNetwork.html#getBitRate">getBitRate</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getBSSID"><a href="LuCI.Network.WifiNetwork.html#getBSSID">getBSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getChannel"><a href="LuCI.Network.WifiNetwork.html#getChannel">getChannel</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getCountryCode"><a href="LuCI.Network.WifiNetwork.html#getCountryCode">getCountryCode</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getDevice"><a href="LuCI.Network.WifiNetwork.html#getDevice">getDevice</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getFrequency"><a href="LuCI.Network.WifiNetwork.html#getFrequency">getFrequency</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getI18n"><a href="LuCI.Network.WifiNetwork.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getID"><a href="LuCI.Network.WifiNetwork.html#getID">getID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getIfname"><a href="LuCI.Network.WifiNetwork.html#getIfname">getIfname</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getMeshID"><a href="LuCI.Network.WifiNetwork.html#getMeshID">getMeshID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getMode"><a href="LuCI.Network.WifiNetwork.html#getMode">getMode</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getName"><a href="LuCI.Network.WifiNetwork.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNetwork"><a href="LuCI.Network.WifiNetwork.html#getNetwork">getNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNetworkNames"><a href="LuCI.Network.WifiNetwork.html#getNetworkNames">getNetworkNames</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNetworks"><a href="LuCI.Network.WifiNetwork.html#getNetworks">getNetworks</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNoise"><a href="LuCI.Network.WifiNetwork.html#getNoise">getNoise</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getShortName"><a href="LuCI.Network.WifiNetwork.html#getShortName">getShortName</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSignal"><a href="LuCI.Network.WifiNetwork.html#getSignal">getSignal</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSignalLevel"><a href="LuCI.Network.WifiNetwork.html#getSignalLevel">getSignalLevel</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSignalPercent"><a href="LuCI.Network.WifiNetwork.html#getSignalPercent">getSignalPercent</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSSID"><a href="LuCI.Network.WifiNetwork.html#getSSID">getSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getTXPower"><a href="LuCI.Network.WifiNetwork.html#getTXPower">getTXPower</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getTXPowerOffset"><a href="LuCI.Network.WifiNetwork.html#getTXPowerOffset">getTXPowerOffset</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getWifiDevice"><a href="LuCI.Network.WifiNetwork.html#getWifiDevice">getWifiDevice</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getWifiDeviceName"><a href="LuCI.Network.WifiNetwork.html#getWifiDeviceName">getWifiDeviceName</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#isDisabled"><a href="LuCI.Network.WifiNetwork.html#isDisabled">isDisabled</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#isUp"><a href="LuCI.Network.WifiNetwork.html#isUp">isUp</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#set"><a href="LuCI.Network.WifiNetwork.html#set">set</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Poll">
- <span class="title">
- <a href="LuCI.Poll.html">LuCI.Poll</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Poll#active"><a href="LuCI.Poll.html#active">active</a></li>
-
- <li data-name="LuCI.Poll#add"><a href="LuCI.Poll.html#add">add</a></li>
-
- <li data-name="LuCI.Poll#remove"><a href="LuCI.Poll.html#remove">remove</a></li>
-
- <li data-name="LuCI.Poll#start"><a href="LuCI.Poll.html#start">start</a></li>
-
- <li data-name="LuCI.Poll#stop"><a href="LuCI.Poll.html#stop">stop</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Request">
- <span class="title">
- <a href="LuCI.Request.html">LuCI.Request</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.Request.interceptorFn"><a href="LuCI.Request.html#.interceptorFn">interceptorFn</a></li>
-
- <li data-name="LuCI.Request.RequestOptions"><a href="LuCI.Request.html#.RequestOptions">RequestOptions</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Request#addInterceptor"><a href="LuCI.Request.html#addInterceptor">addInterceptor</a></li>
-
- <li data-name="LuCI.Request#expandURL"><a href="LuCI.Request.html#expandURL">expandURL</a></li>
-
- <li data-name="LuCI.Request#get"><a href="LuCI.Request.html#get">get</a></li>
-
- <li data-name="LuCI.Request#post"><a href="LuCI.Request.html#post">post</a></li>
-
- <li data-name="LuCI.Request#removeInterceptor"><a href="LuCI.Request.html#removeInterceptor">removeInterceptor</a></li>
-
- <li data-name="LuCI.Request#request"><a href="LuCI.Request.html#request">request</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Request.poll">
- <span class="title">
- <a href="LuCI.Request.poll.html">LuCI.Request.poll</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.Request.poll~callbackFn"><a href="LuCI.Request.poll.html#~callbackFn">callbackFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Request.poll#active"><a href="LuCI.Request.poll.html#active">active</a></li>
-
- <li data-name="LuCI.Request.poll#add"><a href="LuCI.Request.poll.html#add">add</a></li>
-
- <li data-name="LuCI.Request.poll#remove"><a href="LuCI.Request.poll.html#remove">remove</a></li>
-
- <li data-name="LuCI.Request.poll#start"><a href="LuCI.Request.poll.html#start">start</a></li>
-
- <li data-name="LuCI.Request.poll#stop"><a href="LuCI.Request.poll.html#stop">stop</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Response">
- <span class="title">
- <a href="LuCI.Response.html">LuCI.Response</a>
-
- </span>
- <ul class="members itemMembers">
-
- <span class="subtitle">Members</span>
-
- <li data-name="LuCI.Response#duration"><a href="LuCI.Response.html#duration">duration</a></li>
-
- <li data-name="LuCI.Response#headers"><a href="LuCI.Response.html#headers">headers</a></li>
-
- <li data-name="LuCI.Response#ok"><a href="LuCI.Response.html#ok">ok</a></li>
-
- <li data-name="LuCI.Response#status"><a href="LuCI.Response.html#status">status</a></li>
-
- <li data-name="LuCI.Response#statusText"><a href="LuCI.Response.html#statusText">statusText</a></li>
-
- <li data-name="LuCI.Response#url"><a href="LuCI.Response.html#url">url</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Response#clone"><a href="LuCI.Response.html#clone">clone</a></li>
-
- <li data-name="LuCI.Response#json"><a href="LuCI.Response.html#json">json</a></li>
-
- <li data-name="LuCI.Response#text"><a href="LuCI.Response.html#text">text</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.rpc">
- <span class="title">
- <a href="LuCI.rpc.html">LuCI.rpc</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.rpc.DeclareOptions"><a href="LuCI.rpc.html#.DeclareOptions">DeclareOptions</a></li>
-
- <li data-name="LuCI.rpc~filterFn"><a href="LuCI.rpc.html#~filterFn">filterFn</a></li>
-
- <li data-name="LuCI.rpc~interceptorFn"><a href="LuCI.rpc.html#~interceptorFn">interceptorFn</a></li>
-
- <li data-name="LuCI.rpc~invokeFn"><a href="LuCI.rpc.html#~invokeFn">invokeFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.rpc#addInterceptor"><a href="LuCI.rpc.html#addInterceptor">addInterceptor</a></li>
-
- <li data-name="LuCI.rpc#declare"><a href="LuCI.rpc.html#declare">declare</a></li>
-
- <li data-name="LuCI.rpc#getBaseURL"><a href="LuCI.rpc.html#getBaseURL">getBaseURL</a></li>
-
- <li data-name="LuCI.rpc#getSessionID"><a href="LuCI.rpc.html#getSessionID">getSessionID</a></li>
-
- <li data-name="LuCI.rpc#getStatusText"><a href="LuCI.rpc.html#getStatusText">getStatusText</a></li>
-
- <li data-name="LuCI.rpc#list"><a href="LuCI.rpc.html#list">list</a></li>
-
- <li data-name="LuCI.rpc#removeInterceptor"><a href="LuCI.rpc.html#removeInterceptor">removeInterceptor</a></li>
-
- <li data-name="LuCI.rpc#setBaseURL"><a href="LuCI.rpc.html#setBaseURL">setBaseURL</a></li>
-
- <li data-name="LuCI.rpc#setSessionID"><a href="LuCI.rpc.html#setSessionID">setSessionID</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.uci">
- <span class="title">
- <a href="LuCI.uci.html">LuCI.uci</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.uci.ChangeRecord"><a href="LuCI.uci.html#.ChangeRecord">ChangeRecord</a></li>
-
- <li data-name="LuCI.uci.SectionObject"><a href="LuCI.uci.html#.SectionObject">SectionObject</a></li>
-
- <li data-name="LuCI.uci~sectionsFn"><a href="LuCI.uci.html#~sectionsFn">sectionsFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.uci#add"><a href="LuCI.uci.html#add">add</a></li>
-
- <li data-name="LuCI.uci#apply"><a href="LuCI.uci.html#apply">apply</a></li>
-
- <li data-name="LuCI.uci#changes"><a href="LuCI.uci.html#changes">changes</a></li>
-
- <li data-name="LuCI.uci#createSID"><a href="LuCI.uci.html#createSID">createSID</a></li>
-
- <li data-name="LuCI.uci#get"><a href="LuCI.uci.html#get">get</a></li>
-
- <li data-name="LuCI.uci#get_first"><a href="LuCI.uci.html#get_first">get_first</a></li>
-
- <li data-name="LuCI.uci#load"><a href="LuCI.uci.html#load">load</a></li>
-
- <li data-name="LuCI.uci#move"><a href="LuCI.uci.html#move">move</a></li>
-
- <li data-name="LuCI.uci#remove"><a href="LuCI.uci.html#remove">remove</a></li>
-
- <li data-name="LuCI.uci#resolveSID"><a href="LuCI.uci.html#resolveSID">resolveSID</a></li>
-
- <li data-name="LuCI.uci#save"><a href="LuCI.uci.html#save">save</a></li>
-
- <li data-name="LuCI.uci#sections"><a href="LuCI.uci.html#sections">sections</a></li>
-
- <li data-name="LuCI.uci#set"><a href="LuCI.uci.html#set">set</a></li>
-
- <li data-name="LuCI.uci#set_first"><a href="LuCI.uci.html#set_first">set_first</a></li>
-
- <li data-name="LuCI.uci#unload"><a href="LuCI.uci.html#unload">unload</a></li>
-
- <li data-name="LuCI.uci#unset"><a href="LuCI.uci.html#unset">unset</a></li>
-
- <li data-name="LuCI.uci#unset_first"><a href="LuCI.uci.html#unset_first">unset_first</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.view">
- <span class="title">
- <a href="LuCI.view.html">LuCI.view</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.view#addFooter"><a href="LuCI.view.html#addFooter">addFooter</a></li>
-
- <li data-name="LuCI.view#handleReset"><a href="LuCI.view.html#handleReset">handleReset</a></li>
-
- <li data-name="LuCI.view#handleSave"><a href="LuCI.view.html#handleSave">handleSave</a></li>
-
- <li data-name="LuCI.view#handleSaveApply"><a href="LuCI.view.html#handleSaveApply">handleSaveApply</a></li>
-
- <li data-name="LuCI.view#load"><a href="LuCI.view.html#load">load</a></li>
-
- <li data-name="LuCI.view#render"><a href="LuCI.view.html#render">render</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.XHR">
- <span class="title">
- <a href="LuCI.XHR.html">LuCI.XHR</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.XHR#abort"><a href="LuCI.XHR.html#abort">abort</a></li>
-
- <li data-name="LuCI.XHR#busy"><a href="LuCI.XHR.html#busy">busy</a></li>
-
- <li data-name="LuCI.XHR#cancel"><a href="LuCI.XHR.html#cancel">cancel</a></li>
-
- <li data-name="LuCI.XHR#get"><a href="LuCI.XHR.html#get">get</a></li>
-
- <li data-name="LuCI.XHR#post"><a href="LuCI.XHR.html#post">post</a></li>
-
- <li data-name="LuCI.XHR#send_form"><a href="LuCI.XHR.html#send_form">send_form</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- </ul>
-</div>
- <div class="main">
- <h1 class="page-title" data-filename="LuCI.view.html">Class: view</h1>
-
-
-
-
-<section>
-
-<header>
- <h2>
- <span class="ancestors"><a href="LuCI.html">LuCI</a>.</span>
-
- view
- </h2>
-
- <div class="class-description"><p>The <code>view</code> class forms the basis of views and provides a standard
-set of methods to inherit from.</p></div>
-
-</header>
-
-<article>
- <div class="container-overview">
-
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="view">
-
- new LuCI.view<span class="signature">()</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 2687
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dd>
-
-
- </div>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- <h3 class="subsection-title">Methods</h3>
-
- <dl>
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="addFooter">
-
- addFooter<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{DocumentFragment}</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 2905
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>Renders a standard page action footer if any of the
-<code>handleSave()</code>, <code>handleSaveApply()</code> or <code>handleReset()</code>
-functions are defined.</p>
-<p>The default implementation should be sufficient for most
-views - it will render a standard page footer with action
-buttons labeled <code>Save</code>, <code>Save &amp; Apply</code> and <code>Reset</code>
-triggering the <code>handleSave()</code>, <code>handleSaveApply()</code> and
-<code>handleReset()</code> functions respectively.</p>
-<p>When any of these <code>handle*()</code> functions is overwritten
-with <code>null</code> by a view extending this class, the
-corresponding button will not be rendered.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- DocumentFragment
-
-
- </td>
- <td class="description last">Returns a <code>DocumentFragment</code> containing the footer bar
-with buttons for each corresponding <code>handle*()</code> action
-or an empty <code>DocumentFragment</code> if all three <code>handle*()</code>
-methods are overwritten with <code>null</code>.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="handleReset">
-
- handleReset<span class="signature">(ev)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{*|Promise.&lt;*>}</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 2871
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>The handleReset function is invoked when the user clicks
-the <code>Reset</code> button in the page action footer.</p>
-<p>The default implementation should be sufficient for most
-views using <code>form.Map()</code> based forms - it
-will iterate all forms present in the view and invoke
-the <code>Map.reset()</code> method on each form.</p>
-<p>Views not using <code>Map</code> instances or requiring other special
-logic should overwrite <code>handleReset()</code> with a custom
-implementation.</p>
-<p>To disable the <code>Reset</code> page footer button, views extending
-this base class should overwrite the <code>handleReset</code> function
-with <code>null</code>.</p>
-<p>The invocation of this function is wrapped by
-<code>Promise.resolve()</code> so it may return Promises if needed.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>ev</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">Event</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The DOM event that triggered the function.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- *
- |
-
- Promise.&lt;*>
-
-
- </td>
- <td class="description last">Any return values of this function are discarded, but
-passed through <code>Promise.resolve()</code> to ensure that any
-returned promise runs to completion before the button
-is reenabled.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="handleSave">
-
- handleSave<span class="signature">(ev)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{*|Promise.&lt;*>}</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 2790
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>The handleSave function is invoked when the user clicks
-the <code>Save</code> button in the page action footer.</p>
-<p>The default implementation should be sufficient for most
-views using <code>form.Map()</code> based forms - it
-will iterate all forms present in the view and invoke
-the <code>Map.save()</code> method on each form.</p>
-<p>Views not using <code>Map</code> instances or requiring other special
-logic should overwrite <code>handleSave()</code> with a custom
-implementation.</p>
-<p>To disable the <code>Save</code> page footer button, views extending
-this base class should overwrite the <code>handleSave</code> function
-with <code>null</code>.</p>
-<p>The invocation of this function is wrapped by
-<code>Promise.resolve()</code> so it may return Promises if needed.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>ev</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">Event</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The DOM event that triggered the function.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- *
- |
-
- Promise.&lt;*>
-
-
- </td>
- <td class="description last">Any return values of this function are discarded, but
-passed through <code>Promise.resolve()</code> to ensure that any
-returned promise runs to completion before the button
-is reenabled.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="handleSaveApply">
-
- handleSaveApply<span class="signature">(ev)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{*|Promise.&lt;*>}</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 2834
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>The handleSaveApply function is invoked when the user clicks
-the <code>Save &amp; Apply</code> button in the page action footer.</p>
-<p>The default implementation should be sufficient for most
-views using <code>form.Map()</code> based forms - it
-will first invoke
-<code>view.handleSave()</code> and then
-call <code>ui.changes.apply()</code> to start the
-modal config apply and page reload flow.</p>
-<p>Views not using <code>Map</code> instances or requiring other special
-logic should overwrite <code>handleSaveApply()</code> with a custom
-implementation.</p>
-<p>To disable the <code>Save &amp; Apply</code> page footer button, views
-extending this base class should overwrite the
-<code>handleSaveApply</code> function with <code>null</code>.</p>
-<p>The invocation of this function is wrapped by
-<code>Promise.resolve()</code> so it may return Promises if needed.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>ev</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">Event</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>The DOM event that triggered the function.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- *
- |
-
- Promise.&lt;*>
-
-
- </td>
- <td class="description last">Any return values of this function are discarded, but
-passed through <code>Promise.resolve()</code> to ensure that any
-returned promise runs to completion before the button
-is reenabled.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="load">
-
- <span class="type-signature ">abstract</span>load<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{*|Promise.&lt;*>}</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 2725
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>The load function is invoked before the view is rendered.</p>
-<p>The invocation of this function is wrapped by
-<code>Promise.resolve()</code> so it may return Promises if needed.</p>
-<p>The return value of the function (or the resolved values
-of the promise returned by it) will be passed as first
-argument to <code>render()</code>.</p>
-<p>This function is supposed to be overwritten by subclasses,
-the default implementation does nothing.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- *
- |
-
- Promise.&lt;*>
-
-
- </td>
- <td class="description last">May return any value or a Promise resolving to any value.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
-
-
-<dt>
- <div class="nameContainer">
- <h4 class="name" id="render">
-
- <span class="type-signature ">abstract</span>render<span class="signature">(load_results)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Node|Promise.&lt;Node>}</span>
- </h4>
-
-
- <div class="tag-source">
- luci.js, line 2757
- </div>
-
- </div>
-
-
-</dt>
-<dd>
-
-
- <div class="description">
- <p>The render function is invoked after the
-<a href="LuCI.view.html#load"><code>load()</code></a> function and responsible
-for setting up the view contents. It must return a DOM
-<code>Node</code> or <code>DocumentFragment</code> holding the contents to
-insert into the view area.</p>
-<p>The invocation of this function is wrapped by
-<code>Promise.resolve()</code> so it may return Promises if needed.</p>
-<p>The return value of the function (or the resolved values
-of the promise returned by it) will be inserted into the
-main content area using
-<a href="LuCI.dom.html#append"><code>dom.append()</code></a>.</p>
-<p>This function is supposed to be overwritten by subclasses,
-the default implementation does nothing.</p>
- </div>
-
-
-
-
-
-
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Name</th>
-
-
- <th>Type</th>
-
-
-
- <th class="last">Description</th>
- </tr>
- </thead>
-
- <tbody>
-
-
- <tr>
-
- <td class="name"><code>load_results</code></td>
-
-
- <td class="type">
-
-
-<span class="param-type">*</span>
-|
-
-<span class="param-type">null</span>
-
-
-
- </td>
-
-
-
- <td class="description last">
-
- <p>This function will receive the return value of the
-<a href="LuCI.view.html#load"><code>view.load()</code></a> function as first
-argument.</p></td>
- </tr>
-
-
- </tbody>
-</table>
-
-
-
-<dl class="details">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</dl>
-
-
-
-
-
-
-
-
-
-
-
- <h5>Returns:</h5>
-
-
-
-<table class="params">
- <thead>
- <tr>
-
- <th>Type</th>
- <th class="last">Description</th>
- </tr>
- </thead>
- <tbody>
-
- <tr>
-
- <td class="type">
-
- Node
- |
-
- Promise.&lt;Node>
-
-
- </td>
- <td class="description last">Should return a DOM <code>Node</code> value or a <code>Promise</code> resolving
-to a <code>Node</code> value.</td>
- </tr>
-
- </tbody>
-</table>
-
-
-
-
-</dd>
-
- </dl>
-
-
-
-
-
-
-
-</article>
-
-</section>
-
-
-
-
-
-
-
- <footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Nov 05 2019 10:17:12 GMT+0100 (Central European Standard Time)
- </footer>
- </div>
-</div>
-<script>prettyPrint();</script>
-<script src="scripts/jaguar.js"></script>
-</body>
-</html> \ No newline at end of file
diff --git a/documentation/jsapi/fonts/OpenSans-Bold-webfont.eot b/documentation/jsapi/fonts/OpenSans-Bold-webfont.eot
deleted file mode 100644
index 5d20d91633..0000000000
--- a/documentation/jsapi/fonts/OpenSans-Bold-webfont.eot
+++ /dev/null
Binary files differ
diff --git a/documentation/jsapi/fonts/OpenSans-Bold-webfont.svg b/documentation/jsapi/fonts/OpenSans-Bold-webfont.svg
deleted file mode 100644
index 3ed7be4bc5..0000000000
--- a/documentation/jsapi/fonts/OpenSans-Bold-webfont.svg
+++ /dev/null
@@ -1,1830 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
-<svg xmlns="http://www.w3.org/2000/svg">
-<metadata></metadata>
-<defs>
-<font id="open_sansbold" horiz-adv-x="1169" >
-<font-face units-per-em="2048" ascent="1638" descent="-410" />
-<missing-glyph horiz-adv-x="532" />
-<glyph unicode="&#xfb01;" horiz-adv-x="1417" d="M41 0zM778 889h-264v-889h-305v889h-168v147l168 82v82q0 191 94 279t301 88q158 0 281 -47l-78 -224q-92 29 -170 29q-65 0 -94 -38.5t-29 -98.5v-70h264v-229zM940 1407q0 149 166 149t166 -149q0 -71 -41.5 -110.5t-124.5 -39.5q-166 0 -166 150zM1258 0h-305v1118 h305v-1118z" />
-<glyph unicode="&#xfb02;" horiz-adv-x="1417" d="M41 0zM778 889h-264v-889h-305v889h-168v147l168 82v82q0 191 94 279t301 88q158 0 281 -47l-78 -224q-92 29 -170 29q-65 0 -94 -38.5t-29 -98.5v-70h264v-229zM1258 0h-305v1556h305v-1556z" />
-<glyph unicode="&#xfb03;" horiz-adv-x="2208" d="M41 0zM778 889h-264v-889h-305v889h-168v147l168 82v82q0 191 94 279t301 88q158 0 281 -47l-78 -224q-92 29 -170 29q-65 0 -94 -38.5t-29 -98.5v-70h264v-229zM1571 889h-264v-889h-305v889h-168v147l168 82v82q0 191 94 279t301 88q158 0 281 -47l-78 -224 q-92 29 -170 29q-65 0 -94 -38.5t-29 -98.5v-70h264v-229zM1730 1407q0 149 166 149t166 -149q0 -71 -41.5 -110.5t-124.5 -39.5q-166 0 -166 150zM2048 0h-305v1118h305v-1118z" />
-<glyph unicode="&#xfb04;" horiz-adv-x="2208" d="M41 0zM778 889h-264v-889h-305v889h-168v147l168 82v82q0 191 94 279t301 88q158 0 281 -47l-78 -224q-92 29 -170 29q-65 0 -94 -38.5t-29 -98.5v-70h264v-229zM1571 889h-264v-889h-305v889h-168v147l168 82v82q0 191 94 279t301 88q158 0 281 -47l-78 -224 q-92 29 -170 29q-65 0 -94 -38.5t-29 -98.5v-70h264v-229zM2048 0h-305v1556h305v-1556z" />
-<glyph horiz-adv-x="2048" />
-<glyph horiz-adv-x="2048" />
-<glyph unicode="&#xd;" horiz-adv-x="1044" />
-<glyph unicode=" " horiz-adv-x="532" />
-<glyph unicode="&#x09;" horiz-adv-x="532" />
-<glyph unicode="&#xa0;" horiz-adv-x="532" />
-<glyph unicode="!" horiz-adv-x="586" d="M416 485h-244l-51 977h346zM117 143q0 84 45 127t131 43q83 0 128.5 -44t45.5 -126q0 -79 -46 -124.5t-128 -45.5q-84 0 -130 44.5t-46 125.5z" />
-<glyph unicode="&#x22;" horiz-adv-x="967" d="M412 1462l-41 -528h-197l-41 528h279zM834 1462l-41 -528h-197l-41 528h279z" />
-<glyph unicode="#" horiz-adv-x="1323" d="M999 844l-47 -232h258v-206h-297l-77 -406h-220l78 406h-194l-76 -406h-215l74 406h-238v206h277l47 232h-252v209h289l77 407h219l-77 -407h198l78 407h215l-78 -407h240v-209h-279zM539 612h196l47 232h-196z" />
-<glyph unicode="$" d="M1092 457q0 -159 -115 -255.5t-322 -115.5v-205h-137v201q-244 5 -428 86v264q87 -43 209.5 -76t218.5 -39v310l-67 26q-198 78 -280.5 169.5t-82.5 226.5q0 145 113.5 238.5t316.5 113.5v153h137v-149q229 -10 414 -92l-94 -234q-156 64 -320 78v-295 q195 -75 277.5 -130t121 -121t38.5 -154zM791 442q0 42 -34 71t-102 60v-249q136 23 136 118zM389 1049q0 -44 30.5 -72.5t98.5 -58.5v235q-129 -19 -129 -104z" />
-<glyph unicode="%" horiz-adv-x="1845" d="M315 1024q0 -127 22.5 -189.5t72.5 -62.5q96 0 96 252q0 250 -96 250q-50 0 -72.5 -61.5t-22.5 -188.5zM758 1026q0 -230 -89 -345.5t-261 -115.5q-165 0 -255 118.5t-90 342.5q0 457 345 457q169 0 259.5 -118.5t90.5 -338.5zM1446 1462l-811 -1462h-240l811 1462h240z M1339 440q0 -127 22.5 -189.5t72.5 -62.5q96 0 96 252q0 250 -96 250q-50 0 -72.5 -61.5t-22.5 -188.5zM1782 442q0 -229 -89 -344.5t-261 -115.5q-165 0 -255 118.5t-90 341.5q0 457 345 457q169 0 259.5 -118.5t90.5 -338.5z" />
-<glyph unicode="&#x26;" horiz-adv-x="1536" d="M1536 0h-377l-115 113q-191 -133 -432 -133q-244 0 -387 112t-143 303q0 137 60.5 233.5t207.5 180.5q-75 86 -109 164.5t-34 171.5q0 152 116.5 245t311.5 93q186 0 297.5 -86.5t111.5 -231.5q0 -119 -69 -217.5t-223 -187.5l284 -277q71 117 123 301h318 q-36 -135 -99 -263.5t-143 -227.5zM403 424q0 -86 64.5 -137t165.5 -51q126 0 227 61l-332 330q-58 -44 -91.5 -92t-33.5 -111zM762 1133q0 53 -36 83.5t-93 30.5q-67 0 -105.5 -32t-38.5 -91q0 -88 95 -194q86 48 132 94.5t46 108.5z" />
-<glyph unicode="'" horiz-adv-x="545" d="M412 1462l-41 -528h-197l-41 528h279z" />
-<glyph unicode="(" horiz-adv-x="694" d="M82 561q0 265 77.5 496t223.5 405h250q-141 -193 -213 -424t-72 -475q0 -245 73.5 -473.5t209.5 -413.5h-248q-147 170 -224 397t-77 488z" />
-<glyph unicode=")" horiz-adv-x="694" d="M612 561q0 -263 -77.5 -490t-223.5 -395h-248q135 184 209 412.5t74 474.5q0 244 -72 475t-213 424h250q147 -175 224 -406.5t77 -494.5z" />
-<glyph unicode="*" horiz-adv-x="1116" d="M688 1556l-41 -368l373 104l33 -252l-340 -24l223 -297l-227 -121l-156 313l-137 -311l-236 119l221 297l-338 26l39 250l365 -104l-41 368h262z" />
-<glyph unicode="+" d="M475 612h-387v219h387v390h219v-390h387v-219h-387v-385h-219v385z" />
-<glyph unicode="," horiz-adv-x="594" d="M459 215q-52 -202 -176 -479h-220q65 266 101 502h280z" />
-<glyph unicode="-" horiz-adv-x="659" d="M61 424v250h537v-250h-537z" />
-<glyph unicode="." horiz-adv-x="584" d="M117 143q0 84 45 127t131 43q83 0 128.5 -44t45.5 -126q0 -79 -46 -124.5t-128 -45.5q-84 0 -130 44.5t-46 125.5z" />
-<glyph unicode="/" horiz-adv-x="846" d="M836 1462l-545 -1462h-277l545 1462h277z" />
-<glyph unicode="0" d="M1096 731q0 -383 -125.5 -567t-386.5 -184q-253 0 -381.5 190t-128.5 561q0 387 125 570.5t385 183.5q253 0 382.5 -192t129.5 -562zM381 731q0 -269 46.5 -385.5t156.5 -116.5q108 0 156 118t48 384q0 269 -48.5 386.5t-155.5 117.5q-109 0 -156 -117.5t-47 -386.5z" />
-<glyph unicode="1" d="M846 0h-309v846l3 139l5 152q-77 -77 -107 -101l-168 -135l-149 186l471 375h254v-1462z" />
-<glyph unicode="2" d="M1104 0h-1022v215l367 371q163 167 213 231.5t72 119.5t22 114q0 88 -48.5 131t-129.5 43q-85 0 -165 -39t-167 -111l-168 199q108 92 179 130t155 58.5t188 20.5q137 0 242 -50t163 -140t58 -206q0 -101 -35.5 -189.5t-110 -181.5t-262.5 -265l-188 -177v-14h637v-260z " />
-<glyph unicode="3" d="M1047 1135q0 -137 -83 -233t-233 -132v-6q177 -22 268 -107.5t91 -230.5q0 -211 -153 -328.5t-437 -117.5q-238 0 -422 79v263q85 -43 187 -70t202 -27q153 0 226 52t73 167q0 103 -84 146t-268 43h-111v237h113q170 0 248.5 44.5t78.5 152.5q0 166 -208 166 q-72 0 -146.5 -24t-165.5 -83l-143 213q200 144 477 144q227 0 358.5 -92t131.5 -256z" />
-<glyph unicode="4" d="M1137 303h-176v-303h-302v303h-624v215l641 944h285v-919h176v-240zM659 543v248q0 62 5 180t8 137h-8q-37 -82 -89 -160l-268 -405h352z" />
-<glyph unicode="5" d="M614 934q212 0 337.5 -119t125.5 -326q0 -245 -151 -377t-432 -132q-244 0 -394 79v267q79 -42 184 -68.5t199 -26.5q283 0 283 232q0 221 -293 221q-53 0 -117 -10.5t-104 -22.5l-123 66l55 745h793v-262h-522l-27 -287l35 7q61 14 151 14z" />
-<glyph unicode="6" d="M72 621q0 434 183.5 646t549.5 212q125 0 196 -15v-247q-89 20 -176 20q-159 0 -259.5 -48t-150.5 -142t-59 -267h13q99 170 317 170q196 0 307 -123t111 -340q0 -234 -132 -370.5t-366 -136.5q-162 0 -282.5 75t-186 219t-65.5 347zM600 227q99 0 152 66.5t53 189.5 q0 107 -49.5 168.5t-149.5 61.5q-94 0 -160.5 -61t-66.5 -142q0 -119 62.5 -201t158.5 -82z" />
-<glyph unicode="7" d="M227 0l549 1200h-721v260h1049v-194l-553 -1266h-324z" />
-<glyph unicode="8" d="M586 1481q210 0 338.5 -95.5t128.5 -257.5q0 -112 -62 -199.5t-200 -156.5q164 -88 235.5 -183.5t71.5 -209.5q0 -180 -141 -289.5t-371 -109.5q-240 0 -377 102t-137 289q0 125 66.5 222t213.5 171q-125 79 -180 169t-55 197q0 157 130 254t339 97zM358 389 q0 -86 60 -134t164 -48q115 0 172 49.5t57 130.5q0 67 -56.5 125.5t-183.5 124.5q-213 -98 -213 -248zM584 1255q-79 0 -127.5 -40.5t-48.5 -108.5q0 -60 38.5 -107.5t139.5 -97.5q98 46 137 94t39 111q0 69 -50 109t-128 40z" />
-<glyph unicode="9" d="M1098 838q0 -432 -182 -645t-551 -213q-130 0 -197 14v248q84 -21 176 -21q155 0 255 45.5t153 143t61 268.5h-12q-58 -94 -134 -132t-190 -38q-191 0 -301 122.5t-110 340.5q0 235 133.5 371.5t363.5 136.5q162 0 283.5 -76t186.5 -220.5t65 -344.5zM569 1231 q-96 0 -150 -66t-54 -190q0 -106 49 -168t149 -62q94 0 161 61.5t67 141.5q0 119 -62.5 201t-159.5 82z" />
-<glyph unicode=":" horiz-adv-x="584" d="M117 143q0 84 45 127t131 43q83 0 128.5 -44t45.5 -126q0 -79 -46 -124.5t-128 -45.5q-84 0 -130 44.5t-46 125.5zM117 969q0 84 45 127t131 43q83 0 128.5 -44t45.5 -126q0 -81 -46.5 -125.5t-127.5 -44.5q-84 0 -130 44t-46 126z" />
-<glyph unicode=";" horiz-adv-x="594" d="M444 238l15 -23q-52 -202 -176 -479h-220q65 266 101 502h280zM117 969q0 84 45 127t131 43q83 0 128.5 -44t45.5 -126q0 -81 -46.5 -125.5t-127.5 -44.5q-84 0 -130 44t-46 126z" />
-<glyph unicode="&#x3c;" d="M1081 203l-993 438v143l993 496v-240l-684 -317l684 -281v-239z" />
-<glyph unicode="=" d="M88 805v219h993v-219h-993zM88 418v219h993v-219h-993z" />
-<glyph unicode="&#x3e;" d="M88 442l684 281l-684 317v240l993 -496v-143l-993 -438v239z" />
-<glyph unicode="?" horiz-adv-x="977" d="M276 485v74q0 96 41 167t150 151q105 75 138.5 122t33.5 105q0 65 -48 99t-134 34q-150 0 -342 -98l-109 219q223 125 473 125q206 0 327.5 -99t121.5 -264q0 -110 -50 -190t-190 -180q-96 -71 -121.5 -108t-25.5 -97v-60h-265zM244 143q0 84 45 127t131 43 q83 0 128.5 -44t45.5 -126q0 -79 -46 -124.5t-128 -45.5q-84 0 -130 44.5t-46 125.5z" />
-<glyph unicode="@" horiz-adv-x="1837" d="M1735 752q0 -144 -46 -263.5t-130 -187.5t-195 -68q-74 0 -131 35.5t-82 93.5h-16q-108 -129 -275 -129q-177 0 -279 106.5t-102 291.5q0 211 134 340t350 129q86 0 189.5 -16.5t170.5 -39.5l-23 -489q0 -139 76 -139q64 0 102 93.5t38 244.5q0 161 -67 284.5 t-188.5 188.5t-277.5 65q-202 0 -351 -83t-228.5 -239.5t-79.5 -361.5q0 -276 147.5 -423.5t427.5 -147.5q106 0 233 23.5t250 68.5v-192q-214 -91 -475 -91q-380 0 -592.5 200t-212.5 556q0 247 108.5 448.5t309 316t461.5 114.5q220 0 393 -90t267 -256t94 -383zM711 627 q0 -211 172 -211q90 0 137 63.5t57 206.5l13 221q-51 11 -115 11q-125 0 -194.5 -78t-69.5 -213z" />
-<glyph unicode="A" horiz-adv-x="1413" d="M1079 0l-106 348h-533l-106 -348h-334l516 1468h379l518 -1468h-334zM899 608q-147 473 -165.5 535t-26.5 98q-33 -128 -189 -633h381z" />
-<glyph unicode="B" horiz-adv-x="1376" d="M184 1462h455q311 0 451.5 -88.5t140.5 -281.5q0 -131 -61.5 -215t-163.5 -101v-10q139 -31 200.5 -116t61.5 -226q0 -200 -144.5 -312t-392.5 -112h-547v1462zM494 883h180q126 0 182.5 39t56.5 129q0 84 -61.5 120.5t-194.5 36.5h-163v-325zM494 637v-381h202 q128 0 189 49t61 150q0 182 -260 182h-192z" />
-<glyph unicode="C" horiz-adv-x="1305" d="M805 1225q-175 0 -271 -131.5t-96 -366.5q0 -489 367 -489q154 0 373 77v-260q-180 -75 -402 -75q-319 0 -488 193.5t-169 555.5q0 228 83 399.5t238.5 263t364.5 91.5q213 0 428 -103l-100 -252q-82 39 -165 68t-163 29z" />
-<glyph unicode="D" horiz-adv-x="1516" d="M1397 745q0 -361 -205.5 -553t-593.5 -192h-414v1462h459q358 0 556 -189t198 -528zM1075 737q0 471 -416 471h-165v-952h133q448 0 448 481z" />
-<glyph unicode="E" horiz-adv-x="1147" d="M1026 0h-842v1462h842v-254h-532v-321h495v-254h-495v-377h532v-256z" />
-<glyph unicode="F" horiz-adv-x="1124" d="M489 0h-305v1462h838v-254h-533v-377h496v-253h-496v-578z" />
-<glyph unicode="G" horiz-adv-x="1483" d="M739 821h580v-758q-141 -46 -265.5 -64.5t-254.5 -18.5q-331 0 -505.5 194.5t-174.5 558.5q0 354 202.5 552t561.5 198q225 0 434 -90l-103 -248q-160 80 -333 80q-201 0 -322 -135t-121 -363q0 -238 97.5 -363.5t283.5 -125.5q97 0 197 20v305h-277v258z" />
-<glyph unicode="H" horiz-adv-x="1567" d="M1382 0h-309v631h-579v-631h-310v1462h310v-573h579v573h309v-1462z" />
-<glyph unicode="I" horiz-adv-x="678" d="M184 0v1462h310v-1462h-310z" />
-<glyph unicode="J" horiz-adv-x="678" d="M31 -430q-105 0 -183 22v258q80 -20 146 -20q102 0 146 63.5t44 198.5v1370h310v-1368q0 -256 -117 -390t-346 -134z" />
-<glyph unicode="K" horiz-adv-x="1360" d="M1360 0h-352l-383 616l-131 -94v-522h-310v1462h310v-669l122 172l396 497h344l-510 -647z" />
-<glyph unicode="L" horiz-adv-x="1157" d="M184 0v1462h310v-1206h593v-256h-903z" />
-<glyph unicode="M" horiz-adv-x="1931" d="M803 0l-352 1147h-9q19 -350 19 -467v-680h-277v1462h422l346 -1118h6l367 1118h422v-1462h-289v692q0 49 1.5 113t13.5 340h-9l-377 -1145h-284z" />
-<glyph unicode="N" horiz-adv-x="1665" d="M1481 0h-394l-636 1106h-9q19 -293 19 -418v-688h-277v1462h391l635 -1095h7q-15 285 -15 403v692h279v-1462z" />
-<glyph unicode="O" horiz-adv-x="1630" d="M1511 733q0 -363 -180 -558t-516 -195t-516 195t-180 560t180.5 557.5t517.5 192.5t515.5 -194t178.5 -558zM444 733q0 -245 93 -369t278 -124q371 0 371 493q0 494 -369 494q-185 0 -279 -124.5t-94 -369.5z" />
-<glyph unicode="P" horiz-adv-x="1286" d="M494 774h102q143 0 214 56.5t71 164.5q0 109 -59.5 161t-186.5 52h-141v-434zM1194 1006q0 -236 -147.5 -361t-419.5 -125h-133v-520h-310v1462h467q266 0 404.5 -114.5t138.5 -341.5z" />
-<glyph unicode="Q" horiz-adv-x="1630" d="M1511 733q0 -258 -91.5 -432.5t-268.5 -255.5l352 -393h-397l-268 328h-23q-336 0 -516 195t-180 560t180.5 557.5t517.5 192.5t515.5 -194t178.5 -558zM444 733q0 -245 93 -369t278 -124q371 0 371 493q0 494 -369 494q-185 0 -279 -124.5t-94 -369.5z" />
-<glyph unicode="R" horiz-adv-x="1352" d="M494 813h100q147 0 217 49t70 154q0 104 -71.5 148t-221.5 44h-94v-395zM494 561v-561h-310v1462h426q298 0 441 -108.5t143 -329.5q0 -129 -71 -229.5t-201 -157.5q330 -493 430 -637h-344l-349 561h-165z" />
-<glyph unicode="S" horiz-adv-x="1128" d="M1047 406q0 -198 -142.5 -312t-396.5 -114q-234 0 -414 88v288q148 -66 250.5 -93t187.5 -27q102 0 156.5 39t54.5 116q0 43 -24 76.5t-70.5 64.5t-189.5 99q-134 63 -201 121t-107 135t-40 180q0 194 131.5 305t363.5 111q114 0 217.5 -27t216.5 -76l-100 -241 q-117 48 -193.5 67t-150.5 19q-88 0 -135 -41t-47 -107q0 -41 19 -71.5t60.5 -59t196.5 -102.5q205 -98 281 -196.5t76 -241.5z" />
-<glyph unicode="T" horiz-adv-x="1186" d="M748 0h-310v1204h-397v258h1104v-258h-397v-1204z" />
-<glyph unicode="U" horiz-adv-x="1548" d="M1374 1462v-946q0 -162 -72.5 -284t-209.5 -187t-324 -65q-282 0 -438 144.5t-156 395.5v942h309v-895q0 -169 68 -248t225 -79q152 0 220.5 79.5t68.5 249.5v893h309z" />
-<glyph unicode="V" horiz-adv-x="1331" d="M1018 1462h313l-497 -1462h-338l-496 1462h313l275 -870q23 -77 47.5 -179.5t30.5 -142.5q11 92 75 322z" />
-<glyph unicode="W" horiz-adv-x="1980" d="M1608 0h-353l-198 768q-11 41 -37.5 169.5t-30.5 172.5q-6 -54 -30 -173.5t-37 -170.5l-197 -766h-352l-373 1462h305l187 -798q49 -221 71 -383q6 57 27.5 176.5t40.5 185.5l213 819h293l213 -819q14 -55 35 -168t32 -194q10 78 32 194.5t40 188.5l186 798h305z" />
-<glyph unicode="X" horiz-adv-x="1366" d="M1366 0h-354l-340 553l-340 -553h-332l485 754l-454 708h342l315 -526l309 526h334l-459 -725z" />
-<glyph unicode="Y" horiz-adv-x="1278" d="M639 860l305 602h334l-485 -893v-569h-308v559l-485 903h336z" />
-<glyph unicode="Z" horiz-adv-x="1186" d="M1137 0h-1088v201l701 1005h-682v256h1050v-200l-700 -1006h719v-256z" />
-<glyph unicode="[" horiz-adv-x="678" d="M627 -324h-484v1786h484v-211h-224v-1364h224v-211z" />
-<glyph unicode="\" horiz-adv-x="846" d="M289 1462l545 -1462h-277l-545 1462h277z" />
-<glyph unicode="]" horiz-adv-x="678" d="M51 -113h223v1364h-223v211h484v-1786h-484v211z" />
-<glyph unicode="^" horiz-adv-x="1090" d="M8 520l438 950h144l495 -950h-239l-322 643l-280 -643h-236z" />
-<glyph unicode="_" horiz-adv-x="842" d="M846 -324h-850v140h850v-140z" />
-<glyph unicode="`" horiz-adv-x="1243" d="M707 1241q-63 44 -185 142.5t-190 164.5v21h342q63 -101 235 -301v-27h-202z" />
-<glyph unicode="a" horiz-adv-x="1237" d="M870 0l-59 152h-8q-77 -97 -158.5 -134.5t-212.5 -37.5q-161 0 -253.5 92t-92.5 262q0 178 124.5 262.5t375.5 93.5l194 6v49q0 170 -174 170q-134 0 -315 -81l-101 206q193 101 428 101q225 0 345 -98t120 -298v-745h-213zM780 518l-118 -4q-133 -4 -198 -48t-65 -134 q0 -129 148 -129q106 0 169.5 61t63.5 162v92z" />
-<glyph unicode="b" horiz-adv-x="1296" d="M782 1139q198 0 310 -154.5t112 -423.5q0 -277 -115.5 -429t-314.5 -152q-197 0 -309 143h-21l-51 -123h-233v1556h305v-362q0 -69 -12 -221h12q107 166 317 166zM684 895q-113 0 -165 -69.5t-54 -229.5v-33q0 -180 53.5 -258t169.5 -78q94 0 149.5 86.5t55.5 251.5 t-56 247.5t-153 82.5z" />
-<glyph unicode="c" horiz-adv-x="1053" d="M614 -20q-522 0 -522 573q0 285 142 435.5t407 150.5q194 0 348 -76l-90 -236q-72 29 -134 47.5t-124 18.5q-238 0 -238 -338q0 -328 238 -328q88 0 163 23.5t150 73.5v-261q-74 -47 -149.5 -65t-190.5 -18z" />
-<glyph unicode="d" horiz-adv-x="1296" d="M514 -20q-197 0 -309.5 153t-112.5 424q0 275 114.5 428.5t315.5 153.5q211 0 322 -164h10q-23 125 -23 223v358h306v-1556h-234l-59 145h-13q-104 -165 -317 -165zM621 223q117 0 171.5 68t59.5 231v33q0 180 -55.5 258t-180.5 78q-102 0 -158.5 -86.5t-56.5 -251.5 t57 -247.5t163 -82.5z" />
-<glyph unicode="e" horiz-adv-x="1210" d="M623 922q-97 0 -152 -61.5t-63 -174.5h428q-2 113 -59 174.5t-154 61.5zM666 -20q-270 0 -422 149t-152 422q0 281 140.5 434.5t388.5 153.5q237 0 369 -135t132 -373v-148h-721q5 -130 77 -203t202 -73q101 0 191 21t188 67v-236q-80 -40 -171 -59.5t-222 -19.5z" />
-<glyph unicode="f" horiz-adv-x="793" d="M778 889h-264v-889h-305v889h-168v147l168 82v82q0 191 94 279t301 88q158 0 281 -47l-78 -224q-92 29 -170 29q-65 0 -94 -38.5t-29 -98.5v-70h264v-229z" />
-<glyph unicode="g" horiz-adv-x="1157" d="M1133 1118v-155l-175 -45q48 -75 48 -168q0 -180 -125.5 -280.5t-348.5 -100.5l-55 3l-45 5q-47 -36 -47 -80q0 -66 168 -66h190q184 0 280.5 -79t96.5 -232q0 -196 -163.5 -304t-469.5 -108q-234 0 -357.5 81.5t-123.5 228.5q0 101 63 169t185 97q-47 20 -82 65.5 t-35 96.5q0 64 37 106.5t107 83.5q-88 38 -139.5 122t-51.5 198q0 183 119 283t340 100q47 0 111.5 -8.5t82.5 -12.5h390zM270 -158q0 -63 60.5 -99t169.5 -36q164 0 257 45t93 123q0 63 -55 87t-170 24h-158q-84 0 -140.5 -39.5t-56.5 -104.5zM381 752q0 -91 41.5 -144 t126.5 -53q86 0 126 53t40 144q0 202 -166 202q-168 0 -168 -202z" />
-<glyph unicode="h" horiz-adv-x="1346" d="M1192 0h-305v653q0 242 -180 242q-128 0 -185 -87t-57 -282v-526h-305v1556h305v-317q0 -37 -7 -174l-7 -90h16q102 164 324 164q197 0 299 -106t102 -304v-729z" />
-<glyph unicode="i" horiz-adv-x="625" d="M147 1407q0 149 166 149t166 -149q0 -71 -41.5 -110.5t-124.5 -39.5q-166 0 -166 150zM465 0h-305v1118h305v-1118z" />
-<glyph unicode="j" horiz-adv-x="625" d="M70 -492q-117 0 -201 25v240q70 -19 143 -19q77 0 112.5 43t35.5 127v1194h305v-1239q0 -178 -103 -274.5t-292 -96.5zM147 1407q0 149 166 149t166 -149q0 -71 -41.5 -110.5t-124.5 -39.5q-166 0 -166 150z" />
-<glyph unicode="k" horiz-adv-x="1270" d="M453 608l133 170l313 340h344l-444 -485l471 -633h-352l-322 453l-131 -105v-348h-305v1556h305v-694l-16 -254h4z" />
-<glyph unicode="l" horiz-adv-x="625" d="M465 0h-305v1556h305v-1556z" />
-<glyph unicode="m" horiz-adv-x="2011" d="M1161 0h-305v653q0 121 -40.5 181.5t-127.5 60.5q-117 0 -170 -86t-53 -283v-526h-305v1118h233l41 -143h17q45 77 130 120.5t195 43.5q251 0 340 -164h27q45 78 132.5 121t197.5 43q190 0 287.5 -97.5t97.5 -312.5v-729h-306v653q0 121 -40.5 181.5t-127.5 60.5 q-112 0 -167.5 -80t-55.5 -254v-561z" />
-<glyph unicode="n" horiz-adv-x="1346" d="M1192 0h-305v653q0 121 -43 181.5t-137 60.5q-128 0 -185 -85.5t-57 -283.5v-526h-305v1118h233l41 -143h17q51 81 140.5 122.5t203.5 41.5q195 0 296 -105.5t101 -304.5v-729z" />
-<glyph unicode="o" horiz-adv-x="1268" d="M403 561q0 -166 54.5 -251t177.5 -85q122 0 175.5 84.5t53.5 251.5q0 166 -54 249t-177 83q-122 0 -176 -82.5t-54 -249.5zM1176 561q0 -273 -144 -427t-401 -154q-161 0 -284 70.5t-189 202.5t-66 308q0 274 143 426t402 152q161 0 284 -70t189 -201t66 -307z" />
-<glyph unicode="p" horiz-adv-x="1296" d="M774 -20q-197 0 -309 143h-16q16 -140 16 -162v-453h-305v1610h248l43 -145h14q107 166 317 166q198 0 310 -153t112 -425q0 -179 -52.5 -311t-149.5 -201t-228 -69zM684 895q-113 0 -165 -69.5t-54 -229.5v-33q0 -180 53.5 -258t169.5 -78q205 0 205 338 q0 165 -50.5 247.5t-158.5 82.5z" />
-<glyph unicode="q" horiz-adv-x="1296" d="M623 219q116 0 170 66.5t59 232.5v37q0 180 -55.5 258t-178.5 78q-215 0 -215 -338q0 -168 53.5 -251t166.5 -83zM514 -20q-198 0 -310 152.5t-112 424.5q0 274 114.5 428t313.5 154q106 0 185 -40t139 -124h8l27 143h258v-1610h-306v469q0 61 13 168h-13 q-49 -81 -130 -123t-187 -42z" />
-<glyph unicode="r" horiz-adv-x="930" d="M784 1139q62 0 103 -9l-23 -286q-37 10 -90 10q-146 0 -227.5 -75t-81.5 -210v-569h-305v1118h231l45 -188h15q52 94 140.5 151.5t192.5 57.5z" />
-<glyph unicode="s" horiz-adv-x="1018" d="M940 332q0 -172 -119.5 -262t-357.5 -90q-122 0 -208 16.5t-161 48.5v252q85 -40 191.5 -67t187.5 -27q166 0 166 96q0 36 -22 58.5t-76 51t-144 66.5q-129 54 -189.5 100t-88 105.5t-27.5 146.5q0 149 115.5 230.5t327.5 81.5q202 0 393 -88l-92 -220q-84 36 -157 59 t-149 23q-135 0 -135 -73q0 -41 43.5 -71t190.5 -89q131 -53 192 -99t90 -106t29 -143z" />
-<glyph unicode="t" horiz-adv-x="889" d="M631 223q80 0 192 35v-227q-114 -51 -280 -51q-183 0 -266.5 92.5t-83.5 277.5v539h-146v129l168 102l88 236h195v-238h313v-229h-313v-539q0 -65 36.5 -96t96.5 -31z" />
-<glyph unicode="u" horiz-adv-x="1346" d="M952 0l-41 143h-16q-49 -78 -139 -120.5t-205 -42.5q-197 0 -297 105.5t-100 303.5v729h305v-653q0 -121 43 -181.5t137 -60.5q128 0 185 85.5t57 283.5v526h305v-1118h-234z" />
-<glyph unicode="v" horiz-adv-x="1165" d="M426 0l-426 1118h319l216 -637q36 -121 45 -229h6q5 96 45 229l215 637h319l-426 -1118h-313z" />
-<glyph unicode="w" horiz-adv-x="1753" d="M1079 0l-86 391l-116 494h-7l-204 -885h-328l-318 1118h304l129 -495q31 -133 63 -367h6q4 76 35 241l16 85l138 536h336l131 -536q4 -22 12.5 -65t16.5 -91.5t14.5 -95t7.5 -74.5h6q9 72 32 197.5t33 169.5l134 495h299l-322 -1118h-332z" />
-<glyph unicode="x" horiz-adv-x="1184" d="M389 571l-360 547h346l217 -356l219 356h346l-364 -547l381 -571h-347l-235 383l-236 -383h-346z" />
-<glyph unicode="y" horiz-adv-x="1165" d="M0 1118h334l211 -629q27 -82 37 -194h6q11 103 43 194l207 629h327l-473 -1261q-65 -175 -185.5 -262t-281.5 -87q-79 0 -155 17v242q55 -13 120 -13q81 0 141.5 49.5t94.5 149.5l18 55z" />
-<glyph unicode="z" horiz-adv-x="999" d="M938 0h-883v180l518 705h-487v233h834v-198l-504 -687h522v-233z" />
-<glyph unicode="{" horiz-adv-x="807" d="M287 270q0 87 -65.5 133t-190.5 46v239q126 0 191 44t65 126v8v318q0 153 97 215.5t341 62.5v-225q-99 -3 -136.5 -38t-37.5 -103v-299q-6 -188 -234 -222v-12q234 -35 234 -212v-9v-299q0 -68 37 -103t137 -38v-226q-244 0 -341 62.5t-97 216.5v315z" />
-<glyph unicode="|" horiz-adv-x="1128" d="M455 1550h219v-2015h-219v2015z" />
-<glyph unicode="}" horiz-adv-x="807" d="M520 -45q0 -112 -41 -169t-135.5 -83.5t-261.5 -26.5v226q99 2 136.5 36t37.5 105v299v11q0 86 59 139.5t174 70.5v12q-227 34 -233 222v299q0 70 -37 104t-137 37v225q167 0 262 -26.5t135.5 -84t40.5 -167.5v-318v-10q0 -84 61.5 -126t194.5 -42v-239 q-125 0 -190.5 -41t-65.5 -138v-315z" />
-<glyph unicode="~" d="M322 672q-55 0 -117.5 -33.5t-116.5 -87.5v231q103 109 256 109q73 0 137.5 -16t139.5 -48q129 -55 227 -55q53 0 116 32t117 89v-231q-101 -109 -256 -109q-66 0 -126 13t-150 50q-131 56 -227 56z" />
-<glyph unicode="&#xa1;" horiz-adv-x="586" d="M168 606h244l51 -975h-346zM467 948q0 -84 -45 -127t-131 -43q-83 0 -128.5 44t-45.5 126q0 81 46.5 125.5t127.5 44.5q84 0 130 -44t46 -126z" />
-<glyph unicode="&#xa2;" d="M563 176q-420 59 -420 565q0 261 104.5 403t315.5 173v166h178v-158q166 -9 299 -74l-90 -235q-72 29 -134 47t-124 18q-121 0 -179 -83.5t-58 -254.5q0 -327 237 -327q82 0 148 15.5t166 60.5v-254q-127 -61 -265 -70v-188h-178v196z" />
-<glyph unicode="&#xa3;" d="M700 1483q195 0 390 -82l-93 -230q-157 64 -272 64q-78 0 -120 -44.5t-42 -127.5v-193h375v-219h-375v-143q0 -170 -151 -248h718v-260h-1048v248q103 44 141.5 101t38.5 157v145h-178v219h178v195q0 201 114.5 309.5t323.5 108.5z" />
-<glyph unicode="&#xa4;" d="M188 723q0 102 54 197l-129 127l147 147l127 -127q91 53 197 53q105 0 196 -55l127 129l150 -143l-129 -129q53 -89 53 -199q0 -107 -53 -199l125 -125l-146 -145l-127 125q-95 -51 -196 -51q-115 0 -199 51l-125 -123l-145 145l127 125q-54 93 -54 197zM395 723 q0 -77 54.5 -132.5t134.5 -55.5q81 0 136.5 55t55.5 133q0 80 -56.5 135t-135.5 55q-78 0 -133.5 -56t-55.5 -134z" />
-<glyph unicode="&#xa5;" d="M584 860l264 602h313l-383 -747h195v-178h-246v-138h246v-178h-246v-221h-287v221h-247v178h247v138h-247v178h190l-377 747h316z" />
-<glyph unicode="&#xa6;" horiz-adv-x="1128" d="M455 1550h219v-815h-219v815zM455 350h219v-815h-219v815z" />
-<glyph unicode="&#xa7;" horiz-adv-x="995" d="M121 805q0 79 36 144.5t97 105.5q-133 84 -133 233q0 131 111.5 210t293.5 79q170 0 363 -84l-82 -190q-68 32 -138.5 57.5t-148.5 25.5q-81 0 -118 -23t-37 -71q0 -49 49.5 -86t163.5 -82q163 -64 240 -148.5t77 -193.5q0 -177 -125 -260q62 -40 93.5 -92.5t31.5 -126.5 q0 -148 -119.5 -235.5t-320.5 -87.5q-203 0 -349 79v207q81 -41 180 -69.5t169 -28.5q194 0 194 117q0 39 -18.5 63t-63.5 49.5t-125 59.5q-183 74 -252 152.5t-69 195.5zM344 827q0 -67 65 -119t181 -98q78 57 78 146q0 68 -50.5 115t-183.5 96q-37 -14 -63.5 -53.5 t-26.5 -86.5z" />
-<glyph unicode="&#xa8;" horiz-adv-x="1243" d="M279 1405q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5t-103 -36.5q-64 0 -101.5 35t-37.5 98zM682 1405q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99q0 -61 -39 -97t-103 -36q-60 0 -100.5 32.5t-40.5 100.5z" />
-<glyph unicode="&#xa9;" horiz-adv-x="1704" d="M895 1010q-97 0 -150 -74t-53 -205q0 -280 203 -280q57 0 123 15t123 44v-191q-120 -57 -252 -57q-204 0 -316 125t-112 346q0 220 110.5 342.5t309.5 122.5q149 0 305 -78l-74 -168q-113 58 -217 58zM100 731q0 200 100 375t275 276t377 101q200 0 375 -100t276 -275 t101 -377q0 -197 -97 -370t-272 -277t-383 -104q-207 0 -382 103.5t-272.5 276.5t-97.5 371zM242 731q0 -164 82 -305.5t224 -223t304 -81.5q164 0 305.5 82t223 224t81.5 304q0 164 -82 305.5t-224 223t-304 81.5q-164 0 -305.5 -82t-223 -224t-81.5 -304z" />
-<glyph unicode="&#xaa;" horiz-adv-x="784" d="M561 764l-31 110q-43 -58 -105 -90t-136 -32q-117 0 -179.5 58.5t-62.5 164.5q0 109 82.5 163.5t267.5 63.5l99 4q0 117 -127 117q-81 0 -217 -61l-66 135q66 32 145.5 57t178.5 25q137 0 211.5 -71t74.5 -202v-442h-135zM252 977q0 -38 23 -56t55 -18q77 0 121.5 41.5 t44.5 106.5v36l-99 -6q-145 -10 -145 -104z" />
-<glyph unicode="&#xab;" horiz-adv-x="1260" d="M82 573l371 455l219 -119l-279 -348l279 -348l-219 -119l-371 453v26zM588 573l370 455l220 -119l-279 -348l279 -348l-220 -119l-370 453v26z" />
-<glyph unicode="&#xac;" d="M1081 248h-219v364h-774v219h993v-583z" />
-<glyph unicode="&#xad;" horiz-adv-x="659" d="M61 424zM61 424v250h537v-250h-537z" />
-<glyph unicode="&#xae;" horiz-adv-x="1704" d="M1157 905q0 -170 -143 -233l237 -400h-254l-178 338h-47v-338h-229v916h264q181 0 265.5 -70t84.5 -213zM772 778h31q66 0 94.5 28.5t28.5 94.5q0 65 -28 92t-97 27h-29v-242zM100 731q0 200 100 375t275 276t377 101q200 0 375 -100t276 -275t101 -377q0 -197 -97 -370 t-272 -277t-383 -104q-207 0 -382 103.5t-272.5 276.5t-97.5 371zM242 731q0 -164 82 -305.5t224 -223t304 -81.5q164 0 305.5 82t223 224t81.5 304q0 164 -82 305.5t-224 223t-304 81.5q-164 0 -305.5 -82t-223 -224t-81.5 -304z" />
-<glyph unicode="&#xaf;" horiz-adv-x="1024" d="M1030 1556h-1036v201h1036v-201z" />
-<glyph unicode="&#xb0;" horiz-adv-x="877" d="M92 1137q0 92 46 172t126 127t174 47q92 0 172.5 -46t127 -127t46.5 -173q0 -93 -46.5 -173.5t-126.5 -125.5t-173 -45q-145 0 -245.5 99.5t-100.5 244.5zM283 1137q0 -64 44.5 -109t110.5 -45t111 46t45 108q0 63 -45.5 110t-110.5 47q-64 0 -109.5 -46t-45.5 -111z" />
-<glyph unicode="&#xb1;" d="M475 674h-387v219h387v389h219v-389h387v-219h-387v-385h-219v385zM88 0v219h993v-219h-993z" />
-<glyph unicode="&#xb2;" horiz-adv-x="776" d="M702 586h-647v168l224 219q102 100 130.5 144.5t28.5 94.5q0 38 -24 58t-64 20q-81 0 -180 -88l-123 152q147 129 336 129q137 0 216 -66.5t79 -183.5q0 -85 -47 -160t-176 -192l-105 -95h352v-200z" />
-<glyph unicode="&#xb3;" horiz-adv-x="776" d="M666 1249q0 -143 -170 -198v-13q94 -20 146 -75t52 -134q0 -121 -88 -190.5t-274 -69.5q-143 0 -273 70v190q148 -90 271 -90q143 0 143 107q0 53 -44 79.5t-122 26.5h-112v160h92q83 0 123.5 26t40.5 83q0 38 -25 63t-76 25q-47 0 -89 -19t-99 -59l-101 141 q62 47 137.5 78t178.5 31q127 0 208 -64t81 -168z" />
-<glyph unicode="&#xb4;" horiz-adv-x="1243" d="M332 1241v27q172 200 235 301h342v-21q-52 -52 -177.5 -154.5t-196.5 -152.5h-203z" />
-<glyph unicode="&#xb5;" horiz-adv-x="1352" d="M465 465q0 -121 44 -181.5t138 -60.5q126 0 183 86.5t57 282.5v526h305v-1118h-231l-43 150h-15q-42 -85 -102 -127.5t-148 -42.5q-62 0 -114 23t-84 67l5 -85l5 -157v-320h-305v1610h305v-653z" />
-<glyph unicode="&#xb6;" horiz-adv-x="1341" d="M1167 -260h-161v1616h-166v-1616h-162v819q-62 -18 -146 -18q-216 0 -317.5 125t-101.5 376q0 260 109 387t341 127h604v-1816z" />
-<glyph unicode="&#xb7;" horiz-adv-x="584" d="M117 723q0 84 45 127t131 43q83 0 128.5 -44t45.5 -126q0 -81 -46.5 -125.5t-127.5 -44.5q-84 0 -130 44t-46 126z" />
-<glyph unicode="&#xb8;" horiz-adv-x="420" d="M418 -250q0 -128 -75.5 -185t-233.5 -57q-78 0 -146 21v168q27 -7 72.5 -14t70.5 -7q72 0 72 62q0 83 -166 108l78 154h193l-27 -61q74 -24 118 -74.5t44 -114.5z" />
-<glyph unicode="&#xb9;" horiz-adv-x="776" d="M584 586h-238v446l3 112l5 95q-27 -36 -75 -78l-78 -61l-109 127l301 235h191v-876z" />
-<glyph unicode="&#xba;" horiz-adv-x="795" d="M737 1116q0 -171 -91.5 -267.5t-250.5 -96.5q-153 0 -245.5 98.5t-92.5 265.5q0 169 89.5 266t252.5 97q152 0 245 -98.5t93 -264.5zM260 1116q0 -100 32.5 -150.5t104.5 -50.5t103.5 50.5t31.5 150.5t-31.5 149.5t-103.5 49.5t-104.5 -49.5t-32.5 -149.5z" />
-<glyph unicode="&#xbb;" horiz-adv-x="1260" d="M1178 547l-371 -453l-219 119l278 348l-278 348l219 119l371 -455v-26zM672 547l-371 -453l-219 119l278 348l-278 348l219 119l371 -455v-26z" />
-<glyph unicode="&#xbc;" horiz-adv-x="1804" d="M46 0zM538 586h-238v446l3 112l5 95q-27 -36 -75 -78l-78 -61l-109 127l301 235h191v-876zM1370 1462l-811 -1462h-239l811 1462h239zM1682 152h-125v-151h-238v151h-383v154l385 577h236v-563h125v-168zM1319 320v164q0 86 6 184q-9 -26 -35.5 -80t-41.5 -77l-127 -191 h198z" />
-<glyph unicode="&#xbd;" horiz-adv-x="1804" d="M46 0zM538 586h-238v446l3 112l5 95q-27 -36 -75 -78l-78 -61l-109 127l301 235h191v-876zM1370 1462l-811 -1462h-239l811 1462h239zM1716 1h-647v168l224 219q102 100 130.5 144.5t28.5 94.5q0 38 -24 58t-64 20q-81 0 -180 -88l-123 152q147 129 336 129 q137 0 216 -66.5t79 -183.5q0 -85 -47 -160t-176 -192l-105 -95h352v-200z" />
-<glyph unicode="&#xbe;" horiz-adv-x="1804" d="M90 0zM697 1249q0 -143 -170 -198v-13q94 -20 146 -75t52 -134q0 -121 -88 -190.5t-274 -69.5q-143 0 -273 70v190q148 -90 271 -90q143 0 143 107q0 53 -44 79.5t-122 26.5h-112v160h92q83 0 123.5 26t40.5 83q0 38 -25 63t-76 25q-47 0 -89 -19t-99 -59l-101 141 q62 47 137.5 78t178.5 31q127 0 208 -64t81 -168zM1441 1462l-811 -1462h-239l811 1462h239zM1712 152h-125v-151h-238v151h-383v154l385 577h236v-563h125v-168zM1349 320v164q0 86 6 184q-9 -26 -35.5 -80t-41.5 -77l-127 -191h198z" />
-<glyph unicode="&#xbf;" horiz-adv-x="977" d="M713 606v-74q0 -98 -44.5 -169t-152.5 -148q-109 -78 -137.5 -122t-28.5 -107q0 -57 43.5 -94t132.5 -37q79 0 169 29t186 71l102 -221q-98 -56 -221.5 -90.5t-229.5 -34.5q-220 0 -345.5 96.5t-125.5 265.5q0 108 48.5 187t191.5 184q95 70 121.5 107t26.5 98v59h264z M745 948q0 -84 -45 -127t-131 -43q-83 0 -128.5 44t-45.5 126q0 81 46.5 125.5t127.5 44.5q84 0 130 -44t46 -126z" />
-<glyph unicode="&#xc0;" horiz-adv-x="1413" d="M0 0zM1079 0l-106 348h-533l-106 -348h-334l516 1468h379l518 -1468h-334zM899 608q-147 473 -165.5 535t-26.5 98q-33 -128 -189 -633h381zM713 1579q-63 44 -185 142.5t-190 164.5v21h342q63 -101 235 -301v-27h-202z" />
-<glyph unicode="&#xc1;" horiz-adv-x="1413" d="M0 0zM1079 0l-106 348h-533l-106 -348h-334l516 1468h379l518 -1468h-334zM899 608q-147 473 -165.5 535t-26.5 98q-33 -128 -189 -633h381zM541 1579v27q172 200 235 301h342v-21q-52 -52 -177.5 -154.5t-196.5 -152.5h-203z" />
-<glyph unicode="&#xc2;" horiz-adv-x="1413" d="M0 0zM1079 0l-106 348h-533l-106 -348h-334l516 1468h379l518 -1468h-334zM899 608q-147 473 -165.5 535t-26.5 98q-33 -128 -189 -633h381zM938 1579q-157 93 -234 176q-78 -81 -229 -176h-203v27q189 189 256 301h357q31 -52 107.5 -141.5t148.5 -159.5v-27h-203z" />
-<glyph unicode="&#xc3;" horiz-adv-x="1413" d="M0 0zM1079 0l-106 348h-533l-106 -348h-334l516 1468h379l518 -1468h-334zM899 608q-147 473 -165.5 535t-26.5 98q-33 -128 -189 -633h381zM543 1684q-31 0 -59.5 -26.5t-41.5 -80.5h-149q11 145 82.5 227t189.5 82q41 0 80.5 -16.5t78 -36t75.5 -35.5t73 -16 q31 0 59.5 26t41.5 80h149q-11 -145 -83.5 -227t-188.5 -82q-41 0 -80.5 16.5t-78 36t-75.5 36t-73 16.5z" />
-<glyph unicode="&#xc4;" horiz-adv-x="1413" d="M0 0zM1079 0l-106 348h-533l-106 -348h-334l516 1468h379l518 -1468h-334zM899 608q-147 473 -165.5 535t-26.5 98q-33 -128 -189 -633h381zM365 1743q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5t-103 -36.5q-64 0 -101.5 35t-37.5 98zM768 1743 q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99q0 -61 -39 -97t-103 -36q-60 0 -100.5 32.5t-40.5 100.5z" />
-<glyph unicode="&#xc5;" horiz-adv-x="1413" d="M0 0zM1079 0l-106 348h-533l-106 -348h-334l516 1468h379l518 -1468h-334zM899 608q-147 473 -165.5 535t-26.5 98q-33 -128 -189 -633h381zM959 1567q0 -108 -71 -174t-183 -66t-180 64t-68 174q0 108 67.5 172.5t180.5 64.5q110 0 182 -66t72 -169zM801 1565 q0 45 -27 70.5t-69 25.5t-69 -25.5t-27 -70.5t24 -71t72 -26q42 0 69 26t27 71z" />
-<glyph unicode="&#xc6;" horiz-adv-x="1950" d="M1829 0h-873v348h-491l-150 -348h-315l655 1462h1174v-254h-563v-321h526v-254h-526v-377h563v-256zM578 608h378v590h-127z" />
-<glyph unicode="&#xc7;" horiz-adv-x="1305" d="M119 0zM805 1225q-175 0 -271 -131.5t-96 -366.5q0 -489 367 -489q154 0 373 77v-260q-180 -75 -402 -75q-319 0 -488 193.5t-169 555.5q0 228 83 399.5t238.5 263t364.5 91.5q213 0 428 -103l-100 -252q-82 39 -165 68t-163 29zM959 -250q0 -128 -75.5 -185t-233.5 -57 q-78 0 -146 21v168q27 -7 72.5 -14t70.5 -7q72 0 72 62q0 83 -166 108l78 154h193l-27 -61q74 -24 118 -74.5t44 -114.5z" />
-<glyph unicode="&#xc8;" horiz-adv-x="1147" d="M184 0zM1026 0h-842v1462h842v-254h-532v-321h495v-254h-495v-377h532v-256zM634 1579q-63 44 -185 142.5t-190 164.5v21h342q63 -101 235 -301v-27h-202z" />
-<glyph unicode="&#xc9;" horiz-adv-x="1147" d="M184 0zM1026 0h-842v1462h842v-254h-532v-321h495v-254h-495v-377h532v-256zM424 1579v27q172 200 235 301h342v-21q-52 -52 -177.5 -154.5t-196.5 -152.5h-203z" />
-<glyph unicode="&#xca;" horiz-adv-x="1147" d="M175 0zM1026 0h-842v1462h842v-254h-532v-321h495v-254h-495v-377h532v-256zM841 1579q-157 93 -234 176q-78 -81 -229 -176h-203v27q189 189 256 301h357q31 -52 107.5 -141.5t148.5 -159.5v-27h-203z" />
-<glyph unicode="&#xcb;" horiz-adv-x="1147" d="M184 0zM1026 0h-842v1462h842v-254h-532v-321h495v-254h-495v-377h532v-256zM272 1743q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5t-103 -36.5q-64 0 -101.5 35t-37.5 98zM675 1743q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99 q0 -61 -39 -97t-103 -36q-60 0 -100.5 32.5t-40.5 100.5z" />
-<glyph unicode="&#xcc;" horiz-adv-x="678" d="M0 0zM184 0v1462h310v-1462h-310zM317 1579q-63 44 -185 142.5t-190 164.5v21h342q63 -101 235 -301v-27h-202z" />
-<glyph unicode="&#xcd;" horiz-adv-x="678" d="M167 0zM184 0v1462h310v-1462h-310zM167 1579v27q172 200 235 301h342v-21q-52 -52 -177.5 -154.5t-196.5 -152.5h-203z" />
-<glyph unicode="&#xce;" horiz-adv-x="678" d="M0 0zM184 0v1462h310v-1462h-310zM570 1579q-157 93 -234 176q-78 -81 -229 -176h-203v27q189 189 256 301h357q31 -52 107.5 -141.5t148.5 -159.5v-27h-203z" />
-<glyph unicode="&#xcf;" horiz-adv-x="678" d="M0 0zM184 0v1462h310v-1462h-310zM-3 1743q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5t-103 -36.5q-64 0 -101.5 35t-37.5 98zM400 1743q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99q0 -61 -39 -97t-103 -36q-60 0 -100.5 32.5 t-40.5 100.5z" />
-<glyph unicode="&#xd0;" horiz-adv-x="1516" d="M47 850h137v612h459q358 0 556 -189t198 -528q0 -361 -205.5 -553t-593.5 -192h-414v596h-137v254zM1075 737q0 232 -104 351.5t-314 119.5h-163v-358h237v-254h-237v-340h131q450 0 450 481z" />
-<glyph unicode="&#xd1;" horiz-adv-x="1665" d="M184 0zM1481 0h-394l-636 1106h-9q19 -293 19 -418v-688h-277v1462h391l635 -1095h7q-15 285 -15 403v692h279v-1462zM668 1684q-31 0 -59.5 -26.5t-41.5 -80.5h-149q11 145 82.5 227t189.5 82q41 0 80.5 -16.5t78 -36t75.5 -35.5t73 -16q31 0 59.5 26t41.5 80h149 q-11 -145 -83.5 -227t-188.5 -82q-41 0 -80.5 16.5t-78 36t-75.5 36t-73 16.5z" />
-<glyph unicode="&#xd2;" horiz-adv-x="1630" d="M119 0zM1511 733q0 -363 -180 -558t-516 -195t-516 195t-180 560t180.5 557.5t517.5 192.5t515.5 -194t178.5 -558zM444 733q0 -245 93 -369t278 -124q371 0 371 493q0 494 -369 494q-185 0 -279 -124.5t-94 -369.5zM824 1579q-63 44 -185 142.5t-190 164.5v21h342 q63 -101 235 -301v-27h-202z" />
-<glyph unicode="&#xd3;" horiz-adv-x="1630" d="M119 0zM1511 733q0 -363 -180 -558t-516 -195t-516 195t-180 560t180.5 557.5t517.5 192.5t515.5 -194t178.5 -558zM444 733q0 -245 93 -369t278 -124q371 0 371 493q0 494 -369 494q-185 0 -279 -124.5t-94 -369.5zM658 1579v27q172 200 235 301h342v-21 q-52 -52 -177.5 -154.5t-196.5 -152.5h-203z" />
-<glyph unicode="&#xd4;" horiz-adv-x="1630" d="M119 0zM1511 733q0 -363 -180 -558t-516 -195t-516 195t-180 560t180.5 557.5t517.5 192.5t515.5 -194t178.5 -558zM444 733q0 -245 93 -369t278 -124q371 0 371 493q0 494 -369 494q-185 0 -279 -124.5t-94 -369.5zM1047 1579q-157 93 -234 176q-78 -81 -229 -176h-203 v27q189 189 256 301h357q31 -52 107.5 -141.5t148.5 -159.5v-27h-203z" />
-<glyph unicode="&#xd5;" horiz-adv-x="1630" d="M119 0zM1511 733q0 -363 -180 -558t-516 -195t-516 195t-180 560t180.5 557.5t517.5 192.5t515.5 -194t178.5 -558zM444 733q0 -245 93 -369t278 -124q371 0 371 493q0 494 -369 494q-185 0 -279 -124.5t-94 -369.5zM652 1684q-31 0 -59.5 -26.5t-41.5 -80.5h-149 q11 145 82.5 227t189.5 82q41 0 80.5 -16.5t78 -36t75.5 -35.5t73 -16q31 0 59.5 26t41.5 80h149q-11 -145 -83.5 -227t-188.5 -82q-41 0 -80.5 16.5t-78 36t-75.5 36t-73 16.5z" />
-<glyph unicode="&#xd6;" horiz-adv-x="1630" d="M119 0zM1511 733q0 -363 -180 -558t-516 -195t-516 195t-180 560t180.5 557.5t517.5 192.5t515.5 -194t178.5 -558zM444 733q0 -245 93 -369t278 -124q371 0 371 493q0 494 -369 494q-185 0 -279 -124.5t-94 -369.5zM474 1743q0 65 37.5 100t101.5 35q66 0 103.5 -37 t37.5 -98q0 -60 -38 -96.5t-103 -36.5q-64 0 -101.5 35t-37.5 98zM877 1743q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99q0 -61 -39 -97t-103 -36q-60 0 -100.5 32.5t-40.5 100.5z" />
-<glyph unicode="&#xd7;" d="M428 723l-299 301l152 154l301 -299l305 299l153 -150l-305 -305l301 -303l-149 -152l-305 301l-301 -299l-150 152z" />
-<glyph unicode="&#xd8;" horiz-adv-x="1630" d="M1511 733q0 -363 -180 -558t-516 -195q-197 0 -336 65l-90 -135l-162 108l90 136q-198 194 -198 581q0 365 180.5 557.5t517.5 192.5q198 0 344 -70l84 125l160 -104l-88 -131q194 -194 194 -572zM444 733q0 -191 56 -307l506 756q-84 45 -189 45q-185 0 -279 -124.5 t-94 -369.5zM1186 733q0 180 -51 297l-500 -751q76 -39 180 -39q371 0 371 493z" />
-<glyph unicode="&#xd9;" horiz-adv-x="1548" d="M174 0zM1374 1462v-946q0 -162 -72.5 -284t-209.5 -187t-324 -65q-282 0 -438 144.5t-156 395.5v942h309v-895q0 -169 68 -248t225 -79q152 0 220.5 79.5t68.5 249.5v893h309zM750 1579q-63 44 -185 142.5t-190 164.5v21h342q63 -101 235 -301v-27h-202z" />
-<glyph unicode="&#xda;" horiz-adv-x="1548" d="M174 0zM1374 1462v-946q0 -162 -72.5 -284t-209.5 -187t-324 -65q-282 0 -438 144.5t-156 395.5v942h309v-895q0 -169 68 -248t225 -79q152 0 220.5 79.5t68.5 249.5v893h309zM602 1579v27q172 200 235 301h342v-21q-52 -52 -177.5 -154.5t-196.5 -152.5h-203z" />
-<glyph unicode="&#xdb;" horiz-adv-x="1548" d="M174 0zM1374 1462v-946q0 -162 -72.5 -284t-209.5 -187t-324 -65q-282 0 -438 144.5t-156 395.5v942h309v-895q0 -169 68 -248t225 -79q152 0 220.5 79.5t68.5 249.5v893h309zM1006 1579q-157 93 -234 176q-78 -81 -229 -176h-203v27q189 189 256 301h357 q31 -52 107.5 -141.5t148.5 -159.5v-27h-203z" />
-<glyph unicode="&#xdc;" horiz-adv-x="1548" d="M174 0zM1374 1462v-946q0 -162 -72.5 -284t-209.5 -187t-324 -65q-282 0 -438 144.5t-156 395.5v942h309v-895q0 -169 68 -248t225 -79q152 0 220.5 79.5t68.5 249.5v893h309zM433 1743q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5t-103 -36.5 q-64 0 -101.5 35t-37.5 98zM836 1743q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99q0 -61 -39 -97t-103 -36q-60 0 -100.5 32.5t-40.5 100.5z" />
-<glyph unicode="&#xdd;" horiz-adv-x="1278" d="M0 0zM639 860l305 602h334l-485 -893v-569h-308v559l-485 903h336zM461 1579v27q172 200 235 301h342v-21q-52 -52 -177.5 -154.5t-196.5 -152.5h-203z" />
-<glyph unicode="&#xde;" horiz-adv-x="1286" d="M1194 770q0 -229 -142.5 -353t-404.5 -124h-153v-293h-310v1462h310v-229h178q254 0 388 -119t134 -344zM494 543h100q145 0 216 52.5t71 174.5q0 107 -63.5 159t-199.5 52h-124v-438z" />
-<glyph unicode="&#xdf;" horiz-adv-x="1456" d="M1249 1241q0 -64 -21 -112.5t-53 -86.5t-69 -67t-69 -53t-53 -45t-21 -43q0 -27 26.5 -53t92.5 -66q146 -91 198.5 -140t78 -110t25.5 -139q0 -172 -116.5 -259t-343.5 -87q-99 0 -171 14.5t-132 48.5v242q53 -36 135.5 -61t146.5 -25q168 0 168 123q0 41 -16 66.5 t-57 55.5t-115 72q-126 72 -175 131.5t-49 140.5q0 64 35 117t105 102q77 55 108 95t31 86q0 60 -63.5 100.5t-163.5 40.5q-116 0 -181 -52.5t-65 -148.5v-1128h-305v1139q0 201 146.5 314.5t404.5 113.5q244 0 391 -88.5t147 -237.5z" />
-<glyph unicode="&#xe0;" horiz-adv-x="1237" d="M86 0zM870 0l-59 152h-8q-77 -97 -158.5 -134.5t-212.5 -37.5q-161 0 -253.5 92t-92.5 262q0 178 124.5 262.5t375.5 93.5l194 6v49q0 170 -174 170q-134 0 -315 -81l-101 206q193 101 428 101q225 0 345 -98t120 -298v-745h-213zM780 518l-118 -4q-133 -4 -198 -48 t-65 -134q0 -129 148 -129q106 0 169.5 61t63.5 162v92zM614 1241q-63 44 -185 142.5t-190 164.5v21h342q63 -101 235 -301v-27h-202z" />
-<glyph unicode="&#xe1;" horiz-adv-x="1237" d="M86 0zM870 0l-59 152h-8q-77 -97 -158.5 -134.5t-212.5 -37.5q-161 0 -253.5 92t-92.5 262q0 178 124.5 262.5t375.5 93.5l194 6v49q0 170 -174 170q-134 0 -315 -81l-101 206q193 101 428 101q225 0 345 -98t120 -298v-745h-213zM780 518l-118 -4q-133 -4 -198 -48 t-65 -134q0 -129 148 -129q106 0 169.5 61t63.5 162v92zM441 1241v27q172 200 235 301h342v-21q-52 -52 -177.5 -154.5t-196.5 -152.5h-203z" />
-<glyph unicode="&#xe2;" horiz-adv-x="1237" d="M86 0zM870 0l-59 152h-8q-77 -97 -158.5 -134.5t-212.5 -37.5q-161 0 -253.5 92t-92.5 262q0 178 124.5 262.5t375.5 93.5l194 6v49q0 170 -174 170q-134 0 -315 -81l-101 206q193 101 428 101q225 0 345 -98t120 -298v-745h-213zM780 518l-118 -4q-133 -4 -198 -48 t-65 -134q0 -129 148 -129q106 0 169.5 61t63.5 162v92zM843 1240q-157 93 -234 176q-78 -81 -229 -176h-203v27q189 189 256 301h357q31 -52 107.5 -141.5t148.5 -159.5v-27h-203z" />
-<glyph unicode="&#xe3;" horiz-adv-x="1237" d="M86 0zM870 0l-59 152h-8q-77 -97 -158.5 -134.5t-212.5 -37.5q-161 0 -253.5 92t-92.5 262q0 178 124.5 262.5t375.5 93.5l194 6v49q0 170 -174 170q-134 0 -315 -81l-101 206q193 101 428 101q225 0 345 -98t120 -298v-745h-213zM780 518l-118 -4q-133 -4 -198 -48 t-65 -134q0 -129 148 -129q106 0 169.5 61t63.5 162v92zM467 1346q-31 0 -59.5 -26.5t-41.5 -80.5h-149q11 145 82.5 227t189.5 82q41 0 80.5 -16.5t78 -36t75.5 -35.5t73 -16q31 0 59.5 26t41.5 80h149q-11 -145 -83.5 -227t-188.5 -82q-41 0 -80.5 16.5t-78 36t-75.5 36 t-73 16.5z" />
-<glyph unicode="&#xe4;" horiz-adv-x="1237" d="M86 0zM870 0l-59 152h-8q-77 -97 -158.5 -134.5t-212.5 -37.5q-161 0 -253.5 92t-92.5 262q0 178 124.5 262.5t375.5 93.5l194 6v49q0 170 -174 170q-134 0 -315 -81l-101 206q193 101 428 101q225 0 345 -98t120 -298v-745h-213zM780 518l-118 -4q-133 -4 -198 -48 t-65 -134q0 -129 148 -129q106 0 169.5 61t63.5 162v92zM285 1405q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5t-103 -36.5q-64 0 -101.5 35t-37.5 98zM688 1405q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99q0 -61 -39 -97t-103 -36 q-60 0 -100.5 32.5t-40.5 100.5z" />
-<glyph unicode="&#xe5;" horiz-adv-x="1237" d="M86 0zM870 0l-59 152h-8q-77 -97 -158.5 -134.5t-212.5 -37.5q-161 0 -253.5 92t-92.5 262q0 178 124.5 262.5t375.5 93.5l194 6v49q0 170 -174 170q-134 0 -315 -81l-101 206q193 101 428 101q225 0 345 -98t120 -298v-745h-213zM780 518l-118 -4q-133 -4 -198 -48 t-65 -134q0 -129 148 -129q106 0 169.5 61t63.5 162v92zM883 1479q0 -108 -71 -174t-183 -66t-180 64t-68 174q0 108 67.5 172.5t180.5 64.5q110 0 182 -66t72 -169zM725 1477q0 45 -27 70.5t-69 25.5t-69 -25.5t-27 -70.5t24 -71t72 -26q42 0 69 26t27 71z" />
-<glyph unicode="&#xe6;" horiz-adv-x="1878" d="M1329 -20q-137 0 -249.5 50.5t-184.5 155.5q-98 -117 -196.5 -161.5t-256.5 -44.5q-161 0 -258.5 94.5t-97.5 259.5q0 178 121 262.5t362 93.5l191 6v84q0 69 -44.5 102t-121.5 33q-140 0 -305 -77l-99 202q189 101 422 101q227 0 342 -131q66 64 152.5 96.5t206.5 32.5 q221 0 349 -137.5t128 -370.5v-148h-723q5 -130 77 -203t202 -73q196 0 380 88v-236q-79 -39 -171 -59t-226 -20zM760 518l-113 -4q-124 -4 -186 -47.5t-62 -134.5q0 -129 140 -129q101 0 161 61t60 162v92zM1307 922q-217 0 -234 -236h430q-2 112 -55 174t-141 62z" />
-<glyph unicode="&#xe7;" horiz-adv-x="1053" d="M92 0zM614 -20q-522 0 -522 573q0 285 142 435.5t407 150.5q194 0 348 -76l-90 -236q-72 29 -134 47.5t-124 18.5q-238 0 -238 -338q0 -328 238 -328q88 0 163 23.5t150 73.5v-261q-74 -47 -149.5 -65t-190.5 -18zM805 -250q0 -128 -75.5 -185t-233.5 -57q-78 0 -146 21 v168q27 -7 72.5 -14t70.5 -7q72 0 72 62q0 83 -166 108l78 154h193l-27 -61q74 -24 118 -74.5t44 -114.5z" />
-<glyph unicode="&#xe8;" horiz-adv-x="1210" d="M92 0zM623 922q-97 0 -152 -61.5t-63 -174.5h428q-2 113 -59 174.5t-154 61.5zM666 -20q-270 0 -422 149t-152 422q0 281 140.5 434.5t388.5 153.5q237 0 369 -135t132 -373v-148h-721q5 -130 77 -203t202 -73q101 0 191 21t188 67v-236q-80 -40 -171 -59.5t-222 -19.5z M620 1241q-63 44 -185 142.5t-190 164.5v21h342q63 -101 235 -301v-27h-202z" />
-<glyph unicode="&#xe9;" horiz-adv-x="1210" d="M92 0zM623 922q-97 0 -152 -61.5t-63 -174.5h428q-2 113 -59 174.5t-154 61.5zM666 -20q-270 0 -422 149t-152 422q0 281 140.5 434.5t388.5 153.5q237 0 369 -135t132 -373v-148h-721q5 -130 77 -203t202 -73q101 0 191 21t188 67v-236q-80 -40 -171 -59.5t-222 -19.5z M447 1241v27q172 200 235 301h342v-21q-52 -52 -177.5 -154.5t-196.5 -152.5h-203z" />
-<glyph unicode="&#xea;" horiz-adv-x="1210" d="M92 0zM623 922q-97 0 -152 -61.5t-63 -174.5h428q-2 113 -59 174.5t-154 61.5zM666 -20q-270 0 -422 149t-152 422q0 281 140.5 434.5t388.5 153.5q237 0 369 -135t132 -373v-148h-721q5 -130 77 -203t202 -73q101 0 191 21t188 67v-236q-80 -40 -171 -59.5t-222 -19.5z M860 1241q-157 93 -234 176q-78 -81 -229 -176h-203v27q189 189 256 301h357q31 -52 107.5 -141.5t148.5 -159.5v-27h-203z" />
-<glyph unicode="&#xeb;" horiz-adv-x="1210" d="M92 0zM623 922q-97 0 -152 -61.5t-63 -174.5h428q-2 113 -59 174.5t-154 61.5zM666 -20q-270 0 -422 149t-152 422q0 281 140.5 434.5t388.5 153.5q237 0 369 -135t132 -373v-148h-721q5 -130 77 -203t202 -73q101 0 191 21t188 67v-236q-80 -40 -171 -59.5t-222 -19.5z M297 1405q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5t-103 -36.5q-64 0 -101.5 35t-37.5 98zM700 1405q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99q0 -61 -39 -97t-103 -36q-60 0 -100.5 32.5t-40.5 100.5z" />
-<glyph unicode="&#xec;" horiz-adv-x="625" d="M0 0zM465 0h-305v1118h305v-1118zM274 1241q-63 44 -185 142.5t-190 164.5v21h342q63 -101 235 -301v-27h-202z" />
-<glyph unicode="&#xed;" horiz-adv-x="625" d="M145 0zM465 0h-305v1118h305v-1118zM145 1241v27q172 200 235 301h342v-21q-52 -52 -177.5 -154.5t-196.5 -152.5h-203z" />
-<glyph unicode="&#xee;" horiz-adv-x="625" d="M0 0zM465 0h-305v1118h305v-1118zM544 1241q-157 93 -234 176q-78 -81 -229 -176h-203v27q189 189 256 301h357q31 -52 107.5 -141.5t148.5 -159.5v-27h-203z" />
-<glyph unicode="&#xef;" horiz-adv-x="625" d="M0 0zM465 0h-305v1118h305v-1118zM-29 1405q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5t-103 -36.5q-64 0 -101.5 35t-37.5 98zM374 1405q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99q0 -61 -39 -97t-103 -36q-60 0 -100.5 32.5 t-40.5 100.5z" />
-<glyph unicode="&#xf0;" horiz-adv-x="1268" d="M510 1303q-80 53 -152 92l101 176q144 -65 258 -141l225 139l100 -154l-170 -104q156 -143 230 -324.5t74 -413.5q0 -280 -145 -436.5t-400 -156.5q-245 0 -392 137t-147 372q0 233 130 369.5t351 136.5q205 0 275 -98l8 4q-67 162 -192 281l-230 -142l-100 156zM864 532 q0 108 -61 173t-168 65q-121 0 -176.5 -68.5t-55.5 -214.5q0 -140 60 -211t172 -71q123 0 176 82t53 245z" />
-<glyph unicode="&#xf1;" horiz-adv-x="1346" d="M160 0zM1192 0h-305v653q0 121 -43 181.5t-137 60.5q-128 0 -185 -85.5t-57 -283.5v-526h-305v1118h233l41 -143h17q51 81 140.5 122.5t203.5 41.5q195 0 296 -105.5t101 -304.5v-729zM508 1346q-31 0 -59.5 -26.5t-41.5 -80.5h-149q11 145 82.5 227t189.5 82 q41 0 80.5 -16.5t78 -36t75.5 -35.5t73 -16q31 0 59.5 26t41.5 80h149q-11 -145 -83.5 -227t-188.5 -82q-41 0 -80.5 16.5t-78 36t-75.5 36t-73 16.5z" />
-<glyph unicode="&#xf2;" horiz-adv-x="1268" d="M92 0zM403 561q0 -166 54.5 -251t177.5 -85q122 0 175.5 84.5t53.5 251.5q0 166 -54 249t-177 83q-122 0 -176 -82.5t-54 -249.5zM1176 561q0 -273 -144 -427t-401 -154q-161 0 -284 70.5t-189 202.5t-66 308q0 274 143 426t402 152q161 0 284 -70t189 -201t66 -307z M612 1241q-63 44 -185 142.5t-190 164.5v21h342q63 -101 235 -301v-27h-202z" />
-<glyph unicode="&#xf3;" horiz-adv-x="1268" d="M92 0zM403 561q0 -166 54.5 -251t177.5 -85q122 0 175.5 84.5t53.5 251.5q0 166 -54 249t-177 83q-122 0 -176 -82.5t-54 -249.5zM1176 561q0 -273 -144 -427t-401 -154q-161 0 -284 70.5t-189 202.5t-66 308q0 274 143 426t402 152q161 0 284 -70t189 -201t66 -307z M467 1241v27q172 200 235 301h342v-21q-52 -52 -177.5 -154.5t-196.5 -152.5h-203z" />
-<glyph unicode="&#xf4;" horiz-adv-x="1268" d="M92 0zM403 561q0 -166 54.5 -251t177.5 -85q122 0 175.5 84.5t53.5 251.5q0 166 -54 249t-177 83q-122 0 -176 -82.5t-54 -249.5zM1176 561q0 -273 -144 -427t-401 -154q-161 0 -284 70.5t-189 202.5t-66 308q0 274 143 426t402 152q161 0 284 -70t189 -201t66 -307z M864 1241q-157 93 -234 176q-78 -81 -229 -176h-203v27q189 189 256 301h357q31 -52 107.5 -141.5t148.5 -159.5v-27h-203z" />
-<glyph unicode="&#xf5;" horiz-adv-x="1268" d="M92 0zM403 561q0 -166 54.5 -251t177.5 -85q122 0 175.5 84.5t53.5 251.5q0 166 -54 249t-177 83q-122 0 -176 -82.5t-54 -249.5zM1176 561q0 -273 -144 -427t-401 -154q-161 0 -284 70.5t-189 202.5t-66 308q0 274 143 426t402 152q161 0 284 -70t189 -201t66 -307z M469 1346q-31 0 -59.5 -26.5t-41.5 -80.5h-149q11 145 82.5 227t189.5 82q41 0 80.5 -16.5t78 -36t75.5 -35.5t73 -16q31 0 59.5 26t41.5 80h149q-11 -145 -83.5 -227t-188.5 -82q-41 0 -80.5 16.5t-78 36t-75.5 36t-73 16.5z" />
-<glyph unicode="&#xf6;" horiz-adv-x="1268" d="M92 0zM403 561q0 -166 54.5 -251t177.5 -85q122 0 175.5 84.5t53.5 251.5q0 166 -54 249t-177 83q-122 0 -176 -82.5t-54 -249.5zM1176 561q0 -273 -144 -427t-401 -154q-161 0 -284 70.5t-189 202.5t-66 308q0 274 143 426t402 152q161 0 284 -70t189 -201t66 -307z M291 1405q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5t-103 -36.5q-64 0 -101.5 35t-37.5 98zM694 1405q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99q0 -61 -39 -97t-103 -36q-60 0 -100.5 32.5t-40.5 100.5z" />
-<glyph unicode="&#xf7;" d="M88 612v219h993v-219h-993zM444 373q0 76 37 113.5t103 37.5t102.5 -39t36.5 -112q0 -70 -37 -111t-102 -41t-102.5 39t-37.5 113zM444 1071q0 75 37 113.5t103 38.5q67 0 103 -40.5t36 -111.5q0 -70 -37 -110.5t-102 -40.5t-102.5 39t-37.5 112z" />
-<glyph unicode="&#xf8;" horiz-adv-x="1268" d="M1176 561q0 -273 -144 -427t-401 -154q-126 0 -234 45l-67 -101l-154 105l68 100q-152 156 -152 432q0 274 143 426t402 152q132 0 248 -52l55 82l152 -108l-58 -84q142 -155 142 -416zM403 561q0 -94 19 -166l317 475q-43 23 -106 23q-122 0 -176 -82.5t-54 -249.5z M864 561q0 81 -12 141l-309 -462q38 -15 92 -15q122 0 175.5 84.5t53.5 251.5z" />
-<glyph unicode="&#xf9;" horiz-adv-x="1346" d="M154 0zM952 0l-41 143h-16q-49 -78 -139 -120.5t-205 -42.5q-197 0 -297 105.5t-100 303.5v729h305v-653q0 -121 43 -181.5t137 -60.5q128 0 185 85.5t57 283.5v526h305v-1118h-234zM620 1241q-63 44 -185 142.5t-190 164.5v21h342q63 -101 235 -301v-27h-202z" />
-<glyph unicode="&#xfa;" horiz-adv-x="1346" d="M154 0zM952 0l-41 143h-16q-49 -78 -139 -120.5t-205 -42.5q-197 0 -297 105.5t-100 303.5v729h305v-653q0 -121 43 -181.5t137 -60.5q128 0 185 85.5t57 283.5v526h305v-1118h-234zM498 1241v27q172 200 235 301h342v-21q-52 -52 -177.5 -154.5t-196.5 -152.5h-203z" />
-<glyph unicode="&#xfb;" horiz-adv-x="1346" d="M154 0zM952 0l-41 143h-16q-49 -78 -139 -120.5t-205 -42.5q-197 0 -297 105.5t-100 303.5v729h305v-653q0 -121 43 -181.5t137 -60.5q128 0 185 85.5t57 283.5v526h305v-1118h-234zM901 1241q-157 93 -234 176q-78 -81 -229 -176h-203v27q189 189 256 301h357 q31 -52 107.5 -141.5t148.5 -159.5v-27h-203z" />
-<glyph unicode="&#xfc;" horiz-adv-x="1346" d="M154 0zM952 0l-41 143h-16q-49 -78 -139 -120.5t-205 -42.5q-197 0 -297 105.5t-100 303.5v729h305v-653q0 -121 43 -181.5t137 -60.5q128 0 185 85.5t57 283.5v526h305v-1118h-234zM326 1405q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5 t-103 -36.5q-64 0 -101.5 35t-37.5 98zM729 1405q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99q0 -61 -39 -97t-103 -36q-60 0 -100.5 32.5t-40.5 100.5z" />
-<glyph unicode="&#xfd;" horiz-adv-x="1165" d="M0 0zM0 1118h334l211 -629q27 -82 37 -194h6q11 103 43 194l207 629h327l-473 -1261q-65 -175 -185.5 -262t-281.5 -87q-79 0 -155 17v242q55 -13 120 -13q81 0 141.5 49.5t94.5 149.5l18 55zM393 1241v27q172 200 235 301h342v-21q-52 -52 -177.5 -154.5t-196.5 -152.5 h-203z" />
-<glyph unicode="&#xfe;" horiz-adv-x="1296" d="M465 973q50 81 131 123.5t186 42.5q198 0 310 -154.5t112 -423.5q0 -273 -111.5 -427t-310.5 -154q-213 0 -317 137h-14l7 -62l7 -94v-453h-305v2048h305v-391l-7 -120l-7 -72h14zM684 895q-113 0 -165 -69.5t-54 -229.5v-33q0 -180 53.5 -258t169.5 -78q205 0 205 338 q0 165 -50.5 247.5t-158.5 82.5z" />
-<glyph unicode="&#xff;" horiz-adv-x="1165" d="M0 0zM0 1118h334l211 -629q27 -82 37 -194h6q11 103 43 194l207 629h327l-473 -1261q-65 -175 -185.5 -262t-281.5 -87q-79 0 -155 17v242q55 -13 120 -13q81 0 141.5 49.5t94.5 149.5l18 55zM243 1405q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5 t-103 -36.5q-64 0 -101.5 35t-37.5 98zM646 1405q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99q0 -61 -39 -97t-103 -36q-60 0 -100.5 32.5t-40.5 100.5z" />
-<glyph unicode="&#x131;" horiz-adv-x="625" d="M465 0h-305v1118h305v-1118z" />
-<glyph unicode="&#x152;" horiz-adv-x="1993" d="M1872 0h-873q-38 -9 -109 -14.5t-116 -5.5q-319 0 -487 197t-168 558q0 363 169.5 556.5t487.5 193.5q61 0 127 -7t101 -16h868v-254h-563v-321h526v-254h-526v-377h563v-256zM776 1227q-166 0 -252 -125.5t-86 -368.5q0 -244 86 -368.5t250 -124.5q65 0 126 10.5 t99 28.5v907q-35 19 -101.5 30t-121.5 11z" />
-<glyph unicode="&#x153;" horiz-adv-x="2003" d="M1446 -20q-271 0 -420 155q-141 -155 -391 -155q-162 0 -286 70t-190.5 202t-66.5 309q0 277 141.5 427.5t399.5 150.5q112 0 212 -39.5t171 -116.5q144 156 383 156q244 0 380 -135t136 -373v-148h-746v-8q7 -127 81.5 -197.5t207.5 -70.5q107 0 200 21t193 67v-236 q-81 -39 -175.5 -59t-229.5 -20zM403 561q0 -166 54.5 -251t177.5 -85q122 0 175.5 84.5t53.5 251.5q0 166 -54 249t-177 83q-122 0 -176 -82.5t-54 -249.5zM1405 922q-94 0 -156 -57.5t-71 -178.5h450q-2 111 -60.5 173.5t-162.5 62.5z" />
-<glyph unicode="&#x178;" horiz-adv-x="1278" d="M0 0zM639 860l305 602h334l-485 -893v-569h-308v559l-485 903h336zM297 1743q0 65 37.5 100t101.5 35q66 0 103.5 -37t37.5 -98q0 -60 -38 -96.5t-103 -36.5q-64 0 -101.5 35t-37.5 98zM700 1743q0 70 40.5 102.5t100.5 32.5q65 0 103.5 -36t38.5 -99q0 -61 -39 -97 t-103 -36q-60 0 -100.5 32.5t-40.5 100.5z" />
-<glyph unicode="&#x2c6;" horiz-adv-x="1243" d="M852 1241q-157 93 -234 176q-78 -81 -229 -176h-203v27q189 189 256 301h357q31 -52 107.5 -141.5t148.5 -159.5v-27h-203z" />
-<glyph unicode="&#x2da;" horiz-adv-x="1182" d="M842 1479q0 -108 -71 -174t-183 -66t-180 64t-68 174q0 108 67.5 172.5t180.5 64.5q110 0 182 -66t72 -169zM684 1477q0 45 -27 70.5t-69 25.5t-69 -25.5t-27 -70.5t24 -71t72 -26q42 0 69 26t27 71z" />
-<glyph unicode="&#x2dc;" horiz-adv-x="1243" d="M457 1346q-31 0 -59.5 -26.5t-41.5 -80.5h-149q11 145 82.5 227t189.5 82q41 0 80.5 -16.5t78 -36t75.5 -35.5t73 -16q31 0 59.5 26t41.5 80h149q-11 -145 -83.5 -227t-188.5 -82q-41 0 -80.5 16.5t-78 36t-75.5 36t-73 16.5z" />
-<glyph unicode="&#x2000;" horiz-adv-x="953" />
-<glyph unicode="&#x2001;" horiz-adv-x="1907" />
-<glyph unicode="&#x2002;" horiz-adv-x="953" />
-<glyph unicode="&#x2003;" horiz-adv-x="1907" />
-<glyph unicode="&#x2004;" horiz-adv-x="635" />
-<glyph unicode="&#x2005;" horiz-adv-x="476" />
-<glyph unicode="&#x2006;" horiz-adv-x="317" />
-<glyph unicode="&#x2007;" horiz-adv-x="317" />
-<glyph unicode="&#x2008;" horiz-adv-x="238" />
-<glyph unicode="&#x2009;" horiz-adv-x="381" />
-<glyph unicode="&#x200a;" horiz-adv-x="105" />
-<glyph unicode="&#x2010;" horiz-adv-x="659" d="M61 424v250h537v-250h-537z" />
-<glyph unicode="&#x2011;" horiz-adv-x="659" d="M61 424v250h537v-250h-537z" />
-<glyph unicode="&#x2012;" horiz-adv-x="659" d="M61 424v250h537v-250h-537z" />
-<glyph unicode="&#x2013;" horiz-adv-x="1024" d="M82 436v230h860v-230h-860z" />
-<glyph unicode="&#x2014;" horiz-adv-x="2048" d="M82 436v230h1884v-230h-1884z" />
-<glyph unicode="&#x2018;" horiz-adv-x="444" d="M39 961l-14 22q22 91 72.5 228.5t103.5 250.5h219q-66 -267 -101 -501h-280z" />
-<glyph unicode="&#x2019;" horiz-adv-x="444" d="M406 1462l14 -22q-50 -197 -176 -479h-219q69 296 100 501h281z" />
-<glyph unicode="&#x201a;" horiz-adv-x="596" d="M459 215q-52 -202 -176 -479h-220q65 266 101 502h280z" />
-<glyph unicode="&#x201c;" horiz-adv-x="911" d="M492 983q22 91 72.5 228.5t103.5 250.5h219q-66 -267 -101 -501h-280zM25 983q22 91 72.5 228.5t103.5 250.5h219q-66 -267 -101 -501h-280z" />
-<glyph unicode="&#x201d;" horiz-adv-x="911" d="M420 1440q-50 -197 -176 -479h-219q69 296 100 501h281zM887 1440q-50 -197 -176 -479h-219q69 296 100 501h280z" />
-<glyph unicode="&#x201e;" horiz-adv-x="1061" d="M459 215q-52 -202 -176 -479h-220q65 266 101 502h280zM926 215q-52 -202 -176 -479h-220q65 266 101 502h280z" />
-<glyph unicode="&#x2022;" horiz-adv-x="770" d="M98 748q0 154 74 235.5t213 81.5q137 0 212 -82t75 -235q0 -152 -75.5 -235t-211.5 -83q-138 0 -212.5 83t-74.5 235z" />
-<glyph unicode="&#x2026;" horiz-adv-x="1751" d="M117 143q0 84 45 127t131 43q83 0 128.5 -44t45.5 -126q0 -79 -46 -124.5t-128 -45.5q-84 0 -130 44.5t-46 125.5zM700 143q0 84 45 127t132 43q83 0 128.5 -44t45.5 -126q0 -79 -46 -124.5t-128 -45.5q-85 0 -131 44.5t-46 125.5zM1284 143q0 84 45 127t131 43 q83 0 128.5 -44t45.5 -126q0 -79 -46 -124.5t-128 -45.5q-84 0 -130 44.5t-46 125.5z" />
-<glyph unicode="&#x202f;" horiz-adv-x="381" />
-<glyph unicode="&#x2039;" horiz-adv-x="754" d="M82 573l371 455l219 -119l-279 -348l279 -348l-219 -119l-371 453v26z" />
-<glyph unicode="&#x203a;" horiz-adv-x="754" d="M672 547l-371 -453l-219 119l278 348l-278 348l219 119l371 -455v-26z" />
-<glyph unicode="&#x2044;" horiz-adv-x="266" d="M657 1462l-811 -1462h-239l811 1462h239z" />
-<glyph unicode="&#x205f;" horiz-adv-x="476" />
-<glyph unicode="&#x2074;" horiz-adv-x="776" d="M758 737h-125v-151h-238v151h-383v154l385 577h236v-563h125v-168zM395 905v164q0 86 6 184q-9 -26 -35.5 -80t-41.5 -77l-127 -191h198z" />
-<glyph unicode="&#x20ac;" d="M803 1225q-122 0 -201 -70.5t-102 -204.5h403v-176h-418l-2 -35v-47l2 -33h355v-178h-338q51 -243 321 -243q143 0 275 57v-256q-116 -59 -293 -59q-245 0 -403 133t-199 368h-137v178h118q-4 23 -4 62l2 53h-116v176h133q37 242 199 382.5t405 140.5q188 0 352 -82 l-98 -232q-69 31 -129 48.5t-125 17.5z" />
-<glyph unicode="&#x2122;" horiz-adv-x="1534" d="M381 741h-168v572h-197v149h564v-149h-199v-572zM956 741l-165 529h-7l4 -111v-418h-163v721h247l160 -510l170 510h240v-721h-168v408l4 121h-6l-174 -529h-142z" />
-<glyph unicode="&#xe000;" horiz-adv-x="1120" d="M0 1120h1120v-1120h-1120v1120z" />
-<glyph horiz-adv-x="1296" d="M0 0z" />
-<hkern u1="&#x22;" u2="&#x178;" k="-20" />
-<hkern u1="&#x22;" u2="&#x153;" k="123" />
-<hkern u1="&#x22;" u2="&#xfc;" k="61" />
-<hkern u1="&#x22;" u2="&#xfb;" k="61" />
-<hkern u1="&#x22;" u2="&#xfa;" k="61" />
-<hkern u1="&#x22;" u2="&#xf9;" k="61" />
-<hkern u1="&#x22;" u2="&#xf8;" k="123" />
-<hkern u1="&#x22;" u2="&#xf6;" k="123" />
-<hkern u1="&#x22;" u2="&#xf5;" k="123" />
-<hkern u1="&#x22;" u2="&#xf4;" k="123" />
-<hkern u1="&#x22;" u2="&#xf3;" k="123" />
-<hkern u1="&#x22;" u2="&#xf2;" k="123" />
-<hkern u1="&#x22;" u2="&#xeb;" k="123" />
-<hkern u1="&#x22;" u2="&#xea;" k="123" />
-<hkern u1="&#x22;" u2="&#xe9;" k="123" />
-<hkern u1="&#x22;" u2="&#xe8;" k="123" />
-<hkern u1="&#x22;" u2="&#xe7;" k="123" />
-<hkern u1="&#x22;" u2="&#xe6;" k="82" />
-<hkern u1="&#x22;" u2="&#xe5;" k="82" />
-<hkern u1="&#x22;" u2="&#xe4;" k="82" />
-<hkern u1="&#x22;" u2="&#xe3;" k="82" />
-<hkern u1="&#x22;" u2="&#xe2;" k="82" />
-<hkern u1="&#x22;" u2="&#xe1;" k="82" />
-<hkern u1="&#x22;" u2="&#xe0;" k="123" />
-<hkern u1="&#x22;" u2="&#xdd;" k="-20" />
-<hkern u1="&#x22;" u2="&#xc5;" k="143" />
-<hkern u1="&#x22;" u2="&#xc4;" k="143" />
-<hkern u1="&#x22;" u2="&#xc3;" k="143" />
-<hkern u1="&#x22;" u2="&#xc2;" k="143" />
-<hkern u1="&#x22;" u2="&#xc1;" k="143" />
-<hkern u1="&#x22;" u2="&#xc0;" k="143" />
-<hkern u1="&#x22;" u2="u" k="61" />
-<hkern u1="&#x22;" u2="s" k="61" />
-<hkern u1="&#x22;" u2="r" k="61" />
-<hkern u1="&#x22;" u2="q" k="123" />
-<hkern u1="&#x22;" u2="p" k="61" />
-<hkern u1="&#x22;" u2="o" k="123" />
-<hkern u1="&#x22;" u2="n" k="61" />
-<hkern u1="&#x22;" u2="m" k="61" />
-<hkern u1="&#x22;" u2="g" k="61" />
-<hkern u1="&#x22;" u2="e" k="123" />
-<hkern u1="&#x22;" u2="d" k="123" />
-<hkern u1="&#x22;" u2="c" k="123" />
-<hkern u1="&#x22;" u2="a" k="82" />
-<hkern u1="&#x22;" u2="Y" k="-20" />
-<hkern u1="&#x22;" u2="W" k="-41" />
-<hkern u1="&#x22;" u2="V" k="-41" />
-<hkern u1="&#x22;" u2="T" k="-41" />
-<hkern u1="&#x22;" u2="A" k="143" />
-<hkern u1="&#x27;" u2="&#x178;" k="-20" />
-<hkern u1="&#x27;" u2="&#x153;" k="123" />
-<hkern u1="&#x27;" u2="&#xfc;" k="61" />
-<hkern u1="&#x27;" u2="&#xfb;" k="61" />
-<hkern u1="&#x27;" u2="&#xfa;" k="61" />
-<hkern u1="&#x27;" u2="&#xf9;" k="61" />
-<hkern u1="&#x27;" u2="&#xf8;" k="123" />
-<hkern u1="&#x27;" u2="&#xf6;" k="123" />
-<hkern u1="&#x27;" u2="&#xf5;" k="123" />
-<hkern u1="&#x27;" u2="&#xf4;" k="123" />
-<hkern u1="&#x27;" u2="&#xf3;" k="123" />
-<hkern u1="&#x27;" u2="&#xf2;" k="123" />
-<hkern u1="&#x27;" u2="&#xeb;" k="123" />
-<hkern u1="&#x27;" u2="&#xea;" k="123" />
-<hkern u1="&#x27;" u2="&#xe9;" k="123" />
-<hkern u1="&#x27;" u2="&#xe8;" k="123" />
-<hkern u1="&#x27;" u2="&#xe7;" k="123" />
-<hkern u1="&#x27;" u2="&#xe6;" k="82" />
-<hkern u1="&#x27;" u2="&#xe5;" k="82" />
-<hkern u1="&#x27;" u2="&#xe4;" k="82" />
-<hkern u1="&#x27;" u2="&#xe3;" k="82" />
-<hkern u1="&#x27;" u2="&#xe2;" k="82" />
-<hkern u1="&#x27;" u2="&#xe1;" k="82" />
-<hkern u1="&#x27;" u2="&#xe0;" k="123" />
-<hkern u1="&#x27;" u2="&#xdd;" k="-20" />
-<hkern u1="&#x27;" u2="&#xc5;" k="143" />
-<hkern u1="&#x27;" u2="&#xc4;" k="143" />
-<hkern u1="&#x27;" u2="&#xc3;" k="143" />
-<hkern u1="&#x27;" u2="&#xc2;" k="143" />
-<hkern u1="&#x27;" u2="&#xc1;" k="143" />
-<hkern u1="&#x27;" u2="&#xc0;" k="143" />
-<hkern u1="&#x27;" u2="u" k="61" />
-<hkern u1="&#x27;" u2="s" k="61" />
-<hkern u1="&#x27;" u2="r" k="61" />
-<hkern u1="&#x27;" u2="q" k="123" />
-<hkern u1="&#x27;" u2="p" k="61" />
-<hkern u1="&#x27;" u2="o" k="123" />
-<hkern u1="&#x27;" u2="n" k="61" />
-<hkern u1="&#x27;" u2="m" k="61" />
-<hkern u1="&#x27;" u2="g" k="61" />
-<hkern u1="&#x27;" u2="e" k="123" />
-<hkern u1="&#x27;" u2="d" k="123" />
-<hkern u1="&#x27;" u2="c" k="123" />
-<hkern u1="&#x27;" u2="a" k="82" />
-<hkern u1="&#x27;" u2="Y" k="-20" />
-<hkern u1="&#x27;" u2="W" k="-41" />
-<hkern u1="&#x27;" u2="V" k="-41" />
-<hkern u1="&#x27;" u2="T" k="-41" />
-<hkern u1="&#x27;" u2="A" k="143" />
-<hkern u1="&#x28;" u2="J" k="-184" />
-<hkern u1="&#x2c;" u2="&#x178;" k="123" />
-<hkern u1="&#x2c;" u2="&#x152;" k="102" />
-<hkern u1="&#x2c;" u2="&#xdd;" k="123" />
-<hkern u1="&#x2c;" u2="&#xdc;" k="41" />
-<hkern u1="&#x2c;" u2="&#xdb;" k="41" />
-<hkern u1="&#x2c;" u2="&#xda;" k="41" />
-<hkern u1="&#x2c;" u2="&#xd9;" k="41" />
-<hkern u1="&#x2c;" u2="&#xd8;" k="102" />
-<hkern u1="&#x2c;" u2="&#xd6;" k="102" />
-<hkern u1="&#x2c;" u2="&#xd5;" k="102" />
-<hkern u1="&#x2c;" u2="&#xd4;" k="102" />
-<hkern u1="&#x2c;" u2="&#xd3;" k="102" />
-<hkern u1="&#x2c;" u2="&#xd2;" k="102" />
-<hkern u1="&#x2c;" u2="&#xc7;" k="102" />
-<hkern u1="&#x2c;" u2="Y" k="123" />
-<hkern u1="&#x2c;" u2="W" k="123" />
-<hkern u1="&#x2c;" u2="V" k="123" />
-<hkern u1="&#x2c;" u2="U" k="41" />
-<hkern u1="&#x2c;" u2="T" k="143" />
-<hkern u1="&#x2c;" u2="Q" k="102" />
-<hkern u1="&#x2c;" u2="O" k="102" />
-<hkern u1="&#x2c;" u2="G" k="102" />
-<hkern u1="&#x2c;" u2="C" k="102" />
-<hkern u1="&#x2d;" u2="T" k="82" />
-<hkern u1="&#x2e;" u2="&#x178;" k="123" />
-<hkern u1="&#x2e;" u2="&#x152;" k="102" />
-<hkern u1="&#x2e;" u2="&#xdd;" k="123" />
-<hkern u1="&#x2e;" u2="&#xdc;" k="41" />
-<hkern u1="&#x2e;" u2="&#xdb;" k="41" />
-<hkern u1="&#x2e;" u2="&#xda;" k="41" />
-<hkern u1="&#x2e;" u2="&#xd9;" k="41" />
-<hkern u1="&#x2e;" u2="&#xd8;" k="102" />
-<hkern u1="&#x2e;" u2="&#xd6;" k="102" />
-<hkern u1="&#x2e;" u2="&#xd5;" k="102" />
-<hkern u1="&#x2e;" u2="&#xd4;" k="102" />
-<hkern u1="&#x2e;" u2="&#xd3;" k="102" />
-<hkern u1="&#x2e;" u2="&#xd2;" k="102" />
-<hkern u1="&#x2e;" u2="&#xc7;" k="102" />
-<hkern u1="&#x2e;" u2="Y" k="123" />
-<hkern u1="&#x2e;" u2="W" k="123" />
-<hkern u1="&#x2e;" u2="V" k="123" />
-<hkern u1="&#x2e;" u2="U" k="41" />
-<hkern u1="&#x2e;" u2="T" k="143" />
-<hkern u1="&#x2e;" u2="Q" k="102" />
-<hkern u1="&#x2e;" u2="O" k="102" />
-<hkern u1="&#x2e;" u2="G" k="102" />
-<hkern u1="&#x2e;" u2="C" k="102" />
-<hkern u1="A" u2="&#x201d;" k="143" />
-<hkern u1="A" u2="&#x2019;" k="143" />
-<hkern u1="A" u2="&#x178;" k="123" />
-<hkern u1="A" u2="&#x152;" k="41" />
-<hkern u1="A" u2="&#xdd;" k="123" />
-<hkern u1="A" u2="&#xd8;" k="41" />
-<hkern u1="A" u2="&#xd6;" k="41" />
-<hkern u1="A" u2="&#xd5;" k="41" />
-<hkern u1="A" u2="&#xd4;" k="41" />
-<hkern u1="A" u2="&#xd3;" k="41" />
-<hkern u1="A" u2="&#xd2;" k="41" />
-<hkern u1="A" u2="&#xc7;" k="41" />
-<hkern u1="A" u2="Y" k="123" />
-<hkern u1="A" u2="W" k="82" />
-<hkern u1="A" u2="V" k="82" />
-<hkern u1="A" u2="T" k="143" />
-<hkern u1="A" u2="Q" k="41" />
-<hkern u1="A" u2="O" k="41" />
-<hkern u1="A" u2="J" k="-266" />
-<hkern u1="A" u2="G" k="41" />
-<hkern u1="A" u2="C" k="41" />
-<hkern u1="A" u2="&#x27;" k="143" />
-<hkern u1="A" u2="&#x22;" k="143" />
-<hkern u1="B" u2="&#x201e;" k="82" />
-<hkern u1="B" u2="&#x201a;" k="82" />
-<hkern u1="B" u2="&#x178;" k="20" />
-<hkern u1="B" u2="&#xdd;" k="20" />
-<hkern u1="B" u2="&#xc5;" k="41" />
-<hkern u1="B" u2="&#xc4;" k="41" />
-<hkern u1="B" u2="&#xc3;" k="41" />
-<hkern u1="B" u2="&#xc2;" k="41" />
-<hkern u1="B" u2="&#xc1;" k="41" />
-<hkern u1="B" u2="&#xc0;" k="41" />
-<hkern u1="B" u2="Z" k="20" />
-<hkern u1="B" u2="Y" k="20" />
-<hkern u1="B" u2="X" k="41" />
-<hkern u1="B" u2="W" k="20" />
-<hkern u1="B" u2="V" k="20" />
-<hkern u1="B" u2="T" k="61" />
-<hkern u1="B" u2="A" k="41" />
-<hkern u1="B" u2="&#x2e;" k="82" />
-<hkern u1="B" u2="&#x2c;" k="82" />
-<hkern u1="C" u2="&#x152;" k="41" />
-<hkern u1="C" u2="&#xd8;" k="41" />
-<hkern u1="C" u2="&#xd6;" k="41" />
-<hkern u1="C" u2="&#xd5;" k="41" />
-<hkern u1="C" u2="&#xd4;" k="41" />
-<hkern u1="C" u2="&#xd3;" k="41" />
-<hkern u1="C" u2="&#xd2;" k="41" />
-<hkern u1="C" u2="&#xc7;" k="41" />
-<hkern u1="C" u2="Q" k="41" />
-<hkern u1="C" u2="O" k="41" />
-<hkern u1="C" u2="G" k="41" />
-<hkern u1="C" u2="C" k="41" />
-<hkern u1="D" u2="&#x201e;" k="82" />
-<hkern u1="D" u2="&#x201a;" k="82" />
-<hkern u1="D" u2="&#x178;" k="20" />
-<hkern u1="D" u2="&#xdd;" k="20" />
-<hkern u1="D" u2="&#xc5;" k="41" />
-<hkern u1="D" u2="&#xc4;" k="41" />
-<hkern u1="D" u2="&#xc3;" k="41" />
-<hkern u1="D" u2="&#xc2;" k="41" />
-<hkern u1="D" u2="&#xc1;" k="41" />
-<hkern u1="D" u2="&#xc0;" k="41" />
-<hkern u1="D" u2="Z" k="20" />
-<hkern u1="D" u2="Y" k="20" />
-<hkern u1="D" u2="X" k="41" />
-<hkern u1="D" u2="W" k="20" />
-<hkern u1="D" u2="V" k="20" />
-<hkern u1="D" u2="T" k="61" />
-<hkern u1="D" u2="A" k="41" />
-<hkern u1="D" u2="&#x2e;" k="82" />
-<hkern u1="D" u2="&#x2c;" k="82" />
-<hkern u1="E" u2="J" k="-123" />
-<hkern u1="F" u2="&#x201e;" k="123" />
-<hkern u1="F" u2="&#x201a;" k="123" />
-<hkern u1="F" u2="&#xc5;" k="41" />
-<hkern u1="F" u2="&#xc4;" k="41" />
-<hkern u1="F" u2="&#xc3;" k="41" />
-<hkern u1="F" u2="&#xc2;" k="41" />
-<hkern u1="F" u2="&#xc1;" k="41" />
-<hkern u1="F" u2="&#xc0;" k="41" />
-<hkern u1="F" u2="A" k="41" />
-<hkern u1="F" u2="&#x3f;" k="-41" />
-<hkern u1="F" u2="&#x2e;" k="123" />
-<hkern u1="F" u2="&#x2c;" k="123" />
-<hkern u1="K" u2="&#x152;" k="41" />
-<hkern u1="K" u2="&#xd8;" k="41" />
-<hkern u1="K" u2="&#xd6;" k="41" />
-<hkern u1="K" u2="&#xd5;" k="41" />
-<hkern u1="K" u2="&#xd4;" k="41" />
-<hkern u1="K" u2="&#xd3;" k="41" />
-<hkern u1="K" u2="&#xd2;" k="41" />
-<hkern u1="K" u2="&#xc7;" k="41" />
-<hkern u1="K" u2="Q" k="41" />
-<hkern u1="K" u2="O" k="41" />
-<hkern u1="K" u2="G" k="41" />
-<hkern u1="K" u2="C" k="41" />
-<hkern u1="L" u2="&#x201d;" k="164" />
-<hkern u1="L" u2="&#x2019;" k="164" />
-<hkern u1="L" u2="&#x178;" k="61" />
-<hkern u1="L" u2="&#x152;" k="41" />
-<hkern u1="L" u2="&#xdd;" k="61" />
-<hkern u1="L" u2="&#xdc;" k="20" />
-<hkern u1="L" u2="&#xdb;" k="20" />
-<hkern u1="L" u2="&#xda;" k="20" />
-<hkern u1="L" u2="&#xd9;" k="20" />
-<hkern u1="L" u2="&#xd8;" k="41" />
-<hkern u1="L" u2="&#xd6;" k="41" />
-<hkern u1="L" u2="&#xd5;" k="41" />
-<hkern u1="L" u2="&#xd4;" k="41" />
-<hkern u1="L" u2="&#xd3;" k="41" />
-<hkern u1="L" u2="&#xd2;" k="41" />
-<hkern u1="L" u2="&#xc7;" k="41" />
-<hkern u1="L" u2="Y" k="61" />
-<hkern u1="L" u2="W" k="41" />
-<hkern u1="L" u2="V" k="41" />
-<hkern u1="L" u2="U" k="20" />
-<hkern u1="L" u2="T" k="41" />
-<hkern u1="L" u2="Q" k="41" />
-<hkern u1="L" u2="O" k="41" />
-<hkern u1="L" u2="G" k="41" />
-<hkern u1="L" u2="C" k="41" />
-<hkern u1="L" u2="&#x27;" k="164" />
-<hkern u1="L" u2="&#x22;" k="164" />
-<hkern u1="O" u2="&#x201e;" k="82" />
-<hkern u1="O" u2="&#x201a;" k="82" />
-<hkern u1="O" u2="&#x178;" k="20" />
-<hkern u1="O" u2="&#xdd;" k="20" />
-<hkern u1="O" u2="&#xc5;" k="41" />
-<hkern u1="O" u2="&#xc4;" k="41" />
-<hkern u1="O" u2="&#xc3;" k="41" />
-<hkern u1="O" u2="&#xc2;" k="41" />
-<hkern u1="O" u2="&#xc1;" k="41" />
-<hkern u1="O" u2="&#xc0;" k="41" />
-<hkern u1="O" u2="Z" k="20" />
-<hkern u1="O" u2="Y" k="20" />
-<hkern u1="O" u2="X" k="41" />
-<hkern u1="O" u2="W" k="20" />
-<hkern u1="O" u2="V" k="20" />
-<hkern u1="O" u2="T" k="61" />
-<hkern u1="O" u2="A" k="41" />
-<hkern u1="O" u2="&#x2e;" k="82" />
-<hkern u1="O" u2="&#x2c;" k="82" />
-<hkern u1="P" u2="&#x201e;" k="266" />
-<hkern u1="P" u2="&#x201a;" k="266" />
-<hkern u1="P" u2="&#xc5;" k="102" />
-<hkern u1="P" u2="&#xc4;" k="102" />
-<hkern u1="P" u2="&#xc3;" k="102" />
-<hkern u1="P" u2="&#xc2;" k="102" />
-<hkern u1="P" u2="&#xc1;" k="102" />
-<hkern u1="P" u2="&#xc0;" k="102" />
-<hkern u1="P" u2="Z" k="20" />
-<hkern u1="P" u2="X" k="41" />
-<hkern u1="P" u2="A" k="102" />
-<hkern u1="P" u2="&#x2e;" k="266" />
-<hkern u1="P" u2="&#x2c;" k="266" />
-<hkern u1="Q" u2="&#x201e;" k="82" />
-<hkern u1="Q" u2="&#x201a;" k="82" />
-<hkern u1="Q" u2="&#x178;" k="20" />
-<hkern u1="Q" u2="&#xdd;" k="20" />
-<hkern u1="Q" u2="&#xc5;" k="41" />
-<hkern u1="Q" u2="&#xc4;" k="41" />
-<hkern u1="Q" u2="&#xc3;" k="41" />
-<hkern u1="Q" u2="&#xc2;" k="41" />
-<hkern u1="Q" u2="&#xc1;" k="41" />
-<hkern u1="Q" u2="&#xc0;" k="41" />
-<hkern u1="Q" u2="Z" k="20" />
-<hkern u1="Q" u2="Y" k="20" />
-<hkern u1="Q" u2="X" k="41" />
-<hkern u1="Q" u2="W" k="20" />
-<hkern u1="Q" u2="V" k="20" />
-<hkern u1="Q" u2="T" k="61" />
-<hkern u1="Q" u2="A" k="41" />
-<hkern u1="Q" u2="&#x2e;" k="82" />
-<hkern u1="Q" u2="&#x2c;" k="82" />
-<hkern u1="T" u2="&#x201e;" k="123" />
-<hkern u1="T" u2="&#x201a;" k="123" />
-<hkern u1="T" u2="&#x2014;" k="82" />
-<hkern u1="T" u2="&#x2013;" k="82" />
-<hkern u1="T" u2="&#x153;" k="143" />
-<hkern u1="T" u2="&#x152;" k="41" />
-<hkern u1="T" u2="&#xfd;" k="41" />
-<hkern u1="T" u2="&#xfc;" k="102" />
-<hkern u1="T" u2="&#xfb;" k="102" />
-<hkern u1="T" u2="&#xfa;" k="102" />
-<hkern u1="T" u2="&#xf9;" k="102" />
-<hkern u1="T" u2="&#xf8;" k="143" />
-<hkern u1="T" u2="&#xf6;" k="143" />
-<hkern u1="T" u2="&#xf5;" k="143" />
-<hkern u1="T" u2="&#xf4;" k="143" />
-<hkern u1="T" u2="&#xf3;" k="143" />
-<hkern u1="T" u2="&#xf2;" k="143" />
-<hkern u1="T" u2="&#xeb;" k="143" />
-<hkern u1="T" u2="&#xea;" k="143" />
-<hkern u1="T" u2="&#xe9;" k="143" />
-<hkern u1="T" u2="&#xe8;" k="143" />
-<hkern u1="T" u2="&#xe7;" k="143" />
-<hkern u1="T" u2="&#xe6;" k="164" />
-<hkern u1="T" u2="&#xe5;" k="164" />
-<hkern u1="T" u2="&#xe4;" k="164" />
-<hkern u1="T" u2="&#xe3;" k="164" />
-<hkern u1="T" u2="&#xe2;" k="164" />
-<hkern u1="T" u2="&#xe1;" k="164" />
-<hkern u1="T" u2="&#xe0;" k="143" />
-<hkern u1="T" u2="&#xd8;" k="41" />
-<hkern u1="T" u2="&#xd6;" k="41" />
-<hkern u1="T" u2="&#xd5;" k="41" />
-<hkern u1="T" u2="&#xd4;" k="41" />
-<hkern u1="T" u2="&#xd3;" k="41" />
-<hkern u1="T" u2="&#xd2;" k="41" />
-<hkern u1="T" u2="&#xc7;" k="41" />
-<hkern u1="T" u2="&#xc5;" k="143" />
-<hkern u1="T" u2="&#xc4;" k="143" />
-<hkern u1="T" u2="&#xc3;" k="143" />
-<hkern u1="T" u2="&#xc2;" k="143" />
-<hkern u1="T" u2="&#xc1;" k="143" />
-<hkern u1="T" u2="&#xc0;" k="143" />
-<hkern u1="T" u2="z" k="82" />
-<hkern u1="T" u2="y" k="41" />
-<hkern u1="T" u2="x" k="41" />
-<hkern u1="T" u2="w" k="41" />
-<hkern u1="T" u2="v" k="41" />
-<hkern u1="T" u2="u" k="102" />
-<hkern u1="T" u2="s" k="123" />
-<hkern u1="T" u2="r" k="102" />
-<hkern u1="T" u2="q" k="143" />
-<hkern u1="T" u2="p" k="102" />
-<hkern u1="T" u2="o" k="143" />
-<hkern u1="T" u2="n" k="102" />
-<hkern u1="T" u2="m" k="102" />
-<hkern u1="T" u2="g" k="143" />
-<hkern u1="T" u2="e" k="143" />
-<hkern u1="T" u2="d" k="143" />
-<hkern u1="T" u2="c" k="143" />
-<hkern u1="T" u2="a" k="164" />
-<hkern u1="T" u2="T" k="-41" />
-<hkern u1="T" u2="Q" k="41" />
-<hkern u1="T" u2="O" k="41" />
-<hkern u1="T" u2="G" k="41" />
-<hkern u1="T" u2="C" k="41" />
-<hkern u1="T" u2="A" k="143" />
-<hkern u1="T" u2="&#x3f;" k="-41" />
-<hkern u1="T" u2="&#x2e;" k="123" />
-<hkern u1="T" u2="&#x2d;" k="82" />
-<hkern u1="T" u2="&#x2c;" k="123" />
-<hkern u1="U" u2="&#x201e;" k="41" />
-<hkern u1="U" u2="&#x201a;" k="41" />
-<hkern u1="U" u2="&#xc5;" k="20" />
-<hkern u1="U" u2="&#xc4;" k="20" />
-<hkern u1="U" u2="&#xc3;" k="20" />
-<hkern u1="U" u2="&#xc2;" k="20" />
-<hkern u1="U" u2="&#xc1;" k="20" />
-<hkern u1="U" u2="&#xc0;" k="20" />
-<hkern u1="U" u2="A" k="20" />
-<hkern u1="U" u2="&#x2e;" k="41" />
-<hkern u1="U" u2="&#x2c;" k="41" />
-<hkern u1="V" u2="&#x201e;" k="102" />
-<hkern u1="V" u2="&#x201a;" k="102" />
-<hkern u1="V" u2="&#x153;" k="41" />
-<hkern u1="V" u2="&#x152;" k="20" />
-<hkern u1="V" u2="&#xfc;" k="20" />
-<hkern u1="V" u2="&#xfb;" k="20" />
-<hkern u1="V" u2="&#xfa;" k="20" />
-<hkern u1="V" u2="&#xf9;" k="20" />
-<hkern u1="V" u2="&#xf8;" k="41" />
-<hkern u1="V" u2="&#xf6;" k="41" />
-<hkern u1="V" u2="&#xf5;" k="41" />
-<hkern u1="V" u2="&#xf4;" k="41" />
-<hkern u1="V" u2="&#xf3;" k="41" />
-<hkern u1="V" u2="&#xf2;" k="41" />
-<hkern u1="V" u2="&#xeb;" k="41" />
-<hkern u1="V" u2="&#xea;" k="41" />
-<hkern u1="V" u2="&#xe9;" k="41" />
-<hkern u1="V" u2="&#xe8;" k="41" />
-<hkern u1="V" u2="&#xe7;" k="41" />
-<hkern u1="V" u2="&#xe6;" k="41" />
-<hkern u1="V" u2="&#xe5;" k="41" />
-<hkern u1="V" u2="&#xe4;" k="41" />
-<hkern u1="V" u2="&#xe3;" k="41" />
-<hkern u1="V" u2="&#xe2;" k="41" />
-<hkern u1="V" u2="&#xe1;" k="41" />
-<hkern u1="V" u2="&#xe0;" k="41" />
-<hkern u1="V" u2="&#xd8;" k="20" />
-<hkern u1="V" u2="&#xd6;" k="20" />
-<hkern u1="V" u2="&#xd5;" k="20" />
-<hkern u1="V" u2="&#xd4;" k="20" />
-<hkern u1="V" u2="&#xd3;" k="20" />
-<hkern u1="V" u2="&#xd2;" k="20" />
-<hkern u1="V" u2="&#xc7;" k="20" />
-<hkern u1="V" u2="&#xc5;" k="82" />
-<hkern u1="V" u2="&#xc4;" k="82" />
-<hkern u1="V" u2="&#xc3;" k="82" />
-<hkern u1="V" u2="&#xc2;" k="82" />
-<hkern u1="V" u2="&#xc1;" k="82" />
-<hkern u1="V" u2="&#xc0;" k="82" />
-<hkern u1="V" u2="u" k="20" />
-<hkern u1="V" u2="s" k="20" />
-<hkern u1="V" u2="r" k="20" />
-<hkern u1="V" u2="q" k="41" />
-<hkern u1="V" u2="p" k="20" />
-<hkern u1="V" u2="o" k="41" />
-<hkern u1="V" u2="n" k="20" />
-<hkern u1="V" u2="m" k="20" />
-<hkern u1="V" u2="g" k="20" />
-<hkern u1="V" u2="e" k="41" />
-<hkern u1="V" u2="d" k="41" />
-<hkern u1="V" u2="c" k="41" />
-<hkern u1="V" u2="a" k="41" />
-<hkern u1="V" u2="Q" k="20" />
-<hkern u1="V" u2="O" k="20" />
-<hkern u1="V" u2="G" k="20" />
-<hkern u1="V" u2="C" k="20" />
-<hkern u1="V" u2="A" k="82" />
-<hkern u1="V" u2="&#x3f;" k="-41" />
-<hkern u1="V" u2="&#x2e;" k="102" />
-<hkern u1="V" u2="&#x2c;" k="102" />
-<hkern u1="W" u2="&#x201e;" k="102" />
-<hkern u1="W" u2="&#x201a;" k="102" />
-<hkern u1="W" u2="&#x153;" k="41" />
-<hkern u1="W" u2="&#x152;" k="20" />
-<hkern u1="W" u2="&#xfc;" k="20" />
-<hkern u1="W" u2="&#xfb;" k="20" />
-<hkern u1="W" u2="&#xfa;" k="20" />
-<hkern u1="W" u2="&#xf9;" k="20" />
-<hkern u1="W" u2="&#xf8;" k="41" />
-<hkern u1="W" u2="&#xf6;" k="41" />
-<hkern u1="W" u2="&#xf5;" k="41" />
-<hkern u1="W" u2="&#xf4;" k="41" />
-<hkern u1="W" u2="&#xf3;" k="41" />
-<hkern u1="W" u2="&#xf2;" k="41" />
-<hkern u1="W" u2="&#xeb;" k="41" />
-<hkern u1="W" u2="&#xea;" k="41" />
-<hkern u1="W" u2="&#xe9;" k="41" />
-<hkern u1="W" u2="&#xe8;" k="41" />
-<hkern u1="W" u2="&#xe7;" k="41" />
-<hkern u1="W" u2="&#xe6;" k="41" />
-<hkern u1="W" u2="&#xe5;" k="41" />
-<hkern u1="W" u2="&#xe4;" k="41" />
-<hkern u1="W" u2="&#xe3;" k="41" />
-<hkern u1="W" u2="&#xe2;" k="41" />
-<hkern u1="W" u2="&#xe1;" k="41" />
-<hkern u1="W" u2="&#xe0;" k="41" />
-<hkern u1="W" u2="&#xd8;" k="20" />
-<hkern u1="W" u2="&#xd6;" k="20" />
-<hkern u1="W" u2="&#xd5;" k="20" />
-<hkern u1="W" u2="&#xd4;" k="20" />
-<hkern u1="W" u2="&#xd3;" k="20" />
-<hkern u1="W" u2="&#xd2;" k="20" />
-<hkern u1="W" u2="&#xc7;" k="20" />
-<hkern u1="W" u2="&#xc5;" k="82" />
-<hkern u1="W" u2="&#xc4;" k="82" />
-<hkern u1="W" u2="&#xc3;" k="82" />
-<hkern u1="W" u2="&#xc2;" k="82" />
-<hkern u1="W" u2="&#xc1;" k="82" />
-<hkern u1="W" u2="&#xc0;" k="82" />
-<hkern u1="W" u2="u" k="20" />
-<hkern u1="W" u2="s" k="20" />
-<hkern u1="W" u2="r" k="20" />
-<hkern u1="W" u2="q" k="41" />
-<hkern u1="W" u2="p" k="20" />
-<hkern u1="W" u2="o" k="41" />
-<hkern u1="W" u2="n" k="20" />
-<hkern u1="W" u2="m" k="20" />
-<hkern u1="W" u2="g" k="20" />
-<hkern u1="W" u2="e" k="41" />
-<hkern u1="W" u2="d" k="41" />
-<hkern u1="W" u2="c" k="41" />
-<hkern u1="W" u2="a" k="41" />
-<hkern u1="W" u2="Q" k="20" />
-<hkern u1="W" u2="O" k="20" />
-<hkern u1="W" u2="G" k="20" />
-<hkern u1="W" u2="C" k="20" />
-<hkern u1="W" u2="A" k="82" />
-<hkern u1="W" u2="&#x3f;" k="-41" />
-<hkern u1="W" u2="&#x2e;" k="102" />
-<hkern u1="W" u2="&#x2c;" k="102" />
-<hkern u1="X" u2="&#x152;" k="41" />
-<hkern u1="X" u2="&#xd8;" k="41" />
-<hkern u1="X" u2="&#xd6;" k="41" />
-<hkern u1="X" u2="&#xd5;" k="41" />
-<hkern u1="X" u2="&#xd4;" k="41" />
-<hkern u1="X" u2="&#xd3;" k="41" />
-<hkern u1="X" u2="&#xd2;" k="41" />
-<hkern u1="X" u2="&#xc7;" k="41" />
-<hkern u1="X" u2="Q" k="41" />
-<hkern u1="X" u2="O" k="41" />
-<hkern u1="X" u2="G" k="41" />
-<hkern u1="X" u2="C" k="41" />
-<hkern u1="Y" u2="&#x201e;" k="123" />
-<hkern u1="Y" u2="&#x201a;" k="123" />
-<hkern u1="Y" u2="&#x153;" k="102" />
-<hkern u1="Y" u2="&#x152;" k="41" />
-<hkern u1="Y" u2="&#xfc;" k="61" />
-<hkern u1="Y" u2="&#xfb;" k="61" />
-<hkern u1="Y" u2="&#xfa;" k="61" />
-<hkern u1="Y" u2="&#xf9;" k="61" />
-<hkern u1="Y" u2="&#xf8;" k="102" />
-<hkern u1="Y" u2="&#xf6;" k="102" />
-<hkern u1="Y" u2="&#xf5;" k="102" />
-<hkern u1="Y" u2="&#xf4;" k="102" />
-<hkern u1="Y" u2="&#xf3;" k="102" />
-<hkern u1="Y" u2="&#xf2;" k="102" />
-<hkern u1="Y" u2="&#xeb;" k="102" />
-<hkern u1="Y" u2="&#xea;" k="102" />
-<hkern u1="Y" u2="&#xe9;" k="102" />
-<hkern u1="Y" u2="&#xe8;" k="102" />
-<hkern u1="Y" u2="&#xe7;" k="102" />
-<hkern u1="Y" u2="&#xe6;" k="102" />
-<hkern u1="Y" u2="&#xe5;" k="102" />
-<hkern u1="Y" u2="&#xe4;" k="102" />
-<hkern u1="Y" u2="&#xe3;" k="102" />
-<hkern u1="Y" u2="&#xe2;" k="102" />
-<hkern u1="Y" u2="&#xe1;" k="102" />
-<hkern u1="Y" u2="&#xe0;" k="102" />
-<hkern u1="Y" u2="&#xd8;" k="41" />
-<hkern u1="Y" u2="&#xd6;" k="41" />
-<hkern u1="Y" u2="&#xd5;" k="41" />
-<hkern u1="Y" u2="&#xd4;" k="41" />
-<hkern u1="Y" u2="&#xd3;" k="41" />
-<hkern u1="Y" u2="&#xd2;" k="41" />
-<hkern u1="Y" u2="&#xc7;" k="41" />
-<hkern u1="Y" u2="&#xc5;" k="123" />
-<hkern u1="Y" u2="&#xc4;" k="123" />
-<hkern u1="Y" u2="&#xc3;" k="123" />
-<hkern u1="Y" u2="&#xc2;" k="123" />
-<hkern u1="Y" u2="&#xc1;" k="123" />
-<hkern u1="Y" u2="&#xc0;" k="123" />
-<hkern u1="Y" u2="z" k="41" />
-<hkern u1="Y" u2="u" k="61" />
-<hkern u1="Y" u2="s" k="82" />
-<hkern u1="Y" u2="r" k="61" />
-<hkern u1="Y" u2="q" k="102" />
-<hkern u1="Y" u2="p" k="61" />
-<hkern u1="Y" u2="o" k="102" />
-<hkern u1="Y" u2="n" k="61" />
-<hkern u1="Y" u2="m" k="61" />
-<hkern u1="Y" u2="g" k="41" />
-<hkern u1="Y" u2="e" k="102" />
-<hkern u1="Y" u2="d" k="102" />
-<hkern u1="Y" u2="c" k="102" />
-<hkern u1="Y" u2="a" k="102" />
-<hkern u1="Y" u2="Q" k="41" />
-<hkern u1="Y" u2="O" k="41" />
-<hkern u1="Y" u2="G" k="41" />
-<hkern u1="Y" u2="C" k="41" />
-<hkern u1="Y" u2="A" k="123" />
-<hkern u1="Y" u2="&#x3f;" k="-41" />
-<hkern u1="Y" u2="&#x2e;" k="123" />
-<hkern u1="Y" u2="&#x2c;" k="123" />
-<hkern u1="Z" u2="&#x152;" k="20" />
-<hkern u1="Z" u2="&#xd8;" k="20" />
-<hkern u1="Z" u2="&#xd6;" k="20" />
-<hkern u1="Z" u2="&#xd5;" k="20" />
-<hkern u1="Z" u2="&#xd4;" k="20" />
-<hkern u1="Z" u2="&#xd3;" k="20" />
-<hkern u1="Z" u2="&#xd2;" k="20" />
-<hkern u1="Z" u2="&#xc7;" k="20" />
-<hkern u1="Z" u2="Q" k="20" />
-<hkern u1="Z" u2="O" k="20" />
-<hkern u1="Z" u2="G" k="20" />
-<hkern u1="Z" u2="C" k="20" />
-<hkern u1="[" u2="J" k="-184" />
-<hkern u1="a" u2="&#x201d;" k="20" />
-<hkern u1="a" u2="&#x2019;" k="20" />
-<hkern u1="a" u2="&#x27;" k="20" />
-<hkern u1="a" u2="&#x22;" k="20" />
-<hkern u1="b" u2="&#x201d;" k="20" />
-<hkern u1="b" u2="&#x2019;" k="20" />
-<hkern u1="b" u2="&#xfd;" k="41" />
-<hkern u1="b" u2="z" k="20" />
-<hkern u1="b" u2="y" k="41" />
-<hkern u1="b" u2="x" k="41" />
-<hkern u1="b" u2="w" k="41" />
-<hkern u1="b" u2="v" k="41" />
-<hkern u1="b" u2="&#x27;" k="20" />
-<hkern u1="b" u2="&#x22;" k="20" />
-<hkern u1="c" u2="&#x201d;" k="-41" />
-<hkern u1="c" u2="&#x2019;" k="-41" />
-<hkern u1="c" u2="&#x27;" k="-41" />
-<hkern u1="c" u2="&#x22;" k="-41" />
-<hkern u1="e" u2="&#x201d;" k="20" />
-<hkern u1="e" u2="&#x2019;" k="20" />
-<hkern u1="e" u2="&#xfd;" k="41" />
-<hkern u1="e" u2="z" k="20" />
-<hkern u1="e" u2="y" k="41" />
-<hkern u1="e" u2="x" k="41" />
-<hkern u1="e" u2="w" k="41" />
-<hkern u1="e" u2="v" k="41" />
-<hkern u1="e" u2="&#x27;" k="20" />
-<hkern u1="e" u2="&#x22;" k="20" />
-<hkern u1="f" u2="&#x201d;" k="-123" />
-<hkern u1="f" u2="&#x2019;" k="-123" />
-<hkern u1="f" u2="&#x27;" k="-123" />
-<hkern u1="f" u2="&#x22;" k="-123" />
-<hkern u1="h" u2="&#x201d;" k="20" />
-<hkern u1="h" u2="&#x2019;" k="20" />
-<hkern u1="h" u2="&#x27;" k="20" />
-<hkern u1="h" u2="&#x22;" k="20" />
-<hkern u1="k" u2="&#x153;" k="41" />
-<hkern u1="k" u2="&#xf8;" k="41" />
-<hkern u1="k" u2="&#xf6;" k="41" />
-<hkern u1="k" u2="&#xf5;" k="41" />
-<hkern u1="k" u2="&#xf4;" k="41" />
-<hkern u1="k" u2="&#xf3;" k="41" />
-<hkern u1="k" u2="&#xf2;" k="41" />
-<hkern u1="k" u2="&#xeb;" k="41" />
-<hkern u1="k" u2="&#xea;" k="41" />
-<hkern u1="k" u2="&#xe9;" k="41" />
-<hkern u1="k" u2="&#xe8;" k="41" />
-<hkern u1="k" u2="&#xe7;" k="41" />
-<hkern u1="k" u2="&#xe0;" k="41" />
-<hkern u1="k" u2="q" k="41" />
-<hkern u1="k" u2="o" k="41" />
-<hkern u1="k" u2="e" k="41" />
-<hkern u1="k" u2="d" k="41" />
-<hkern u1="k" u2="c" k="41" />
-<hkern u1="m" u2="&#x201d;" k="20" />
-<hkern u1="m" u2="&#x2019;" k="20" />
-<hkern u1="m" u2="&#x27;" k="20" />
-<hkern u1="m" u2="&#x22;" k="20" />
-<hkern u1="n" u2="&#x201d;" k="20" />
-<hkern u1="n" u2="&#x2019;" k="20" />
-<hkern u1="n" u2="&#x27;" k="20" />
-<hkern u1="n" u2="&#x22;" k="20" />
-<hkern u1="o" u2="&#x201d;" k="20" />
-<hkern u1="o" u2="&#x2019;" k="20" />
-<hkern u1="o" u2="&#xfd;" k="41" />
-<hkern u1="o" u2="z" k="20" />
-<hkern u1="o" u2="y" k="41" />
-<hkern u1="o" u2="x" k="41" />
-<hkern u1="o" u2="w" k="41" />
-<hkern u1="o" u2="v" k="41" />
-<hkern u1="o" u2="&#x27;" k="20" />
-<hkern u1="o" u2="&#x22;" k="20" />
-<hkern u1="p" u2="&#x201d;" k="20" />
-<hkern u1="p" u2="&#x2019;" k="20" />
-<hkern u1="p" u2="&#xfd;" k="41" />
-<hkern u1="p" u2="z" k="20" />
-<hkern u1="p" u2="y" k="41" />
-<hkern u1="p" u2="x" k="41" />
-<hkern u1="p" u2="w" k="41" />
-<hkern u1="p" u2="v" k="41" />
-<hkern u1="p" u2="&#x27;" k="20" />
-<hkern u1="p" u2="&#x22;" k="20" />
-<hkern u1="r" u2="&#x201d;" k="-82" />
-<hkern u1="r" u2="&#x2019;" k="-82" />
-<hkern u1="r" u2="&#x153;" k="41" />
-<hkern u1="r" u2="&#xf8;" k="41" />
-<hkern u1="r" u2="&#xf6;" k="41" />
-<hkern u1="r" u2="&#xf5;" k="41" />
-<hkern u1="r" u2="&#xf4;" k="41" />
-<hkern u1="r" u2="&#xf3;" k="41" />
-<hkern u1="r" u2="&#xf2;" k="41" />
-<hkern u1="r" u2="&#xeb;" k="41" />
-<hkern u1="r" u2="&#xea;" k="41" />
-<hkern u1="r" u2="&#xe9;" k="41" />
-<hkern u1="r" u2="&#xe8;" k="41" />
-<hkern u1="r" u2="&#xe7;" k="41" />
-<hkern u1="r" u2="&#xe6;" k="41" />
-<hkern u1="r" u2="&#xe5;" k="41" />
-<hkern u1="r" u2="&#xe4;" k="41" />
-<hkern u1="r" u2="&#xe3;" k="41" />
-<hkern u1="r" u2="&#xe2;" k="41" />
-<hkern u1="r" u2="&#xe1;" k="41" />
-<hkern u1="r" u2="&#xe0;" k="41" />
-<hkern u1="r" u2="q" k="41" />
-<hkern u1="r" u2="o" k="41" />
-<hkern u1="r" u2="g" k="20" />
-<hkern u1="r" u2="e" k="41" />
-<hkern u1="r" u2="d" k="41" />
-<hkern u1="r" u2="c" k="41" />
-<hkern u1="r" u2="a" k="41" />
-<hkern u1="r" u2="&#x27;" k="-82" />
-<hkern u1="r" u2="&#x22;" k="-82" />
-<hkern u1="t" u2="&#x201d;" k="-41" />
-<hkern u1="t" u2="&#x2019;" k="-41" />
-<hkern u1="t" u2="&#x27;" k="-41" />
-<hkern u1="t" u2="&#x22;" k="-41" />
-<hkern u1="v" u2="&#x201e;" k="82" />
-<hkern u1="v" u2="&#x201d;" k="-82" />
-<hkern u1="v" u2="&#x201a;" k="82" />
-<hkern u1="v" u2="&#x2019;" k="-82" />
-<hkern u1="v" u2="&#x3f;" k="-41" />
-<hkern u1="v" u2="&#x2e;" k="82" />
-<hkern u1="v" u2="&#x2c;" k="82" />
-<hkern u1="v" u2="&#x27;" k="-82" />
-<hkern u1="v" u2="&#x22;" k="-82" />
-<hkern u1="w" u2="&#x201e;" k="82" />
-<hkern u1="w" u2="&#x201d;" k="-82" />
-<hkern u1="w" u2="&#x201a;" k="82" />
-<hkern u1="w" u2="&#x2019;" k="-82" />
-<hkern u1="w" u2="&#x3f;" k="-41" />
-<hkern u1="w" u2="&#x2e;" k="82" />
-<hkern u1="w" u2="&#x2c;" k="82" />
-<hkern u1="w" u2="&#x27;" k="-82" />
-<hkern u1="w" u2="&#x22;" k="-82" />
-<hkern u1="x" u2="&#x153;" k="41" />
-<hkern u1="x" u2="&#xf8;" k="41" />
-<hkern u1="x" u2="&#xf6;" k="41" />
-<hkern u1="x" u2="&#xf5;" k="41" />
-<hkern u1="x" u2="&#xf4;" k="41" />
-<hkern u1="x" u2="&#xf3;" k="41" />
-<hkern u1="x" u2="&#xf2;" k="41" />
-<hkern u1="x" u2="&#xeb;" k="41" />
-<hkern u1="x" u2="&#xea;" k="41" />
-<hkern u1="x" u2="&#xe9;" k="41" />
-<hkern u1="x" u2="&#xe8;" k="41" />
-<hkern u1="x" u2="&#xe7;" k="41" />
-<hkern u1="x" u2="&#xe0;" k="41" />
-<hkern u1="x" u2="q" k="41" />
-<hkern u1="x" u2="o" k="41" />
-<hkern u1="x" u2="e" k="41" />
-<hkern u1="x" u2="d" k="41" />
-<hkern u1="x" u2="c" k="41" />
-<hkern u1="y" u2="&#x201e;" k="82" />
-<hkern u1="y" u2="&#x201d;" k="-82" />
-<hkern u1="y" u2="&#x201a;" k="82" />
-<hkern u1="y" u2="&#x2019;" k="-82" />
-<hkern u1="y" u2="&#x3f;" k="-41" />
-<hkern u1="y" u2="&#x2e;" k="82" />
-<hkern u1="y" u2="&#x2c;" k="82" />
-<hkern u1="y" u2="&#x27;" k="-82" />
-<hkern u1="y" u2="&#x22;" k="-82" />
-<hkern u1="&#x7b;" u2="J" k="-184" />
-<hkern u1="&#xc0;" u2="&#x201d;" k="143" />
-<hkern u1="&#xc0;" u2="&#x2019;" k="143" />
-<hkern u1="&#xc0;" u2="&#x178;" k="123" />
-<hkern u1="&#xc0;" u2="&#x152;" k="41" />
-<hkern u1="&#xc0;" u2="&#xdd;" k="123" />
-<hkern u1="&#xc0;" u2="&#xd8;" k="41" />
-<hkern u1="&#xc0;" u2="&#xd6;" k="41" />
-<hkern u1="&#xc0;" u2="&#xd5;" k="41" />
-<hkern u1="&#xc0;" u2="&#xd4;" k="41" />
-<hkern u1="&#xc0;" u2="&#xd3;" k="41" />
-<hkern u1="&#xc0;" u2="&#xd2;" k="41" />
-<hkern u1="&#xc0;" u2="&#xc7;" k="41" />
-<hkern u1="&#xc0;" u2="Y" k="123" />
-<hkern u1="&#xc0;" u2="W" k="82" />
-<hkern u1="&#xc0;" u2="V" k="82" />
-<hkern u1="&#xc0;" u2="T" k="143" />
-<hkern u1="&#xc0;" u2="Q" k="41" />
-<hkern u1="&#xc0;" u2="O" k="41" />
-<hkern u1="&#xc0;" u2="J" k="-266" />
-<hkern u1="&#xc0;" u2="G" k="41" />
-<hkern u1="&#xc0;" u2="C" k="41" />
-<hkern u1="&#xc0;" u2="&#x27;" k="143" />
-<hkern u1="&#xc0;" u2="&#x22;" k="143" />
-<hkern u1="&#xc1;" u2="&#x201d;" k="143" />
-<hkern u1="&#xc1;" u2="&#x2019;" k="143" />
-<hkern u1="&#xc1;" u2="&#x178;" k="123" />
-<hkern u1="&#xc1;" u2="&#x152;" k="41" />
-<hkern u1="&#xc1;" u2="&#xdd;" k="123" />
-<hkern u1="&#xc1;" u2="&#xd8;" k="41" />
-<hkern u1="&#xc1;" u2="&#xd6;" k="41" />
-<hkern u1="&#xc1;" u2="&#xd5;" k="41" />
-<hkern u1="&#xc1;" u2="&#xd4;" k="41" />
-<hkern u1="&#xc1;" u2="&#xd3;" k="41" />
-<hkern u1="&#xc1;" u2="&#xd2;" k="41" />
-<hkern u1="&#xc1;" u2="&#xc7;" k="41" />
-<hkern u1="&#xc1;" u2="Y" k="123" />
-<hkern u1="&#xc1;" u2="W" k="82" />
-<hkern u1="&#xc1;" u2="V" k="82" />
-<hkern u1="&#xc1;" u2="T" k="143" />
-<hkern u1="&#xc1;" u2="Q" k="41" />
-<hkern u1="&#xc1;" u2="O" k="41" />
-<hkern u1="&#xc1;" u2="J" k="-266" />
-<hkern u1="&#xc1;" u2="G" k="41" />
-<hkern u1="&#xc1;" u2="C" k="41" />
-<hkern u1="&#xc1;" u2="&#x27;" k="143" />
-<hkern u1="&#xc1;" u2="&#x22;" k="143" />
-<hkern u1="&#xc2;" u2="&#x201d;" k="143" />
-<hkern u1="&#xc2;" u2="&#x2019;" k="143" />
-<hkern u1="&#xc2;" u2="&#x178;" k="123" />
-<hkern u1="&#xc2;" u2="&#x152;" k="41" />
-<hkern u1="&#xc2;" u2="&#xdd;" k="123" />
-<hkern u1="&#xc2;" u2="&#xd8;" k="41" />
-<hkern u1="&#xc2;" u2="&#xd6;" k="41" />
-<hkern u1="&#xc2;" u2="&#xd5;" k="41" />
-<hkern u1="&#xc2;" u2="&#xd4;" k="41" />
-<hkern u1="&#xc2;" u2="&#xd3;" k="41" />
-<hkern u1="&#xc2;" u2="&#xd2;" k="41" />
-<hkern u1="&#xc2;" u2="&#xc7;" k="41" />
-<hkern u1="&#xc2;" u2="Y" k="123" />
-<hkern u1="&#xc2;" u2="W" k="82" />
-<hkern u1="&#xc2;" u2="V" k="82" />
-<hkern u1="&#xc2;" u2="T" k="143" />
-<hkern u1="&#xc2;" u2="Q" k="41" />
-<hkern u1="&#xc2;" u2="O" k="41" />
-<hkern u1="&#xc2;" u2="J" k="-266" />
-<hkern u1="&#xc2;" u2="G" k="41" />
-<hkern u1="&#xc2;" u2="C" k="41" />
-<hkern u1="&#xc2;" u2="&#x27;" k="143" />
-<hkern u1="&#xc2;" u2="&#x22;" k="143" />
-<hkern u1="&#xc3;" u2="&#x201d;" k="143" />
-<hkern u1="&#xc3;" u2="&#x2019;" k="143" />
-<hkern u1="&#xc3;" u2="&#x178;" k="123" />
-<hkern u1="&#xc3;" u2="&#x152;" k="41" />
-<hkern u1="&#xc3;" u2="&#xdd;" k="123" />
-<hkern u1="&#xc3;" u2="&#xd8;" k="41" />
-<hkern u1="&#xc3;" u2="&#xd6;" k="41" />
-<hkern u1="&#xc3;" u2="&#xd5;" k="41" />
-<hkern u1="&#xc3;" u2="&#xd4;" k="41" />
-<hkern u1="&#xc3;" u2="&#xd3;" k="41" />
-<hkern u1="&#xc3;" u2="&#xd2;" k="41" />
-<hkern u1="&#xc3;" u2="&#xc7;" k="41" />
-<hkern u1="&#xc3;" u2="Y" k="123" />
-<hkern u1="&#xc3;" u2="W" k="82" />
-<hkern u1="&#xc3;" u2="V" k="82" />
-<hkern u1="&#xc3;" u2="T" k="143" />
-<hkern u1="&#xc3;" u2="Q" k="41" />
-<hkern u1="&#xc3;" u2="O" k="41" />
-<hkern u1="&#xc3;" u2="J" k="-266" />
-<hkern u1="&#xc3;" u2="G" k="41" />
-<hkern u1="&#xc3;" u2="C" k="41" />
-<hkern u1="&#xc3;" u2="&#x27;" k="143" />
-<hkern u1="&#xc3;" u2="&#x22;" k="143" />
-<hkern u1="&#xc4;" u2="&#x201d;" k="143" />
-<hkern u1="&#xc4;" u2="&#x2019;" k="143" />
-<hkern u1="&#xc4;" u2="&#x178;" k="123" />
-<hkern u1="&#xc4;" u2="&#x152;" k="41" />
-<hkern u1="&#xc4;" u2="&#xdd;" k="123" />
-<hkern u1="&#xc4;" u2="&#xd8;" k="41" />
-<hkern u1="&#xc4;" u2="&#xd6;" k="41" />
-<hkern u1="&#xc4;" u2="&#xd5;" k="41" />
-<hkern u1="&#xc4;" u2="&#xd4;" k="41" />
-<hkern u1="&#xc4;" u2="&#xd3;" k="41" />
-<hkern u1="&#xc4;" u2="&#xd2;" k="41" />
-<hkern u1="&#xc4;" u2="&#xc7;" k="41" />
-<hkern u1="&#xc4;" u2="Y" k="123" />
-<hkern u1="&#xc4;" u2="W" k="82" />
-<hkern u1="&#xc4;" u2="V" k="82" />
-<hkern u1="&#xc4;" u2="T" k="143" />
-<hkern u1="&#xc4;" u2="Q" k="41" />
-<hkern u1="&#xc4;" u2="O" k="41" />
-<hkern u1="&#xc4;" u2="J" k="-266" />
-<hkern u1="&#xc4;" u2="G" k="41" />
-<hkern u1="&#xc4;" u2="C" k="41" />
-<hkern u1="&#xc4;" u2="&#x27;" k="143" />
-<hkern u1="&#xc4;" u2="&#x22;" k="143" />
-<hkern u1="&#xc5;" u2="&#x201d;" k="143" />
-<hkern u1="&#xc5;" u2="&#x2019;" k="143" />
-<hkern u1="&#xc5;" u2="&#x178;" k="123" />
-<hkern u1="&#xc5;" u2="&#x152;" k="41" />
-<hkern u1="&#xc5;" u2="&#xdd;" k="123" />
-<hkern u1="&#xc5;" u2="&#xd8;" k="41" />
-<hkern u1="&#xc5;" u2="&#xd6;" k="41" />
-<hkern u1="&#xc5;" u2="&#xd5;" k="41" />
-<hkern u1="&#xc5;" u2="&#xd4;" k="41" />
-<hkern u1="&#xc5;" u2="&#xd3;" k="41" />
-<hkern u1="&#xc5;" u2="&#xd2;" k="41" />
-<hkern u1="&#xc5;" u2="&#xc7;" k="41" />
-<hkern u1="&#xc5;" u2="Y" k="123" />
-<hkern u1="&#xc5;" u2="W" k="82" />
-<hkern u1="&#xc5;" u2="V" k="82" />
-<hkern u1="&#xc5;" u2="T" k="143" />
-<hkern u1="&#xc5;" u2="Q" k="41" />
-<hkern u1="&#xc5;" u2="O" k="41" />
-<hkern u1="&#xc5;" u2="J" k="-266" />
-<hkern u1="&#xc5;" u2="G" k="41" />
-<hkern u1="&#xc5;" u2="C" k="41" />
-<hkern u1="&#xc5;" u2="&#x27;" k="143" />
-<hkern u1="&#xc5;" u2="&#x22;" k="143" />
-<hkern u1="&#xc6;" u2="J" k="-123" />
-<hkern u1="&#xc7;" u2="&#x152;" k="41" />
-<hkern u1="&#xc7;" u2="&#xd8;" k="41" />
-<hkern u1="&#xc7;" u2="&#xd6;" k="41" />
-<hkern u1="&#xc7;" u2="&#xd5;" k="41" />
-<hkern u1="&#xc7;" u2="&#xd4;" k="41" />
-<hkern u1="&#xc7;" u2="&#xd3;" k="41" />
-<hkern u1="&#xc7;" u2="&#xd2;" k="41" />
-<hkern u1="&#xc7;" u2="&#xc7;" k="41" />
-<hkern u1="&#xc7;" u2="Q" k="41" />
-<hkern u1="&#xc7;" u2="O" k="41" />
-<hkern u1="&#xc7;" u2="G" k="41" />
-<hkern u1="&#xc7;" u2="C" k="41" />
-<hkern u1="&#xc8;" u2="J" k="-123" />
-<hkern u1="&#xc9;" u2="J" k="-123" />
-<hkern u1="&#xca;" u2="J" k="-123" />
-<hkern u1="&#xcb;" u2="J" k="-123" />
-<hkern u1="&#xd0;" u2="&#x201e;" k="82" />
-<hkern u1="&#xd0;" u2="&#x201a;" k="82" />
-<hkern u1="&#xd0;" u2="&#x178;" k="20" />
-<hkern u1="&#xd0;" u2="&#xdd;" k="20" />
-<hkern u1="&#xd0;" u2="&#xc5;" k="41" />
-<hkern u1="&#xd0;" u2="&#xc4;" k="41" />
-<hkern u1="&#xd0;" u2="&#xc3;" k="41" />
-<hkern u1="&#xd0;" u2="&#xc2;" k="41" />
-<hkern u1="&#xd0;" u2="&#xc1;" k="41" />
-<hkern u1="&#xd0;" u2="&#xc0;" k="41" />
-<hkern u1="&#xd0;" u2="Z" k="20" />
-<hkern u1="&#xd0;" u2="Y" k="20" />
-<hkern u1="&#xd0;" u2="X" k="41" />
-<hkern u1="&#xd0;" u2="W" k="20" />
-<hkern u1="&#xd0;" u2="V" k="20" />
-<hkern u1="&#xd0;" u2="T" k="61" />
-<hkern u1="&#xd0;" u2="A" k="41" />
-<hkern u1="&#xd0;" u2="&#x2e;" k="82" />
-<hkern u1="&#xd0;" u2="&#x2c;" k="82" />
-<hkern u1="&#xd2;" u2="&#x201e;" k="82" />
-<hkern u1="&#xd2;" u2="&#x201a;" k="82" />
-<hkern u1="&#xd2;" u2="&#x178;" k="20" />
-<hkern u1="&#xd2;" u2="&#xdd;" k="20" />
-<hkern u1="&#xd2;" u2="&#xc5;" k="41" />
-<hkern u1="&#xd2;" u2="&#xc4;" k="41" />
-<hkern u1="&#xd2;" u2="&#xc3;" k="41" />
-<hkern u1="&#xd2;" u2="&#xc2;" k="41" />
-<hkern u1="&#xd2;" u2="&#xc1;" k="41" />
-<hkern u1="&#xd2;" u2="&#xc0;" k="41" />
-<hkern u1="&#xd2;" u2="Z" k="20" />
-<hkern u1="&#xd2;" u2="Y" k="20" />
-<hkern u1="&#xd2;" u2="X" k="41" />
-<hkern u1="&#xd2;" u2="W" k="20" />
-<hkern u1="&#xd2;" u2="V" k="20" />
-<hkern u1="&#xd2;" u2="T" k="61" />
-<hkern u1="&#xd2;" u2="A" k="41" />
-<hkern u1="&#xd2;" u2="&#x2e;" k="82" />
-<hkern u1="&#xd2;" u2="&#x2c;" k="82" />
-<hkern u1="&#xd3;" u2="&#x201e;" k="82" />
-<hkern u1="&#xd3;" u2="&#x201a;" k="82" />
-<hkern u1="&#xd3;" u2="&#x178;" k="20" />
-<hkern u1="&#xd3;" u2="&#xdd;" k="20" />
-<hkern u1="&#xd3;" u2="&#xc5;" k="41" />
-<hkern u1="&#xd3;" u2="&#xc4;" k="41" />
-<hkern u1="&#xd3;" u2="&#xc3;" k="41" />
-<hkern u1="&#xd3;" u2="&#xc2;" k="41" />
-<hkern u1="&#xd3;" u2="&#xc1;" k="41" />
-<hkern u1="&#xd3;" u2="&#xc0;" k="41" />
-<hkern u1="&#xd3;" u2="Z" k="20" />
-<hkern u1="&#xd3;" u2="Y" k="20" />
-<hkern u1="&#xd3;" u2="X" k="41" />
-<hkern u1="&#xd3;" u2="W" k="20" />
-<hkern u1="&#xd3;" u2="V" k="20" />
-<hkern u1="&#xd3;" u2="T" k="61" />
-<hkern u1="&#xd3;" u2="A" k="41" />
-<hkern u1="&#xd3;" u2="&#x2e;" k="82" />
-<hkern u1="&#xd3;" u2="&#x2c;" k="82" />
-<hkern u1="&#xd4;" u2="&#x201e;" k="82" />
-<hkern u1="&#xd4;" u2="&#x201a;" k="82" />
-<hkern u1="&#xd4;" u2="&#x178;" k="20" />
-<hkern u1="&#xd4;" u2="&#xdd;" k="20" />
-<hkern u1="&#xd4;" u2="&#xc5;" k="41" />
-<hkern u1="&#xd4;" u2="&#xc4;" k="41" />
-<hkern u1="&#xd4;" u2="&#xc3;" k="41" />
-<hkern u1="&#xd4;" u2="&#xc2;" k="41" />
-<hkern u1="&#xd4;" u2="&#xc1;" k="41" />
-<hkern u1="&#xd4;" u2="&#xc0;" k="41" />
-<hkern u1="&#xd4;" u2="Z" k="20" />
-<hkern u1="&#xd4;" u2="Y" k="20" />
-<hkern u1="&#xd4;" u2="X" k="41" />
-<hkern u1="&#xd4;" u2="W" k="20" />
-<hkern u1="&#xd4;" u2="V" k="20" />
-<hkern u1="&#xd4;" u2="T" k="61" />
-<hkern u1="&#xd4;" u2="A" k="41" />
-<hkern u1="&#xd4;" u2="&#x2e;" k="82" />
-<hkern u1="&#xd4;" u2="&#x2c;" k="82" />
-<hkern u1="&#xd5;" u2="&#x201e;" k="82" />
-<hkern u1="&#xd5;" u2="&#x201a;" k="82" />
-<hkern u1="&#xd5;" u2="&#x178;" k="20" />
-<hkern u1="&#xd5;" u2="&#xdd;" k="20" />
-<hkern u1="&#xd5;" u2="&#xc5;" k="41" />
-<hkern u1="&#xd5;" u2="&#xc4;" k="41" />
-<hkern u1="&#xd5;" u2="&#xc3;" k="41" />
-<hkern u1="&#xd5;" u2="&#xc2;" k="41" />
-<hkern u1="&#xd5;" u2="&#xc1;" k="41" />
-<hkern u1="&#xd5;" u2="&#xc0;" k="41" />
-<hkern u1="&#xd5;" u2="Z" k="20" />
-<hkern u1="&#xd5;" u2="Y" k="20" />
-<hkern u1="&#xd5;" u2="X" k="41" />
-<hkern u1="&#xd5;" u2="W" k="20" />
-<hkern u1="&#xd5;" u2="V" k="20" />
-<hkern u1="&#xd5;" u2="T" k="61" />
-<hkern u1="&#xd5;" u2="A" k="41" />
-<hkern u1="&#xd5;" u2="&#x2e;" k="82" />
-<hkern u1="&#xd5;" u2="&#x2c;" k="82" />
-<hkern u1="&#xd6;" u2="&#x201e;" k="82" />
-<hkern u1="&#xd6;" u2="&#x201a;" k="82" />
-<hkern u1="&#xd6;" u2="&#x178;" k="20" />
-<hkern u1="&#xd6;" u2="&#xdd;" k="20" />
-<hkern u1="&#xd6;" u2="&#xc5;" k="41" />
-<hkern u1="&#xd6;" u2="&#xc4;" k="41" />
-<hkern u1="&#xd6;" u2="&#xc3;" k="41" />
-<hkern u1="&#xd6;" u2="&#xc2;" k="41" />
-<hkern u1="&#xd6;" u2="&#xc1;" k="41" />
-<hkern u1="&#xd6;" u2="&#xc0;" k="41" />
-<hkern u1="&#xd6;" u2="Z" k="20" />
-<hkern u1="&#xd6;" u2="Y" k="20" />
-<hkern u1="&#xd6;" u2="X" k="41" />
-<hkern u1="&#xd6;" u2="W" k="20" />
-<hkern u1="&#xd6;" u2="V" k="20" />
-<hkern u1="&#xd6;" u2="T" k="61" />
-<hkern u1="&#xd6;" u2="A" k="41" />
-<hkern u1="&#xd6;" u2="&#x2e;" k="82" />
-<hkern u1="&#xd6;" u2="&#x2c;" k="82" />
-<hkern u1="&#xd8;" u2="&#x201e;" k="82" />
-<hkern u1="&#xd8;" u2="&#x201a;" k="82" />
-<hkern u1="&#xd8;" u2="&#x178;" k="20" />
-<hkern u1="&#xd8;" u2="&#xdd;" k="20" />
-<hkern u1="&#xd8;" u2="&#xc5;" k="41" />
-<hkern u1="&#xd8;" u2="&#xc4;" k="41" />
-<hkern u1="&#xd8;" u2="&#xc3;" k="41" />
-<hkern u1="&#xd8;" u2="&#xc2;" k="41" />
-<hkern u1="&#xd8;" u2="&#xc1;" k="41" />
-<hkern u1="&#xd8;" u2="&#xc0;" k="41" />
-<hkern u1="&#xd8;" u2="Z" k="20" />
-<hkern u1="&#xd8;" u2="Y" k="20" />
-<hkern u1="&#xd8;" u2="X" k="41" />
-<hkern u1="&#xd8;" u2="W" k="20" />
-<hkern u1="&#xd8;" u2="V" k="20" />
-<hkern u1="&#xd8;" u2="T" k="61" />
-<hkern u1="&#xd8;" u2="A" k="41" />
-<hkern u1="&#xd8;" u2="&#x2e;" k="82" />
-<hkern u1="&#xd8;" u2="&#x2c;" k="82" />
-<hkern u1="&#xd9;" u2="&#x201e;" k="41" />
-<hkern u1="&#xd9;" u2="&#x201a;" k="41" />
-<hkern u1="&#xd9;" u2="&#xc5;" k="20" />
-<hkern u1="&#xd9;" u2="&#xc4;" k="20" />
-<hkern u1="&#xd9;" u2="&#xc3;" k="20" />
-<hkern u1="&#xd9;" u2="&#xc2;" k="20" />
-<hkern u1="&#xd9;" u2="&#xc1;" k="20" />
-<hkern u1="&#xd9;" u2="&#xc0;" k="20" />
-<hkern u1="&#xd9;" u2="A" k="20" />
-<hkern u1="&#xd9;" u2="&#x2e;" k="41" />
-<hkern u1="&#xd9;" u2="&#x2c;" k="41" />
-<hkern u1="&#xda;" u2="&#x201e;" k="41" />
-<hkern u1="&#xda;" u2="&#x201a;" k="41" />
-<hkern u1="&#xda;" u2="&#xc5;" k="20" />
-<hkern u1="&#xda;" u2="&#xc4;" k="20" />
-<hkern u1="&#xda;" u2="&#xc3;" k="20" />
-<hkern u1="&#xda;" u2="&#xc2;" k="20" />
-<hkern u1="&#xda;" u2="&#xc1;" k="20" />
-<hkern u1="&#xda;" u2="&#xc0;" k="20" />
-<hkern u1="&#xda;" u2="A" k="20" />
-<hkern u1="&#xda;" u2="&#x2e;" k="41" />
-<hkern u1="&#xda;" u2="&#x2c;" k="41" />
-<hkern u1="&#xdb;" u2="&#x201e;" k="41" />
-<hkern u1="&#xdb;" u2="&#x201a;" k="41" />
-<hkern u1="&#xdb;" u2="&#xc5;" k="20" />
-<hkern u1="&#xdb;" u2="&#xc4;" k="20" />
-<hkern u1="&#xdb;" u2="&#xc3;" k="20" />
-<hkern u1="&#xdb;" u2="&#xc2;" k="20" />
-<hkern u1="&#xdb;" u2="&#xc1;" k="20" />
-<hkern u1="&#xdb;" u2="&#xc0;" k="20" />
-<hkern u1="&#xdb;" u2="A" k="20" />
-<hkern u1="&#xdb;" u2="&#x2e;" k="41" />
-<hkern u1="&#xdb;" u2="&#x2c;" k="41" />
-<hkern u1="&#xdc;" u2="&#x201e;" k="41" />
-<hkern u1="&#xdc;" u2="&#x201a;" k="41" />
-<hkern u1="&#xdc;" u2="&#xc5;" k="20" />
-<hkern u1="&#xdc;" u2="&#xc4;" k="20" />
-<hkern u1="&#xdc;" u2="&#xc3;" k="20" />
-<hkern u1="&#xdc;" u2="&#xc2;" k="20" />
-<hkern u1="&#xdc;" u2="&#xc1;" k="20" />
-<hkern u1="&#xdc;" u2="&#xc0;" k="20" />
-<hkern u1="&#xdc;" u2="A" k="20" />
-<hkern u1="&#xdc;" u2="&#x2e;" k="41" />
-<hkern u1="&#xdc;" u2="&#x2c;" k="41" />
-<hkern u1="&#xdd;" u2="&#x201e;" k="123" />
-<hkern u1="&#xdd;" u2="&#x201a;" k="123" />
-<hkern u1="&#xdd;" u2="&#x153;" k="102" />
-<hkern u1="&#xdd;" u2="&#x152;" k="41" />
-<hkern u1="&#xdd;" u2="&#xfc;" k="61" />
-<hkern u1="&#xdd;" u2="&#xfb;" k="61" />
-<hkern u1="&#xdd;" u2="&#xfa;" k="61" />
-<hkern u1="&#xdd;" u2="&#xf9;" k="61" />
-<hkern u1="&#xdd;" u2="&#xf8;" k="102" />
-<hkern u1="&#xdd;" u2="&#xf6;" k="102" />
-<hkern u1="&#xdd;" u2="&#xf5;" k="102" />
-<hkern u1="&#xdd;" u2="&#xf4;" k="102" />
-<hkern u1="&#xdd;" u2="&#xf3;" k="102" />
-<hkern u1="&#xdd;" u2="&#xf2;" k="102" />
-<hkern u1="&#xdd;" u2="&#xeb;" k="102" />
-<hkern u1="&#xdd;" u2="&#xea;" k="102" />
-<hkern u1="&#xdd;" u2="&#xe9;" k="102" />
-<hkern u1="&#xdd;" u2="&#xe8;" k="102" />
-<hkern u1="&#xdd;" u2="&#xe7;" k="102" />
-<hkern u1="&#xdd;" u2="&#xe6;" k="102" />
-<hkern u1="&#xdd;" u2="&#xe5;" k="102" />
-<hkern u1="&#xdd;" u2="&#xe4;" k="102" />
-<hkern u1="&#xdd;" u2="&#xe3;" k="102" />
-<hkern u1="&#xdd;" u2="&#xe2;" k="102" />
-<hkern u1="&#xdd;" u2="&#xe1;" k="102" />
-<hkern u1="&#xdd;" u2="&#xe0;" k="102" />
-<hkern u1="&#xdd;" u2="&#xd8;" k="41" />
-<hkern u1="&#xdd;" u2="&#xd6;" k="41" />
-<hkern u1="&#xdd;" u2="&#xd5;" k="41" />
-<hkern u1="&#xdd;" u2="&#xd4;" k="41" />
-<hkern u1="&#xdd;" u2="&#xd3;" k="41" />
-<hkern u1="&#xdd;" u2="&#xd2;" k="41" />
-<hkern u1="&#xdd;" u2="&#xc7;" k="41" />
-<hkern u1="&#xdd;" u2="&#xc5;" k="123" />
-<hkern u1="&#xdd;" u2="&#xc4;" k="123" />
-<hkern u1="&#xdd;" u2="&#xc3;" k="123" />
-<hkern u1="&#xdd;" u2="&#xc2;" k="123" />
-<hkern u1="&#xdd;" u2="&#xc1;" k="123" />
-<hkern u1="&#xdd;" u2="&#xc0;" k="123" />
-<hkern u1="&#xdd;" u2="z" k="41" />
-<hkern u1="&#xdd;" u2="u" k="61" />
-<hkern u1="&#xdd;" u2="s" k="82" />
-<hkern u1="&#xdd;" u2="r" k="61" />
-<hkern u1="&#xdd;" u2="q" k="102" />
-<hkern u1="&#xdd;" u2="p" k="61" />
-<hkern u1="&#xdd;" u2="o" k="102" />
-<hkern u1="&#xdd;" u2="n" k="61" />
-<hkern u1="&#xdd;" u2="m" k="61" />
-<hkern u1="&#xdd;" u2="g" k="41" />
-<hkern u1="&#xdd;" u2="e" k="102" />
-<hkern u1="&#xdd;" u2="d" k="102" />
-<hkern u1="&#xdd;" u2="c" k="102" />
-<hkern u1="&#xdd;" u2="a" k="102" />
-<hkern u1="&#xdd;" u2="Q" k="41" />
-<hkern u1="&#xdd;" u2="O" k="41" />
-<hkern u1="&#xdd;" u2="G" k="41" />
-<hkern u1="&#xdd;" u2="C" k="41" />
-<hkern u1="&#xdd;" u2="A" k="123" />
-<hkern u1="&#xdd;" u2="&#x3f;" k="-41" />
-<hkern u1="&#xdd;" u2="&#x2e;" k="123" />
-<hkern u1="&#xdd;" u2="&#x2c;" k="123" />
-<hkern u1="&#xde;" u2="&#x201e;" k="266" />
-<hkern u1="&#xde;" u2="&#x201a;" k="266" />
-<hkern u1="&#xde;" u2="&#xc5;" k="102" />
-<hkern u1="&#xde;" u2="&#xc4;" k="102" />
-<hkern u1="&#xde;" u2="&#xc3;" k="102" />
-<hkern u1="&#xde;" u2="&#xc2;" k="102" />
-<hkern u1="&#xde;" u2="&#xc1;" k="102" />
-<hkern u1="&#xde;" u2="&#xc0;" k="102" />
-<hkern u1="&#xde;" u2="Z" k="20" />
-<hkern u1="&#xde;" u2="X" k="41" />
-<hkern u1="&#xde;" u2="A" k="102" />
-<hkern u1="&#xde;" u2="&#x2e;" k="266" />
-<hkern u1="&#xde;" u2="&#x2c;" k="266" />
-<hkern u1="&#xe0;" u2="&#x201d;" k="20" />
-<hkern u1="&#xe0;" u2="&#x2019;" k="20" />
-<hkern u1="&#xe0;" u2="&#x27;" k="20" />
-<hkern u1="&#xe0;" u2="&#x22;" k="20" />
-<hkern u1="&#xe1;" u2="&#x201d;" k="20" />
-<hkern u1="&#xe1;" u2="&#x2019;" k="20" />
-<hkern u1="&#xe1;" u2="&#x27;" k="20" />
-<hkern u1="&#xe1;" u2="&#x22;" k="20" />
-<hkern u1="&#xe2;" u2="&#x201d;" k="20" />
-<hkern u1="&#xe2;" u2="&#x2019;" k="20" />
-<hkern u1="&#xe2;" u2="&#x27;" k="20" />
-<hkern u1="&#xe2;" u2="&#x22;" k="20" />
-<hkern u1="&#xe3;" u2="&#x201d;" k="20" />
-<hkern u1="&#xe3;" u2="&#x2019;" k="20" />
-<hkern u1="&#xe3;" u2="&#x27;" k="20" />
-<hkern u1="&#xe3;" u2="&#x22;" k="20" />
-<hkern u1="&#xe4;" u2="&#x201d;" k="20" />
-<hkern u1="&#xe4;" u2="&#x2019;" k="20" />
-<hkern u1="&#xe4;" u2="&#x27;" k="20" />
-<hkern u1="&#xe4;" u2="&#x22;" k="20" />
-<hkern u1="&#xe5;" u2="&#x201d;" k="20" />
-<hkern u1="&#xe5;" u2="&#x2019;" k="20" />
-<hkern u1="&#xe5;" u2="&#x27;" k="20" />
-<hkern u1="&#xe5;" u2="&#x22;" k="20" />
-<hkern u1="&#xe8;" u2="&#x201d;" k="20" />
-<hkern u1="&#xe8;" u2="&#x2019;" k="20" />
-<hkern u1="&#xe8;" u2="&#xfd;" k="41" />
-<hkern u1="&#xe8;" u2="z" k="20" />
-<hkern u1="&#xe8;" u2="y" k="41" />
-<hkern u1="&#xe8;" u2="x" k="41" />
-<hkern u1="&#xe8;" u2="w" k="41" />
-<hkern u1="&#xe8;" u2="v" k="41" />
-<hkern u1="&#xe8;" u2="&#x27;" k="20" />
-<hkern u1="&#xe8;" u2="&#x22;" k="20" />
-<hkern u1="&#xe9;" u2="&#x201d;" k="20" />
-<hkern u1="&#xe9;" u2="&#x2019;" k="20" />
-<hkern u1="&#xe9;" u2="&#xfd;" k="41" />
-<hkern u1="&#xe9;" u2="z" k="20" />
-<hkern u1="&#xe9;" u2="y" k="41" />
-<hkern u1="&#xe9;" u2="x" k="41" />
-<hkern u1="&#xe9;" u2="w" k="41" />
-<hkern u1="&#xe9;" u2="v" k="41" />
-<hkern u1="&#xe9;" u2="&#x27;" k="20" />
-<hkern u1="&#xe9;" u2="&#x22;" k="20" />
-<hkern u1="&#xea;" u2="&#x201d;" k="20" />
-<hkern u1="&#xea;" u2="&#x2019;" k="20" />
-<hkern u1="&#xea;" u2="&#xfd;" k="41" />
-<hkern u1="&#xea;" u2="z" k="20" />
-<hkern u1="&#xea;" u2="y" k="41" />
-<hkern u1="&#xea;" u2="x" k="41" />
-<hkern u1="&#xea;" u2="w" k="41" />
-<hkern u1="&#xea;" u2="v" k="41" />
-<hkern u1="&#xea;" u2="&#x27;" k="20" />
-<hkern u1="&#xea;" u2="&#x22;" k="20" />
-<hkern u1="&#xeb;" u2="&#x201d;" k="20" />
-<hkern u1="&#xeb;" u2="&#x2019;" k="20" />
-<hkern u1="&#xeb;" u2="&#xfd;" k="41" />
-<hkern u1="&#xeb;" u2="z" k="20" />
-<hkern u1="&#xeb;" u2="y" k="41" />
-<hkern u1="&#xeb;" u2="x" k="41" />
-<hkern u1="&#xeb;" u2="w" k="41" />
-<hkern u1="&#xeb;" u2="v" k="41" />
-<hkern u1="&#xeb;" u2="&#x27;" k="20" />
-<hkern u1="&#xeb;" u2="&#x22;" k="20" />
-<hkern u1="&#xf0;" u2="&#x201d;" k="20" />
-<hkern u1="&#xf0;" u2="&#x2019;" k="20" />
-<hkern u1="&#xf0;" u2="&#xfd;" k="41" />
-<hkern u1="&#xf0;" u2="z" k="20" />
-<hkern u1="&#xf0;" u2="y" k="41" />
-<hkern u1="&#xf0;" u2="x" k="41" />
-<hkern u1="&#xf0;" u2="w" k="41" />
-<hkern u1="&#xf0;" u2="v" k="41" />
-<hkern u1="&#xf0;" u2="&#x27;" k="20" />
-<hkern u1="&#xf0;" u2="&#x22;" k="20" />
-<hkern u1="&#xf2;" u2="&#x201d;" k="20" />
-<hkern u1="&#xf2;" u2="&#x2019;" k="20" />
-<hkern u1="&#xf2;" u2="&#xfd;" k="41" />
-<hkern u1="&#xf2;" u2="z" k="20" />
-<hkern u1="&#xf2;" u2="y" k="41" />
-<hkern u1="&#xf2;" u2="x" k="41" />
-<hkern u1="&#xf2;" u2="w" k="41" />
-<hkern u1="&#xf2;" u2="v" k="41" />
-<hkern u1="&#xf2;" u2="&#x27;" k="20" />
-<hkern u1="&#xf2;" u2="&#x22;" k="20" />
-<hkern u1="&#xf3;" u2="&#x201d;" k="20" />
-<hkern u1="&#xf3;" u2="&#x2019;" k="20" />
-<hkern u1="&#xf3;" u2="&#xfd;" k="41" />
-<hkern u1="&#xf3;" u2="z" k="20" />
-<hkern u1="&#xf3;" u2="y" k="41" />
-<hkern u1="&#xf3;" u2="x" k="41" />
-<hkern u1="&#xf3;" u2="w" k="41" />
-<hkern u1="&#xf3;" u2="v" k="41" />
-<hkern u1="&#xf3;" u2="&#x27;" k="20" />
-<hkern u1="&#xf3;" u2="&#x22;" k="20" />
-<hkern u1="&#xf4;" u2="&#x201d;" k="20" />
-<hkern u1="&#xf4;" u2="&#x2019;" k="20" />
-<hkern u1="&#xf4;" u2="&#xfd;" k="41" />
-<hkern u1="&#xf4;" u2="z" k="20" />
-<hkern u1="&#xf4;" u2="y" k="41" />
-<hkern u1="&#xf4;" u2="x" k="41" />
-<hkern u1="&#xf4;" u2="w" k="41" />
-<hkern u1="&#xf4;" u2="v" k="41" />
-<hkern u1="&#xf4;" u2="&#x27;" k="20" />
-<hkern u1="&#xf4;" u2="&#x22;" k="20" />
-<hkern u1="&#xf6;" u2="&#x201d;" k="41" />
-<hkern u1="&#xf6;" u2="&#x2019;" k="41" />
-<hkern u1="&#xf6;" u2="&#x27;" k="41" />
-<hkern u1="&#xf6;" u2="&#x22;" k="41" />
-<hkern u1="&#xf8;" u2="&#x201d;" k="20" />
-<hkern u1="&#xf8;" u2="&#x2019;" k="20" />
-<hkern u1="&#xf8;" u2="&#xfd;" k="41" />
-<hkern u1="&#xf8;" u2="z" k="20" />
-<hkern u1="&#xf8;" u2="y" k="41" />
-<hkern u1="&#xf8;" u2="x" k="41" />
-<hkern u1="&#xf8;" u2="w" k="41" />
-<hkern u1="&#xf8;" u2="v" k="41" />
-<hkern u1="&#xf8;" u2="&#x27;" k="20" />
-<hkern u1="&#xf8;" u2="&#x22;" k="20" />
-<hkern u1="&#xfd;" u2="&#x201e;" k="82" />
-<hkern u1="&#xfd;" u2="&#x201d;" k="-82" />
-<hkern u1="&#xfd;" u2="&#x201a;" k="82" />
-<hkern u1="&#xfd;" u2="&#x2019;" k="-82" />
-<hkern u1="&#xfd;" u2="&#x3f;" k="-41" />
-<hkern u1="&#xfd;" u2="&#x2e;" k="82" />
-<hkern u1="&#xfd;" u2="&#x2c;" k="82" />
-<hkern u1="&#xfd;" u2="&#x27;" k="-82" />
-<hkern u1="&#xfd;" u2="&#x22;" k="-82" />
-<hkern u1="&#xfe;" u2="&#x201d;" k="20" />
-<hkern u1="&#xfe;" u2="&#x2019;" k="20" />
-<hkern u1="&#xfe;" u2="&#xfd;" k="41" />
-<hkern u1="&#xfe;" u2="z" k="20" />
-<hkern u1="&#xfe;" u2="y" k="41" />
-<hkern u1="&#xfe;" u2="x" k="41" />
-<hkern u1="&#xfe;" u2="w" k="41" />
-<hkern u1="&#xfe;" u2="v" k="41" />
-<hkern u1="&#xfe;" u2="&#x27;" k="20" />
-<hkern u1="&#xfe;" u2="&#x22;" k="20" />
-<hkern u1="&#xff;" u2="&#x201e;" k="82" />
-<hkern u1="&#xff;" u2="&#x201d;" k="-82" />
-<hkern u1="&#xff;" u2="&#x201a;" k="82" />
-<hkern u1="&#xff;" u2="&#x2019;" k="-82" />
-<hkern u1="&#xff;" u2="&#x3f;" k="-41" />
-<hkern u1="&#xff;" u2="&#x2e;" k="82" />
-<hkern u1="&#xff;" u2="&#x2c;" k="82" />
-<hkern u1="&#xff;" u2="&#x27;" k="-82" />
-<hkern u1="&#xff;" u2="&#x22;" k="-82" />
-<hkern u1="&#x152;" u2="J" k="-123" />
-<hkern u1="&#x178;" u2="&#x201e;" k="123" />
-<hkern u1="&#x178;" u2="&#x201a;" k="123" />
-<hkern u1="&#x178;" u2="&#x153;" k="102" />
-<hkern u1="&#x178;" u2="&#x152;" k="41" />
-<hkern u1="&#x178;" u2="&#xfc;" k="61" />
-<hkern u1="&#x178;" u2="&#xfb;" k="61" />
-<hkern u1="&#x178;" u2="&#xfa;" k="61" />
-<hkern u1="&#x178;" u2="&#xf9;" k="61" />
-<hkern u1="&#x178;" u2="&#xf8;" k="102" />
-<hkern u1="&#x178;" u2="&#xf6;" k="102" />
-<hkern u1="&#x178;" u2="&#xf5;" k="102" />
-<hkern u1="&#x178;" u2="&#xf4;" k="102" />
-<hkern u1="&#x178;" u2="&#xf3;" k="102" />
-<hkern u1="&#x178;" u2="&#xf2;" k="102" />
-<hkern u1="&#x178;" u2="&#xeb;" k="102" />
-<hkern u1="&#x178;" u2="&#xea;" k="102" />
-<hkern u1="&#x178;" u2="&#xe9;" k="102" />
-<hkern u1="&#x178;" u2="&#xe8;" k="102" />
-<hkern u1="&#x178;" u2="&#xe7;" k="102" />
-<hkern u1="&#x178;" u2="&#xe6;" k="102" />
-<hkern u1="&#x178;" u2="&#xe5;" k="102" />
-<hkern u1="&#x178;" u2="&#xe4;" k="102" />
-<hkern u1="&#x178;" u2="&#xe3;" k="102" />
-<hkern u1="&#x178;" u2="&#xe2;" k="102" />
-<hkern u1="&#x178;" u2="&#xe1;" k="102" />
-<hkern u1="&#x178;" u2="&#xe0;" k="102" />
-<hkern u1="&#x178;" u2="&#xd8;" k="41" />
-<hkern u1="&#x178;" u2="&#xd6;" k="41" />
-<hkern u1="&#x178;" u2="&#xd5;" k="41" />
-<hkern u1="&#x178;" u2="&#xd4;" k="41" />
-<hkern u1="&#x178;" u2="&#xd3;" k="41" />
-<hkern u1="&#x178;" u2="&#xd2;" k="41" />
-<hkern u1="&#x178;" u2="&#xc7;" k="41" />
-<hkern u1="&#x178;" u2="&#xc5;" k="123" />
-<hkern u1="&#x178;" u2="&#xc4;" k="123" />
-<hkern u1="&#x178;" u2="&#xc3;" k="123" />
-<hkern u1="&#x178;" u2="&#xc2;" k="123" />
-<hkern u1="&#x178;" u2="&#xc1;" k="123" />
-<hkern u1="&#x178;" u2="&#xc0;" k="123" />
-<hkern u1="&#x178;" u2="z" k="41" />
-<hkern u1="&#x178;" u2="u" k="61" />
-<hkern u1="&#x178;" u2="s" k="82" />
-<hkern u1="&#x178;" u2="r" k="61" />
-<hkern u1="&#x178;" u2="q" k="102" />
-<hkern u1="&#x178;" u2="p" k="61" />
-<hkern u1="&#x178;" u2="o" k="102" />
-<hkern u1="&#x178;" u2="n" k="61" />
-<hkern u1="&#x178;" u2="m" k="61" />
-<hkern u1="&#x178;" u2="g" k="41" />
-<hkern u1="&#x178;" u2="e" k="102" />
-<hkern u1="&#x178;" u2="d" k="102" />
-<hkern u1="&#x178;" u2="c" k="102" />
-<hkern u1="&#x178;" u2="a" k="102" />
-<hkern u1="&#x178;" u2="Q" k="41" />
-<hkern u1="&#x178;" u2="O" k="41" />
-<hkern u1="&#x178;" u2="G" k="41" />
-<hkern u1="&#x178;" u2="C" k="41" />
-<hkern u1="&#x178;" u2="A" k="123" />
-<hkern u1="&#x178;" u2="&#x3f;" k="-41" />
-<hkern u1="&#x178;" u2="&#x2e;" k="123" />
-<hkern u1="&#x178;" u2="&#x2c;" k="123" />
-<hkern u1="&#x2013;" u2="T" k="82" />
-<hkern u1="&#x2014;" u2="T" k="82" />
-<hkern u1="&#x2018;" u2="&#x178;" k="-20" />
-<hkern u1="&#x2018;" u2="&#x153;" k="123" />
-<hkern u1="&#x2018;" u2="&#xfc;" k="61" />
-<hkern u1="&#x2018;" u2="&#xfb;" k="61" />
-<hkern u1="&#x2018;" u2="&#xfa;" k="61" />
-<hkern u1="&#x2018;" u2="&#xf9;" k="61" />
-<hkern u1="&#x2018;" u2="&#xf8;" k="123" />
-<hkern u1="&#x2018;" u2="&#xf6;" k="123" />
-<hkern u1="&#x2018;" u2="&#xf5;" k="123" />
-<hkern u1="&#x2018;" u2="&#xf4;" k="123" />
-<hkern u1="&#x2018;" u2="&#xf3;" k="123" />
-<hkern u1="&#x2018;" u2="&#xf2;" k="123" />
-<hkern u1="&#x2018;" u2="&#xeb;" k="123" />
-<hkern u1="&#x2018;" u2="&#xea;" k="123" />
-<hkern u1="&#x2018;" u2="&#xe9;" k="123" />
-<hkern u1="&#x2018;" u2="&#xe8;" k="123" />
-<hkern u1="&#x2018;" u2="&#xe7;" k="123" />
-<hkern u1="&#x2018;" u2="&#xe6;" k="82" />
-<hkern u1="&#x2018;" u2="&#xe5;" k="82" />
-<hkern u1="&#x2018;" u2="&#xe4;" k="82" />
-<hkern u1="&#x2018;" u2="&#xe3;" k="82" />
-<hkern u1="&#x2018;" u2="&#xe2;" k="82" />
-<hkern u1="&#x2018;" u2="&#xe1;" k="82" />
-<hkern u1="&#x2018;" u2="&#xe0;" k="123" />
-<hkern u1="&#x2018;" u2="&#xdd;" k="-20" />
-<hkern u1="&#x2018;" u2="&#xc5;" k="143" />
-<hkern u1="&#x2018;" u2="&#xc4;" k="143" />
-<hkern u1="&#x2018;" u2="&#xc3;" k="143" />
-<hkern u1="&#x2018;" u2="&#xc2;" k="143" />
-<hkern u1="&#x2018;" u2="&#xc1;" k="143" />
-<hkern u1="&#x2018;" u2="&#xc0;" k="143" />
-<hkern u1="&#x2018;" u2="u" k="61" />
-<hkern u1="&#x2018;" u2="s" k="61" />
-<hkern u1="&#x2018;" u2="r" k="61" />
-<hkern u1="&#x2018;" u2="q" k="123" />
-<hkern u1="&#x2018;" u2="p" k="61" />
-<hkern u1="&#x2018;" u2="o" k="123" />
-<hkern u1="&#x2018;" u2="n" k="61" />
-<hkern u1="&#x2018;" u2="m" k="61" />
-<hkern u1="&#x2018;" u2="g" k="61" />
-<hkern u1="&#x2018;" u2="e" k="123" />
-<hkern u1="&#x2018;" u2="d" k="123" />
-<hkern u1="&#x2018;" u2="c" k="123" />
-<hkern u1="&#x2018;" u2="a" k="82" />
-<hkern u1="&#x2018;" u2="Y" k="-20" />
-<hkern u1="&#x2018;" u2="W" k="-41" />
-<hkern u1="&#x2018;" u2="V" k="-41" />
-<hkern u1="&#x2018;" u2="T" k="-41" />
-<hkern u1="&#x2018;" u2="A" k="143" />
-<hkern u1="&#x2019;" u2="&#x178;" k="-20" />
-<hkern u1="&#x2019;" u2="&#x153;" k="123" />
-<hkern u1="&#x2019;" u2="&#xfc;" k="61" />
-<hkern u1="&#x2019;" u2="&#xfb;" k="61" />
-<hkern u1="&#x2019;" u2="&#xfa;" k="61" />
-<hkern u1="&#x2019;" u2="&#xf9;" k="61" />
-<hkern u1="&#x2019;" u2="&#xf8;" k="123" />
-<hkern u1="&#x2019;" u2="&#xf6;" k="123" />
-<hkern u1="&#x2019;" u2="&#xf5;" k="123" />
-<hkern u1="&#x2019;" u2="&#xf4;" k="123" />
-<hkern u1="&#x2019;" u2="&#xf3;" k="123" />
-<hkern u1="&#x2019;" u2="&#xf2;" k="123" />
-<hkern u1="&#x2019;" u2="&#xeb;" k="123" />
-<hkern u1="&#x2019;" u2="&#xea;" k="123" />
-<hkern u1="&#x2019;" u2="&#xe9;" k="123" />
-<hkern u1="&#x2019;" u2="&#xe8;" k="123" />
-<hkern u1="&#x2019;" u2="&#xe7;" k="123" />
-<hkern u1="&#x2019;" u2="&#xe6;" k="82" />
-<hkern u1="&#x2019;" u2="&#xe5;" k="82" />
-<hkern u1="&#x2019;" u2="&#xe4;" k="82" />
-<hkern u1="&#x2019;" u2="&#xe3;" k="82" />
-<hkern u1="&#x2019;" u2="&#xe2;" k="82" />
-<hkern u1="&#x2019;" u2="&#xe1;" k="82" />
-<hkern u1="&#x2019;" u2="&#xe0;" k="123" />
-<hkern u1="&#x2019;" u2="&#xdd;" k="-20" />
-<hkern u1="&#x2019;" u2="&#xc5;" k="143" />
-<hkern u1="&#x2019;" u2="&#xc4;" k="143" />
-<hkern u1="&#x2019;" u2="&#xc3;" k="143" />
-<hkern u1="&#x2019;" u2="&#xc2;" k="143" />
-<hkern u1="&#x2019;" u2="&#xc1;" k="143" />
-<hkern u1="&#x2019;" u2="&#xc0;" k="143" />
-<hkern u1="&#x2019;" u2="u" k="61" />
-<hkern u1="&#x2019;" u2="s" k="61" />
-<hkern u1="&#x2019;" u2="r" k="61" />
-<hkern u1="&#x2019;" u2="q" k="123" />
-<hkern u1="&#x2019;" u2="p" k="61" />
-<hkern u1="&#x2019;" u2="o" k="123" />
-<hkern u1="&#x2019;" u2="n" k="61" />
-<hkern u1="&#x2019;" u2="m" k="61" />
-<hkern u1="&#x2019;" u2="g" k="61" />
-<hkern u1="&#x2019;" u2="e" k="123" />
-<hkern u1="&#x2019;" u2="d" k="123" />
-<hkern u1="&#x2019;" u2="c" k="123" />
-<hkern u1="&#x2019;" u2="a" k="82" />
-<hkern u1="&#x2019;" u2="Y" k="-20" />
-<hkern u1="&#x2019;" u2="W" k="-41" />
-<hkern u1="&#x2019;" u2="V" k="-41" />
-<hkern u1="&#x2019;" u2="T" k="-41" />
-<hkern u1="&#x2019;" u2="A" k="143" />
-<hkern u1="&#x201a;" u2="&#x178;" k="123" />
-<hkern u1="&#x201a;" u2="&#x152;" k="102" />
-<hkern u1="&#x201a;" u2="&#xdd;" k="123" />
-<hkern u1="&#x201a;" u2="&#xdc;" k="41" />
-<hkern u1="&#x201a;" u2="&#xdb;" k="41" />
-<hkern u1="&#x201a;" u2="&#xda;" k="41" />
-<hkern u1="&#x201a;" u2="&#xd9;" k="41" />
-<hkern u1="&#x201a;" u2="&#xd8;" k="102" />
-<hkern u1="&#x201a;" u2="&#xd6;" k="102" />
-<hkern u1="&#x201a;" u2="&#xd5;" k="102" />
-<hkern u1="&#x201a;" u2="&#xd4;" k="102" />
-<hkern u1="&#x201a;" u2="&#xd3;" k="102" />
-<hkern u1="&#x201a;" u2="&#xd2;" k="102" />
-<hkern u1="&#x201a;" u2="&#xc7;" k="102" />
-<hkern u1="&#x201a;" u2="Y" k="123" />
-<hkern u1="&#x201a;" u2="W" k="123" />
-<hkern u1="&#x201a;" u2="V" k="123" />
-<hkern u1="&#x201a;" u2="U" k="41" />
-<hkern u1="&#x201a;" u2="T" k="143" />
-<hkern u1="&#x201a;" u2="Q" k="102" />
-<hkern u1="&#x201a;" u2="O" k="102" />
-<hkern u1="&#x201a;" u2="G" k="102" />
-<hkern u1="&#x201a;" u2="C" k="102" />
-<hkern u1="&#x201c;" u2="&#x178;" k="-20" />
-<hkern u1="&#x201c;" u2="&#x153;" k="123" />
-<hkern u1="&#x201c;" u2="&#xfc;" k="61" />
-<hkern u1="&#x201c;" u2="&#xfb;" k="61" />
-<hkern u1="&#x201c;" u2="&#xfa;" k="61" />
-<hkern u1="&#x201c;" u2="&#xf9;" k="61" />
-<hkern u1="&#x201c;" u2="&#xf8;" k="123" />
-<hkern u1="&#x201c;" u2="&#xf6;" k="123" />
-<hkern u1="&#x201c;" u2="&#xf5;" k="123" />
-<hkern u1="&#x201c;" u2="&#xf4;" k="123" />
-<hkern u1="&#x201c;" u2="&#xf3;" k="123" />
-<hkern u1="&#x201c;" u2="&#xf2;" k="123" />
-<hkern u1="&#x201c;" u2="&#xeb;" k="123" />
-<hkern u1="&#x201c;" u2="&#xea;" k="123" />
-<hkern u1="&#x201c;" u2="&#xe9;" k="123" />
-<hkern u1="&#x201c;" u2="&#xe8;" k="123" />
-<hkern u1="&#x201c;" u2="&#xe7;" k="123" />
-<hkern u1="&#x201c;" u2="&#xe6;" k="82" />
-<hkern u1="&#x201c;" u2="&#xe5;" k="82" />
-<hkern u1="&#x201c;" u2="&#xe4;" k="82" />
-<hkern u1="&#x201c;" u2="&#xe3;" k="82" />
-<hkern u1="&#x201c;" u2="&#xe2;" k="82" />
-<hkern u1="&#x201c;" u2="&#xe1;" k="82" />
-<hkern u1="&#x201c;" u2="&#xe0;" k="123" />
-<hkern u1="&#x201c;" u2="&#xdd;" k="-20" />
-<hkern u1="&#x201c;" u2="&#xc5;" k="143" />
-<hkern u1="&#x201c;" u2="&#xc4;" k="143" />
-<hkern u1="&#x201c;" u2="&#xc3;" k="143" />
-<hkern u1="&#x201c;" u2="&#xc2;" k="143" />
-<hkern u1="&#x201c;" u2="&#xc1;" k="143" />
-<hkern u1="&#x201c;" u2="&#xc0;" k="143" />
-<hkern u1="&#x201c;" u2="u" k="61" />
-<hkern u1="&#x201c;" u2="s" k="61" />
-<hkern u1="&#x201c;" u2="r" k="61" />
-<hkern u1="&#x201c;" u2="q" k="123" />
-<hkern u1="&#x201c;" u2="p" k="61" />
-<hkern u1="&#x201c;" u2="o" k="123" />
-<hkern u1="&#x201c;" u2="n" k="61" />
-<hkern u1="&#x201c;" u2="m" k="61" />
-<hkern u1="&#x201c;" u2="g" k="61" />
-<hkern u1="&#x201c;" u2="e" k="123" />
-<hkern u1="&#x201c;" u2="d" k="123" />
-<hkern u1="&#x201c;" u2="c" k="123" />
-<hkern u1="&#x201c;" u2="a" k="82" />
-<hkern u1="&#x201c;" u2="Y" k="-20" />
-<hkern u1="&#x201c;" u2="W" k="-41" />
-<hkern u1="&#x201c;" u2="V" k="-41" />
-<hkern u1="&#x201c;" u2="T" k="-41" />
-<hkern u1="&#x201c;" u2="A" k="143" />
-<hkern u1="&#x201e;" u2="&#x178;" k="123" />
-<hkern u1="&#x201e;" u2="&#x152;" k="102" />
-<hkern u1="&#x201e;" u2="&#xdd;" k="123" />
-<hkern u1="&#x201e;" u2="&#xdc;" k="41" />
-<hkern u1="&#x201e;" u2="&#xdb;" k="41" />
-<hkern u1="&#x201e;" u2="&#xda;" k="41" />
-<hkern u1="&#x201e;" u2="&#xd9;" k="41" />
-<hkern u1="&#x201e;" u2="&#xd8;" k="102" />
-<hkern u1="&#x201e;" u2="&#xd6;" k="102" />
-<hkern u1="&#x201e;" u2="&#xd5;" k="102" />
-<hkern u1="&#x201e;" u2="&#xd4;" k="102" />
-<hkern u1="&#x201e;" u2="&#xd3;" k="102" />
-<hkern u1="&#x201e;" u2="&#xd2;" k="102" />
-<hkern u1="&#x201e;" u2="&#xc7;" k="102" />
-<hkern u1="&#x201e;" u2="Y" k="123" />
-<hkern u1="&#x201e;" u2="W" k="123" />
-<hkern u1="&#x201e;" u2="V" k="123" />
-<hkern u1="&#x201e;" u2="U" k="41" />
-<hkern u1="&#x201e;" u2="T" k="143" />
-<hkern u1="&#x201e;" u2="Q" k="102" />
-<hkern u1="&#x201e;" u2="O" k="102" />
-<hkern u1="&#x201e;" u2="G" k="102" />
-<hkern u1="&#x201e;" u2="C" k="102" />
-</font>
-</defs></svg> \ No newline at end of file
diff --git a/documentation/jsapi/fonts/OpenSans-Bold-webfont.woff b/documentation/jsapi/fonts/OpenSans-Bold-webfont.woff
deleted file mode 100644
index 1205787b0e..0000000000
--- a/documentation/jsapi/fonts/OpenSans-Bold-webfont.woff
+++ /dev/null
Binary files differ
diff --git a/documentation/jsapi/fonts/OpenSans-BoldItalic-webfont.eot b/documentation/jsapi/fonts/OpenSans-BoldItalic-webfont.eot
deleted file mode 100644
index 1f639a15ff..0000000000
--- a/documentation/jsapi/fonts/OpenSans-BoldItalic-webfont.eot
+++ /dev/null
Binary files differ
diff --git a/documentation/jsapi/fonts/OpenSans-BoldItalic-webfont.svg b/documentation/jsapi/fonts/OpenSans-BoldItalic-webfont.svg
deleted file mode 100644
index 6a2607b9da..0000000000
--- a/documentation/jsapi/fonts/OpenSans-BoldItalic-webfont.svg
+++ /dev/null
@@ -1,1830 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
-<svg xmlns="http://www.w3.org/2000/svg">
-<metadata></metadata>
-<defs>
-<font id="open_sansbold_italic" horiz-adv-x="1128" >
-<font-face units-per-em="2048" ascent="1638" descent="-410" />
-<missing-glyph horiz-adv-x="532" />
-<glyph unicode="&#xfb01;" horiz-adv-x="1352" d="M0 0zM-45 -492q-104 0 -174 25v242q61 -21 115 -21q61 0 107 40t65 130l204 965h-163l30 145l183 84l18 84q41 190 138.5 277.5t273.5 87.5q131 0 235 -49l-80 -224q-69 31 -133 31q-57 0 -92 -40t-47 -105l-12 -62h219l-49 -229h-220l-215 -1010q-77 -371 -403 -371z M1065 1380q0 87 47.5 131.5t134.5 44.5q73 0 111 -31t38 -89q0 -80 -44 -129.5t-136 -49.5q-151 0 -151 123zM1081 0h-301l237 1118h301z" />
-<glyph unicode="&#xfb02;" horiz-adv-x="1352" d="M0 0zM-45 -492q-104 0 -174 25v242q61 -21 115 -21q61 0 107 40t65 130l204 965h-163l30 145l183 84l18 84q41 190 138.5 277.5t273.5 87.5q131 0 235 -49l-80 -224q-69 31 -133 31q-57 0 -92 -40t-47 -105l-12 -62h219l-49 -229h-220l-215 -1010q-77 -371 -403 -371z M1081 0h-301l330 1556h301z" />
-<glyph unicode="&#xfb03;" horiz-adv-x="2048" d="M-45 -492q-104 0 -174 25v242q61 -21 115 -21q61 0 107 40t65 130l204 965h-163l30 145l183 84l18 84q41 190 138.5 277.5t273.5 87.5q131 0 235 -49l-80 -224q-69 31 -133 31q-57 0 -92 -40t-47 -105l-12 -62h395l18 84q41 190 138.5 277.5t273.5 87.5q131 0 235 -49 l-79 -224q-69 31 -134 31q-57 0 -91.5 -40t-47.5 -105l-12 -62h219l-49 -229h-219l-215 -1010q-77 -371 -404 -371q-104 0 -174 25v242q61 -21 115 -21q136 0 172 170l205 965h-396l-215 -1010q-77 -371 -403 -371zM1778 0h-301l237 1118h301zM1761 1380q0 87 48 131.5 t135 44.5q73 0 111 -31t38 -89q0 -80 -44 -129.5t-136 -49.5q-152 0 -152 123z" />
-<glyph unicode="&#xfb04;" horiz-adv-x="2048" d="M-45 -492q-104 0 -174 25v242q61 -21 115 -21q61 0 107 40t65 130l204 965h-163l30 145l183 84l18 84q41 190 138.5 277.5t273.5 87.5q131 0 235 -49l-80 -224q-69 31 -133 31q-57 0 -92 -40t-47 -105l-12 -62h395l18 84q41 190 138.5 277.5t273.5 87.5q131 0 235 -49 l-79 -224q-69 31 -134 31q-57 0 -91.5 -40t-47.5 -105l-12 -62h219l-49 -229h-219l-215 -1010q-77 -371 -404 -371q-104 0 -174 25v242q61 -21 115 -21q136 0 172 170l205 965h-396l-215 -1010q-77 -371 -403 -371zM1778 0h-301l329 1556h301z" />
-<glyph horiz-adv-x="2048" />
-<glyph horiz-adv-x="2048" />
-<glyph unicode="&#xd;" horiz-adv-x="1044" />
-<glyph unicode=" " horiz-adv-x="532" />
-<glyph unicode="&#x09;" horiz-adv-x="532" />
-<glyph unicode="&#xa0;" horiz-adv-x="532" />
-<glyph unicode="!" horiz-adv-x="586" d="M391 485h-241l157 977h340zM25 115q0 90 53.5 144t150.5 54q68 0 109 -38t41 -107q0 -87 -55 -141t-144 -54q-73 0 -114 37.5t-41 104.5z" />
-<glyph unicode="&#x22;" horiz-adv-x="928" d="M549 1462l-152 -528h-196l71 528h277zM954 1462l-151 -528h-199l74 528h276z" />
-<glyph unicode="#" horiz-adv-x="1323" d="M1036 846l-69 -232h258l-19 -206h-297l-116 -408h-220l117 408h-194l-115 -408h-215l113 408h-238l18 206h277l70 232h-252l18 209h289l119 407h217l-117 -407h199l116 407h215l-116 -407h239l-18 -209h-279zM553 614h197l69 232h-196z" />
-<glyph unicode="$" d="M1034 496q0 -184 -125.5 -291.5t-367.5 -124.5l-39 -199h-140l44 201q-209 12 -355 86v266q198 -107 404 -117l71 322q-163 61 -241 151t-78 214q0 173 127 279.5t350 121.5l35 151h139l-33 -151q166 -22 295 -90l-106 -232q-132 65 -242 74l-63 -299q131 -51 195 -99.5 t97 -113t33 -149.5zM594 322q63 9 102 45t39 98q0 46 -24.5 75.5t-59.5 43.5zM633 1157q-62 -7 -96.5 -41t-34.5 -94q0 -79 80 -111z" />
-<glyph unicode="%" horiz-adv-x="1753" d="M518 1274q-63 0 -110.5 -128.5t-47.5 -277.5q0 -96 56 -96q65 0 112 131t47 275q0 96 -57 96zM821 1165q0 -166 -56 -310t-151 -217t-217 -73q-139 0 -210.5 83.5t-71.5 236.5q0 169 55.5 311.5t148.5 214.5t216 72q137 0 211.5 -80t74.5 -238zM1554 1462l-1083 -1462 h-240l1088 1462h235zM1376 690q-39 0 -75 -56t-59 -154t-23 -195t55 -97q41 0 77 55t59.5 154.5t23.5 196.5q0 96 -58 96zM1679 590q0 -167 -54 -313.5t-148 -220.5t-215 -74q-144 0 -216.5 78.5t-72.5 222.5q0 177 53 322.5t148 219.5t219 74q137 0 211.5 -78.5 t74.5 -230.5z" />
-<glyph unicode="&#x26;" horiz-adv-x="1450" d="M1325 0h-350l-72 98q-175 -118 -403 -118q-209 0 -320.5 97.5t-111.5 280.5q0 145 78.5 248.5t273.5 200.5q-76 130 -76 258q0 195 117.5 307.5t316.5 112.5q169 0 266 -82.5t97 -224.5q0 -280 -365 -426l195 -263q44 57 80.5 121.5t78.5 173.5h300q-133 -313 -310 -497z M541 623q-88 -51 -123 -104.5t-35 -131.5q0 -65 45.5 -108t116.5 -43q115 0 221 59zM662 920q113 59 155.5 111t42.5 112q0 57 -30 82.5t-70 25.5q-66 0 -102.5 -46.5t-36.5 -119.5q0 -46 12 -92t29 -73z" />
-<glyph unicode="'" horiz-adv-x="522" d="M549 1462l-152 -528h-196l71 528h277z" />
-<glyph unicode="(" horiz-adv-x="694" d="M74 281q0 339 122.5 626.5t381.5 554.5h262q-255 -278 -377.5 -573.5t-122.5 -618.5q0 -308 117 -594h-234q-149 266 -149 605z" />
-<glyph unicode=")" horiz-adv-x="694" d="M618 858q0 -342 -124 -630.5t-379 -551.5h-262q499 545 499 1192q0 307 -116 594h233q149 -264 149 -604z" />
-<glyph unicode="*" horiz-adv-x="1116" d="M885 1522l-113 -353l387 29l-18 -254l-338 43l160 -336l-246 -73l-90 337l-197 -278l-207 164l275 248l-326 92l86 237l338 -174l33 369z" />
-<glyph unicode="+" d="M475 612h-366v219h366v369h219v-369h367v-219h-367v-364h-219v364z" />
-<glyph unicode="," horiz-adv-x="569" d="M377 238l8 -23q-118 -255 -262 -479h-225q74 167 194 502h285z" />
-<glyph unicode="-" horiz-adv-x="659" d="M41 424l53 250h524l-53 -250h-524z" />
-<glyph unicode="." horiz-adv-x="584" d="M25 115q0 90 53.5 144t150.5 54q68 0 109 -38t41 -107q0 -87 -55 -141t-144 -54q-73 0 -114 37.5t-41 104.5z" />
-<glyph unicode="/" horiz-adv-x="862" d="M1014 1462l-809 -1462h-295l809 1462h295z" />
-<glyph unicode="0" d="M1110 1012q0 -470 -168.5 -751t-472.5 -281q-198 0 -300.5 122t-102.5 365q0 297 84 537t228 360.5t333 120.5q399 0 399 -473zM684 1235q-80 0 -149.5 -104t-117.5 -302t-48 -368q0 -115 27.5 -173.5t97.5 -58.5q81 0 150.5 106t116 301t46.5 386q0 111 -30.5 162 t-92.5 51z" />
-<glyph unicode="1" d="M688 0h-305l180 829q35 152 76 287q-9 -8 -61.5 -47t-262.5 -170l-133 215l566 348h249z" />
-<glyph unicode="2" d="M913 0h-962l43 213l477 424q180 159 248.5 254.5t68.5 179.5q0 75 -41 114.5t-110 39.5q-66 0 -135.5 -33.5t-171.5 -118.5l-146 203q132 112 252 159.5t250 47.5q190 0 301 -98t111 -259q0 -107 -41 -201t-122.5 -188t-266.5 -245l-269 -222v-10h568z" />
-<glyph unicode="3" d="M1104 1149q0 -156 -94.5 -262t-261.5 -135v-4q131 -26 198.5 -106.5t67.5 -201.5q0 -133 -74 -238t-212 -163.5t-327 -58.5q-239 0 -387 79v267q84 -50 182 -75.5t191 -25.5q158 0 243 63.5t85 176.5q0 172 -258 172h-138l46 221h73q167 0 263 62t96 172q0 67 -43 104 t-121 37q-134 0 -287 -100l-127 204q124 81 232.5 113.5t246.5 32.5q190 0 298 -90.5t108 -243.5z" />
-<glyph unicode="4" d="M1028 303h-170l-63 -303h-293l63 303h-590l48 234l770 925h311l-195 -919h170zM616 543l58 248q12 58 40 164t42 141h-6q-35 -63 -132 -181l-313 -372h311z" />
-<glyph unicode="5" d="M623 922q183 0 289 -103t106 -287q0 -167 -71.5 -292t-208.5 -192.5t-330 -67.5q-117 0 -218.5 23t-162.5 58v269q174 -99 352 -99q154 0 241 71t87 194q0 94 -57.5 141t-166.5 47q-102 0 -213 -33l-104 78l207 733h755l-55 -262h-489l-88 -293q72 15 127 15z" />
-<glyph unicode="6" d="M88 469q0 202 61 395.5t167.5 335t256.5 213.5t357 72q125 0 223 -27l-51 -246q-84 25 -191 25q-194 0 -313.5 -108t-185.5 -345h4q115 166 311 166q157 0 242.5 -97t85.5 -273q0 -169 -71 -313.5t-190.5 -215.5t-277.5 -71q-212 0 -320 127t-108 362zM530 227 q99 0 161.5 94t62.5 236q0 71 -33.5 113.5t-102.5 42.5q-60 0 -114.5 -35.5t-87.5 -95.5t-33 -160q0 -91 40 -143t107 -52z" />
-<glyph unicode="7" d="M78 0l737 1202h-629l56 260h975l-41 -194l-752 -1268h-346z" />
-<glyph unicode="8" d="M721 1485q123 0 215.5 -42t141 -118t48.5 -174q0 -134 -80.5 -233.5t-230.5 -151.5q217 -141 217 -365q0 -122 -63.5 -218.5t-181 -149.5t-273.5 -53q-214 0 -336.5 100t-122.5 270q0 298 348 426q-165 132 -165 299q0 119 58 212.5t168 145.5t257 52zM582 643 q-116 -45 -173 -107t-57 -153q0 -81 50 -128.5t135 -47.5q93 0 147.5 53.5t54.5 138.5q0 73 -36.5 131.5t-120.5 112.5zM694 1260q-76 0 -121 -46.5t-45 -119.5q0 -132 123 -201q185 72 185 221q0 68 -39.5 107t-102.5 39z" />
-<glyph unicode="9" d="M1092 1001q0 -280 -99 -533t-264 -370.5t-403 -117.5q-128 0 -240 32v256q111 -41 227 -41q121 0 207.5 49t144 138.5t99.5 257.5h-4q-111 -158 -295 -158q-163 0 -252.5 103.5t-89.5 285.5q0 166 73 305.5t196 208t286 68.5q203 0 308.5 -123t105.5 -361zM645 1237 q-65 0 -115.5 -42t-78 -114t-27.5 -153q0 -87 37.5 -131.5t105.5 -44.5q60 0 111.5 36.5t82 100t30.5 158.5q0 84 -35.5 137t-110.5 53z" />
-<glyph unicode=":" horiz-adv-x="584" d="M207 940q0 92 55.5 145.5t149.5 53.5q68 0 108.5 -38.5t40.5 -107.5q0 -86 -54.5 -140t-144.5 -54q-72 0 -113.5 36.5t-41.5 104.5zM25 115q0 90 53.5 144t150.5 54q68 0 109 -38t41 -107q0 -87 -55 -141t-144 -54q-73 0 -114 37.5t-41 104.5z" />
-<glyph unicode=";" horiz-adv-x="584" d="M385 215q-118 -255 -262 -479h-225q74 167 194 502h285zM207 940q0 92 55.5 145.5t149.5 53.5q68 0 108.5 -38.5t40.5 -107.5q0 -86 -54.5 -140t-144.5 -54q-72 0 -113.5 36.5t-41.5 104.5z" />
-<glyph unicode="&#x3c;" d="M1061 203l-952 438v143l952 496v-240l-643 -317l643 -281v-239z" />
-<glyph unicode="=" d="M109 807v217h952v-217h-952zM109 418v219h952v-219h-952z" />
-<glyph unicode="&#x3e;" d="M109 442l643 281l-643 317v240l952 -496v-143l-952 -438v239z" />
-<glyph unicode="?" horiz-adv-x="940" d="M260 485l14 78q19 103 73.5 177t172.5 155q124 84 157.5 127t33.5 96q0 119 -133 119q-50 0 -106.5 -16t-201.5 -84l-92 221q230 125 445 125q177 0 280 -87.5t103 -244.5q0 -83 -28.5 -149.5t-82.5 -123t-190 -147.5q-64 -43 -96.5 -73t-52.5 -64.5t-38 -108.5h-258z M166 115q0 91 55 144.5t150 53.5q68 0 108.5 -38t40.5 -107q0 -87 -55 -141t-143 -54q-74 0 -115 38t-41 104z" />
-<glyph unicode="@" horiz-adv-x="1753" d="M1733 840q0 -173 -64 -321t-177.5 -231t-254.5 -83q-88 0 -144.5 38.5t-72.5 108.5h-6q-50 -77 -113 -112t-147 -35q-127 0 -198 79.5t-71 229.5q0 147 67.5 276.5t187.5 205t268 75.5q185 0 327 -55l-106 -420q-11 -44 -19 -76.5t-8 -64.5q0 -68 58 -68q66 0 124 64 t92.5 171t34.5 214q0 213 -123.5 325.5t-359.5 112.5q-203 0 -366.5 -94t-255 -266t-91.5 -392q0 -243 134 -380.5t376 -137.5q117 0 219.5 20t221.5 66v-186q-230 -90 -465 -90q-217 0 -378 85.5t-246 241.5t-85 359q0 279 120.5 497t343 341.5t497.5 123.5 q318 0 499 -163.5t181 -458.5zM995 889q-82 0 -145.5 -51.5t-100 -137t-36.5 -174.5q0 -65 24.5 -102t69.5 -37q141 0 213 270l57 222q-36 10 -82 10z" />
-<glyph unicode="A" horiz-adv-x="1286" d="M842 348h-473l-172 -348h-320l766 1468h373l147 -1468h-297zM827 608l-26 350q-10 131 -10 253v36q-44 -120 -109 -254l-188 -385h333z" />
-<glyph unicode="B" horiz-adv-x="1270" d="M788 1462q229 0 346 -81.5t117 -243.5q0 -150 -83 -247.5t-236 -129.5v-6q100 -26 159.5 -96.5t59.5 -180.5q0 -229 -153 -353t-423 -124h-522l309 1462h426zM545 883h149q121 0 181.5 48.5t60.5 139.5q0 137 -170 137h-152zM412 256h180q117 0 183.5 58t66.5 161 q0 162 -183 162h-165z" />
-<glyph unicode="C" horiz-adv-x="1253" d="M905 1227q-132 0 -237.5 -81t-169.5 -238.5t-64 -338.5q0 -167 68.5 -248t218.5 -81q146 0 338 77v-260q-199 -77 -400 -77q-254 0 -395 149.5t-141 423.5q0 262 104 482.5t278 335t400 114.5q125 0 222 -22.5t208 -82.5l-118 -250q-106 59 -175 78t-137 19z" />
-<glyph unicode="D" horiz-adv-x="1386" d="M1323 909q0 -280 -98 -486.5t-283.5 -314.5t-437.5 -108h-451l309 1462h396q270 0 417.5 -143t147.5 -410zM518 256q148 0 258 76t172 223.5t62 337.5q0 154 -72.5 234.5t-208.5 80.5h-115l-202 -952h106z" />
-<glyph unicode="E" horiz-adv-x="1110" d="M870 0h-817l309 1462h818l-54 -254h-512l-67 -321h477l-55 -254h-477l-80 -377h512z" />
-<glyph unicode="F" horiz-adv-x="1087" d="M358 0h-305l309 1462h814l-54 -254h-508l-79 -377h473l-56 -253h-473z" />
-<glyph unicode="G" horiz-adv-x="1413" d="M754 821h563l-162 -762q-134 -46 -248.5 -62.5t-242.5 -16.5q-259 0 -400 147t-141 422q0 268 107 484.5t301 334t448 117.5q218 0 410 -99l-115 -251q-74 40 -148 64t-161 24q-153 0 -273.5 -83t-189 -236.5t-68.5 -330.5q0 -172 72.5 -252.5t222.5 -80.5q76 0 170 24 l66 299h-267z" />
-<glyph unicode="H" horiz-adv-x="1434" d="M1135 0h-306l134 631h-471l-134 -631h-305l309 1462h306l-121 -573h471l121 573h305z" />
-<glyph unicode="I" horiz-adv-x="659" d="M53 0l312 1462h305l-312 -1462h-305z" />
-<glyph unicode="J" horiz-adv-x="678" d="M-135 -430q-94 0 -187 27v253q88 -20 164 -20q99 0 160.5 60.5t89.5 191.5l293 1380h305l-303 -1423q-52 -245 -175.5 -357t-346.5 -112z" />
-<glyph unicode="K" horiz-adv-x="1255" d="M1141 0h-338l-211 592l-125 -70l-109 -522h-305l309 1462h306l-152 -702l158 205l409 497h361l-594 -700z" />
-<glyph unicode="L" horiz-adv-x="1061" d="M53 0l309 1462h306l-256 -1206h512l-54 -256h-817z" />
-<glyph unicode="M" horiz-adv-x="1802" d="M838 369l551 1093h423l-309 -1462h-280l145 692q53 247 105 441h-5l-569 -1133h-281l-61 1133h-4q-11 -88 -38 -231t-187 -902h-275l309 1462h404l68 -1093h4z" />
-<glyph unicode="N" horiz-adv-x="1546" d="M1247 0h-342l-356 1106h-6l-4 -32q-32 -216 -66 -386l-145 -688h-275l309 1462h357l340 -1077h4q12 76 39 217t180 860h274z" />
-<glyph unicode="O" horiz-adv-x="1495" d="M1432 938q0 -283 -99 -506.5t-271 -337.5t-396 -114q-256 0 -399.5 147.5t-143.5 409.5q0 265 99 487.5t273 341.5t402 119q255 0 395 -144t140 -403zM872 1227q-121 0 -222 -91.5t-158.5 -251.5t-57.5 -347q0 -147 66.5 -222t187.5 -75t220.5 87t155.5 246t56 357 q0 142 -65 219.5t-183 77.5z" />
-<glyph unicode="P" horiz-adv-x="1188" d="M522 774h56q142 0 223.5 69t81.5 185q0 180 -195 180h-74zM1190 1036q0 -241 -169.5 -378.5t-467.5 -137.5h-86l-109 -520h-305l309 1462h338q242 0 366 -106.5t124 -319.5z" />
-<glyph unicode="Q" horiz-adv-x="1495" d="M1432 938q0 -316 -122.5 -555.5t-334.5 -337.5l254 -393h-359l-178 328h-26q-256 0 -399.5 147.5t-143.5 409.5q0 265 99 487.5t273 341.5t402 119q255 0 395 -144t140 -403zM872 1227q-121 0 -222 -91.5t-158.5 -251.5t-57.5 -347q0 -147 66.5 -222t187.5 -75t220.5 87 t155.5 246t56 357q0 142 -65 219.5t-183 77.5z" />
-<glyph unicode="R" horiz-adv-x="1247" d="M530 813h78q131 0 204 57t73 174q0 82 -47.5 123t-149.5 41h-74zM477 561l-119 -561h-305l309 1462h359q237 0 356 -102t119 -299q0 -158 -83 -271.5t-239 -168.5l261 -621h-332l-207 561h-119z" />
-<glyph unicode="S" horiz-adv-x="1085" d="M946 432q0 -209 -148 -330.5t-401 -121.5q-221 0 -356 90v274q193 -108 358 -108q112 0 175 42.5t63 116.5q0 43 -13.5 75.5t-38.5 60.5t-124 102q-138 99 -194 196t-56 209q0 129 62 230.5t176.5 158t263.5 56.5q217 0 397 -99l-109 -233q-156 74 -288 74 q-83 0 -136 -45t-53 -119q0 -61 33 -106.5t148 -120.5q121 -80 181 -176.5t60 -225.5z" />
-<glyph unicode="T" horiz-adv-x="1087" d="M571 0h-305l254 1204h-352l55 258h1010l-55 -258h-353z" />
-<glyph unicode="U" horiz-adv-x="1415" d="M1434 1462l-201 -946q-57 -266 -218 -401t-419 -135q-212 0 -333.5 113.5t-121.5 307.5q0 72 15 138l196 923h305l-194 -919q-17 -74 -17 -125q0 -178 189 -178q123 0 195 76.5t104 228.5l194 917h306z" />
-<glyph unicode="V" horiz-adv-x="1208" d="M535 299q78 221 110 283l432 880h316l-748 -1462h-334l-127 1462h295l51 -880q4 -45 4 -133q-2 -103 -6 -150h7z" />
-<glyph unicode="W" horiz-adv-x="1831" d="M1006 1018q-46 -146 -115 -299l-324 -719h-338l-45 1462h287l6 -798q0 -52 -4 -173t-10 -174h6q22 64 67 180.5t60 145.5l369 819h270l21 -873q0 -146 -9 -272h6q43 129 131 349l330 796h309l-647 -1462h-346l-22 721l-2 139q0 88 4 158h-4z" />
-<glyph unicode="X" horiz-adv-x="1241" d="M1124 0h-331l-172 543l-396 -543h-342l576 764l-238 698h320l153 -518l363 518h344l-545 -725z" />
-<glyph unicode="Y" horiz-adv-x="1155" d="M627 870l374 592h342l-618 -903l-119 -559h-303l119 559l-236 903h312z" />
-<glyph unicode="Z" horiz-adv-x="1098" d="M920 0h-981l38 201l777 1005h-543l53 256h936l-41 -202l-782 -1004h596z" />
-<glyph unicode="[" horiz-adv-x="678" d="M436 -324h-473l381 1786h473l-45 -211h-215l-291 -1364h215z" />
-<glyph unicode="\" horiz-adv-x="862" d="M481 1462l224 -1462h-267l-217 1462h260z" />
-<glyph unicode="]" horiz-adv-x="678" d="M-92 -113h213l291 1364h-215l45 211h473l-381 -1786h-471z" />
-<glyph unicode="^" horiz-adv-x="1081" d="M20 520l619 950h147l277 -950h-223l-174 633l-402 -633h-244z" />
-<glyph unicode="_" horiz-adv-x="819" d="M635 -324h-821l30 140h822z" />
-<glyph unicode="`" horiz-adv-x="1135" d="M934 1241h-184q-71 69 -138.5 153.5t-103.5 153.5v21h311q36 -148 115 -303v-25z" />
-<glyph unicode="a" horiz-adv-x="1217" d="M406 -20q-147 0 -231.5 106.5t-84.5 298.5q0 198 72 377.5t189 278t257 98.5q97 0 167.5 -42t109.5 -122h8l57 143h232l-238 -1118h-229l14 145h-4q-134 -165 -319 -165zM524 223q69 0 133 67t103 181.5t39 259.5q0 71 -38.5 117.5t-101.5 46.5q-68 0 -129.5 -72 t-98 -190t-36.5 -234q0 -88 33.5 -132t95.5 -44z" />
-<glyph unicode="b" horiz-adv-x="1219" d="M813 1139q146 0 230.5 -108t84.5 -298t-68 -367.5t-187 -281.5t-263 -104q-194 0 -276 163h-8l-58 -143h-231l330 1556h301l-62 -288q-41 -182 -84 -299h8q78 98 142.5 134t140.5 36zM692 895q-68 0 -130 -65t-102 -180.5t-40 -250.5q0 -80 37 -128t102 -48q67 0 128 69 t98.5 189.5t37.5 237.5q0 176 -131 176z" />
-<glyph unicode="c" horiz-adv-x="989" d="M506 -20q-201 0 -308.5 107.5t-107.5 303.5q0 212 74.5 385.5t209.5 268t308 94.5q182 0 328 -72l-92 -229q-54 23 -106 40t-118 17q-85 0 -153.5 -64t-107 -175.5t-38.5 -239.5q0 -96 45.5 -144.5t126.5 -48.5q76 0 141 23.5t134 58.5v-246q-152 -79 -336 -79z" />
-<glyph unicode="d" horiz-adv-x="1217" d="M406 -20q-147 0 -231.5 107t-84.5 300q0 196 71.5 374.5t188.5 278t258 99.5q82 0 141.5 -37t112.5 -127h8l2 28q6 110 25 195l76 358h301l-330 -1556h-229l14 145h-4q-71 -87 -148.5 -126t-170.5 -39zM532 223q66 0 128.5 68.5t100.5 182.5t38 245q0 80 -37.5 128 t-102.5 48q-68 0 -129.5 -72t-98 -190t-36.5 -234q0 -176 137 -176z" />
-<glyph unicode="e" horiz-adv-x="1141" d="M696 922q-88 0 -166 -80t-102 -195h45q155 0 241.5 48.5t86.5 131.5q0 95 -105 95zM532 -20q-210 0 -326 113t-116 319q0 207 82.5 377.5t223.5 260t319 89.5q177 0 276 -81.5t99 -223.5q0 -187 -167 -288.5t-477 -101.5h-51l-2 -21v-20q0 -91 51.5 -143.5t147.5 -52.5 q87 0 158 19t172 67v-227q-172 -86 -390 -86z" />
-<glyph unicode="f" horiz-adv-x="764" d="M-45 -492q-104 0 -174 25v242q61 -21 115 -21q61 0 107 40t65 130l204 965h-163l30 145l183 84l18 84q41 190 138.5 277.5t273.5 87.5q131 0 235 -49l-80 -224q-69 31 -133 31q-57 0 -92 -40t-47 -105l-12 -62h219l-49 -229h-220l-215 -1010q-77 -371 -403 -371z" />
-<glyph unicode="g" horiz-adv-x="1108" d="M1186 1116l-35 -166l-174 -41q16 -52 16 -118q0 -195 -121 -308.5t-329 -113.5q-59 0 -99 10q-84 -27 -84 -78q0 -34 30 -49t89 -23l137 -18q163 -21 237.5 -84.5t74.5 -183.5q0 -211 -156 -323t-446 -112q-208 0 -324.5 75.5t-116.5 207.5q0 102 68.5 175.5t214.5 121.5 q-74 47 -74 133q0 71 44.5 122.5t146.5 98.5q-65 49 -96 112t-31 153q0 199 125.5 315.5t341.5 116.5q83 0 166 -23h395zM365 -6q-106 -14 -160.5 -57t-54.5 -109q0 -115 194 -115q151 0 228 45t77 127q0 39 -32.5 60t-137.5 35zM614 948q-77 0 -124.5 -76.5t-47.5 -191.5 q0 -119 103 -119q75 0 121.5 76.5t46.5 193.5t-99 117z" />
-<glyph unicode="h" horiz-adv-x="1237" d="M977 0h-301l137 653q16 68 16 119q0 123 -108 123q-92 0 -167 -114t-118 -318l-98 -463h-301l330 1556h301q-39 -181 -60 -278t-86 -309h8q62 77 138 123.5t176 46.5q138 0 213.5 -83.5t75.5 -238.5q0 -73 -23 -180z" />
-<glyph unicode="i" horiz-adv-x="608" d="M322 1380q0 87 47.5 131.5t134.5 44.5q73 0 111 -31t38 -89q0 -80 -44 -129.5t-136 -49.5q-151 0 -151 123zM338 0h-301l237 1118h301z" />
-<glyph unicode="j" horiz-adv-x="608" d="M-90 -492q-104 0 -174 25v242q61 -21 114 -21q137 0 173 170l253 1194h302l-265 -1239q-77 -371 -403 -371zM324 1380q0 87 47.5 131.5t134.5 44.5q73 0 111 -31t38 -89q0 -80 -44 -129.5t-136 -49.5q-151 0 -151 123z" />
-<glyph unicode="k" horiz-adv-x="1163" d="M920 1118h344l-498 -504l285 -614h-336l-183 420l-120 -72l-74 -348h-301l330 1556h301l-148 -694q-8 -41 -29 -117l-28 -102h4z" />
-<glyph unicode="l" horiz-adv-x="608" d="M338 0h-301l330 1556h301z" />
-<glyph unicode="m" horiz-adv-x="1853" d="M844 1139q219 0 262 -228h6q68 110 160.5 169t197.5 59q136 0 207.5 -85t71.5 -237q0 -76 -23 -180l-133 -637h-301l138 653q16 68 16 119q0 123 -98 123q-92 0 -166.5 -112t-118.5 -318l-96 -465h-301l137 653q16 68 16 119q0 123 -98 123q-92 0 -167 -114t-118 -318 l-98 -463h-301l237 1118h230l-21 -207h6q146 228 355 228z" />
-<glyph unicode="n" horiz-adv-x="1237" d="M977 0h-301l137 653q16 68 16 119q0 123 -108 123q-92 0 -167 -114t-118 -318l-98 -463h-301l237 1118h230l-21 -207h6q146 228 355 228q138 0 213.5 -83.5t75.5 -238.5q0 -73 -23 -180z" />
-<glyph unicode="o" horiz-adv-x="1198" d="M805 696q0 197 -143 197q-75 0 -134.5 -61t-97 -179t-37.5 -243q0 -185 150 -185q75 0 135 61.5t93.5 171t33.5 238.5zM1108 696q0 -211 -70.5 -374t-203.5 -252.5t-316 -89.5q-195 0 -311.5 117.5t-116.5 312.5q0 213 71.5 379.5t206.5 258t316 91.5q196 0 310 -118 t114 -325z" />
-<glyph unicode="p" horiz-adv-x="1219" d="M813 1139q146 0 230.5 -107.5t84.5 -300.5q0 -191 -68.5 -367.5t-187.5 -280t-262 -103.5q-83 0 -143 37t-111 126h-8q-12 -159 -43 -295l-72 -340h-301l342 1610h230l-17 -170h9q138 191 317 191zM692 895q-68 0 -131.5 -67.5t-102 -180t-38.5 -248.5q0 -80 37 -128 t102 -48q67 0 128 69t98.5 189.5t37.5 237.5q0 176 -131 176z" />
-<glyph unicode="q" horiz-adv-x="1217" d="M391 -20q-88 0 -156 47.5t-106.5 138.5t-38.5 219q0 198 72 377.5t189 278t257 98.5q86 0 152.5 -37.5t124.5 -126.5h8l57 143h232l-342 -1610h-301q47 218 73 337.5t84 304.5h-8q-72 -94 -143 -132t-154 -38zM535 223q64 0 127.5 70t100 181t36.5 245q0 80 -37.5 128 t-102.5 48q-68 0 -129.5 -72t-98 -190t-36.5 -234q0 -88 36.5 -132t103.5 -44z" />
-<glyph unicode="r" horiz-adv-x="862" d="M842 1139q59 0 96 -11l-66 -290q-45 16 -100 16q-116 0 -203.5 -91.5t-124.5 -262.5l-106 -500h-301l237 1118h230l-21 -207h6q147 228 353 228z" />
-<glyph unicode="s" horiz-adv-x="969" d="M829 369q0 -188 -124.5 -288.5t-346.5 -100.5q-107 0 -186.5 15t-148.5 50v248q157 -90 319 -90q80 0 131 32.5t51 88.5q0 43 -37 77t-131 86q-121 68 -169 135.5t-48 159.5q0 170 110.5 263.5t315.5 93.5q201 0 363 -95l-99 -215q-140 84 -258 84q-57 0 -92 -25.5 t-35 -68.5q0 -39 32 -68.5t120 -74.5q123 -63 178 -137t55 -170z" />
-<glyph unicode="t" horiz-adv-x="840" d="M514 223q65 0 162 35v-225q-111 -53 -266 -53q-150 0 -220.5 63t-70.5 195q0 50 12 112l115 539h-152l29 147l196 84l132 236h194l-49 -238h283l-50 -229h-282l-115 -539q-6 -30 -6 -53q0 -74 88 -74z" />
-<glyph unicode="u" horiz-adv-x="1237" d="M262 1118h301l-137 -653q-16 -68 -16 -119q0 -123 108 -123q92 0 167 114t118 318l98 463h301l-237 -1118h-230l21 207h-6q-145 -227 -355 -227q-138 0 -211 82.5t-73 238.5q0 93 24 213z" />
-<glyph unicode="v" horiz-adv-x="1049" d="M455 301q55 153 92 223l297 594h323l-604 -1118h-323l-138 1118h295l45 -586q7 -133 7 -231h6z" />
-<glyph unicode="w" horiz-adv-x="1614" d="M856 860q-62 -178 -123 -319l-233 -541h-324l-51 1118h281l4 -495l-4 -167l-7 -171h4q6 20 14 41.5t51 136.5t46 119l231 536h328v-536q0 -142 -10 -297h6l28 80q73 208 95 258l219 495h307l-530 -1118h-330l-6 520q0 155 10 340h-6z" />
-<glyph unicode="x" horiz-adv-x="1087" d="M379 573l-225 545h321l115 -334l244 334h354l-467 -561l244 -557h-326l-125 342l-264 -342h-350z" />
-<glyph unicode="y" horiz-adv-x="1063" d="M102 1118h295l56 -518q14 -122 14 -293h6q20 51 44 119.5t65 153.5l260 538h327l-680 -1278q-177 -332 -483 -332q-90 0 -147 19v240q68 -13 116 -13q84 0 147.5 48t117.5 149l26 49z" />
-<glyph unicode="z" horiz-adv-x="932" d="M748 0h-795l35 180l575 705h-397l51 233h750l-43 -200l-566 -685h439z" />
-<glyph unicode="{" horiz-adv-x="727" d="M201 319q0 140 -209 140l45 229q122 0 192.5 41.5t92.5 138.5l61 285q38 170 131 239.5t270 69.5h84l-49 -225q-90 -2 -130.5 -34.5t-55.5 -106.5l-66 -297q-45 -207 -276 -236v-8q85 -26 126.5 -82.5t41.5 -134.5q0 -44 -15 -113l-36 -178q-7 -28 -7 -51q0 -54 33.5 -74 t91.5 -20v-226h-53q-167 0 -253.5 63.5t-86.5 184.5q0 57 14 125l39 184q15 69 15 86z" />
-<glyph unicode="|" d="M455 1550h219v-2015h-219v2015z" />
-<glyph unicode="}" horiz-adv-x="727" d="M256 1462q340 0 340 -248q0 -56 -14 -124l-39 -185q-15 -69 -15 -86q0 -139 209 -139l-45 -229q-122 0 -192.5 -42t-91.5 -139l-62 -284q-37 -170 -130.5 -240t-270.5 -70h-45v226q93 3 137 35.5t59 105.5l66 297q25 111 95 166t181 69v9q-168 51 -168 217q0 43 15 112 l37 179q6 30 6 51q0 54 -36.5 74t-109.5 20l41 225h33z" />
-<glyph unicode="~" d="M342 672q-54 0 -116.5 -33t-116.5 -88v231q101 109 256 109q64 0 117 -14t139 -50q64 -27 111 -41t95 -14q51 0 112 30.5t122 90.5v-231q-103 -109 -256 -109q-59 0 -109 11.5t-147 51.5q-89 38 -127 47t-80 9z" />
-<glyph unicode="&#xa1;" horiz-adv-x="586" d="M182 606h242l-158 -977h-340zM549 977q0 -92 -55.5 -145.5t-149.5 -53.5q-68 0 -108.5 38t-40.5 108q0 85 54 139.5t144 54.5q73 0 114.5 -37t41.5 -104z" />
-<glyph unicode="&#xa2;" d="M575 -20h-188l49 210q-134 36 -203 136t-69 258q0 193 62.5 355t178 262.5t267.5 123.5l33 158h188l-35 -158q118 -14 225 -65l-92 -230q-53 23 -105 40t-118 17q-133 0 -216 -143t-83 -336q0 -96 45 -144t127 -48q75 0 140 23.5t134 58.5v-246q-136 -71 -299 -80z" />
-<glyph unicode="&#xa3;" d="M872 1485q195 0 369 -86l-113 -232q-141 68 -237 68q-75 0 -123 -39.5t-68 -132.5l-47 -229h299l-45 -220h-299l-18 -84q-42 -195 -209 -270h655l-55 -260h-993l49 246q196 48 244 264l22 104h-192l45 220h192l49 247q41 197 162 300.5t313 103.5z" />
-<glyph unicode="&#xa4;" d="M190 723q0 102 54 197l-129 127l147 147l127 -127q91 53 197 53q105 0 196 -55l127 129l150 -143l-129 -129q53 -89 53 -199q0 -107 -53 -199l125 -125l-146 -145l-127 125q-95 -51 -196 -51q-115 0 -199 51l-125 -123l-145 145l127 125q-54 93 -54 197zM397 723 q0 -77 54.5 -132.5t134.5 -55.5q81 0 136.5 55t55.5 133q0 80 -56.5 135t-135.5 55q-78 0 -133.5 -56t-55.5 -134z" />
-<glyph unicode="&#xa5;" d="M608 872l371 590h311l-506 -747h203l-39 -178h-252l-28 -138h252l-37 -178h-252l-47 -221h-291l47 221h-252l37 178h252l29 138h-252l39 178h196l-192 747h297z" />
-<glyph unicode="&#xa6;" d="M455 1550h219v-815h-219v815zM455 350h219v-815h-219v815z" />
-<glyph unicode="&#xa7;" horiz-adv-x="995" d="M150 760q0 89 47.5 163t154.5 142q-42 34 -70 84.5t-28 107.5q0 149 117 234.5t313 85.5q172 0 344 -88l-82 -193q-147 84 -282 84q-144 0 -144 -106q0 -43 40.5 -76t127.5 -72q242 -106 242 -303q0 -188 -193 -303q38 -35 64 -85.5t26 -108.5q0 -161 -126 -253.5 t-345 -92.5q-204 0 -336 75v224q172 -105 345 -105q99 0 144.5 35t45.5 92q0 39 -33 72.5t-127 79.5q-117 57 -181 131t-64 176zM506 967q-51 -25 -82 -70.5t-31 -99.5t43.5 -96.5t143.5 -88.5q49 31 75.5 78.5t26.5 95.5q0 109 -176 181z" />
-<glyph unicode="&#xa8;" horiz-adv-x="1135" d="M397 1382q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5t-121 -43.5q-135 0 -135 110zM799 1382q0 78 42 118t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5q-135 0 -135 110z" />
-<glyph unicode="&#xa9;" horiz-adv-x="1704" d="M932 1010q-111 0 -163 -73t-52 -214q0 -134 55.5 -203t159.5 -69q43 0 108.5 15.5t124.5 43.5v-191q-131 -57 -262 -57q-196 0 -307 122.5t-111 336.5q0 225 117.5 351t325.5 126q142 0 284 -72l-75 -174q-114 58 -205 58zM125 731q0 200 100 375t275 276t377 101 q199 0 373.5 -99t276 -275.5t101.5 -377.5q0 -199 -98.5 -373t-272.5 -276t-380 -102q-207 0 -382 103.5t-272.5 276.5t-97.5 371zM266 731q0 -164 81.5 -305t224 -223t305.5 -82q167 0 308 83t221.5 223.5t80.5 303.5t-80.5 303.5t-222 223.5t-307.5 83 q-164 0 -306.5 -82.5t-223.5 -223.5t-81 -304z" />
-<glyph unicode="&#xaa;" horiz-adv-x="772" d="M369 752q-103 0 -160 70t-57 198q0 117 46 228t123 171t177 60q120 0 180 -103h6l39 90h154l-158 -702h-154l8 92h-2q-80 -104 -202 -104zM442 903q45 0 84 41.5t65.5 120t26.5 154.5q0 106 -88 106q-73 0 -123.5 -96t-50.5 -215q0 -111 86 -111z" />
-<glyph unicode="&#xab;" horiz-adv-x="1151" d="M72 569l401 463l191 -155l-279 -334l135 -350l-246 -103l-202 461v18zM559 569l402 463l190 -155l-279 -334l136 -350l-246 -103l-203 461v18z" />
-<glyph unicode="&#xac;" d="M1061 248h-219v364h-733v219h952v-583z" />
-<glyph unicode="&#xad;" horiz-adv-x="659" d="M41 424zM41 424l53 250h524l-53 -250h-524z" />
-<glyph unicode="&#xae;" horiz-adv-x="1704" d="M1237 899q0 -86 -44 -149.5t-130 -96.5l197 -360h-254l-138 297h-67v-297h-230v874h308q173 0 265.5 -67.5t92.5 -200.5zM801 758h51q72 0 113 31t41 92q0 59 -35.5 88.5t-116.5 29.5h-53v-241zM125 731q0 200 100 375t275 276t377 101q199 0 373.5 -99t276 -275.5 t101.5 -377.5q0 -199 -98.5 -373t-272.5 -276t-380 -102q-207 0 -382 103.5t-272.5 276.5t-97.5 371zM266 731q0 -164 81.5 -305t224 -223t305.5 -82q167 0 308 83t221.5 223.5t80.5 303.5t-80.5 303.5t-222 223.5t-307.5 83q-164 0 -306.5 -82.5t-223.5 -223.5t-81 -304z " />
-<glyph unicode="&#xaf;" horiz-adv-x="1024" d="M1030 1556h-1036l45 201h1036z" />
-<glyph unicode="&#xb0;" horiz-adv-x="877" d="M164 1137q0 93 46.5 173.5t127.5 126.5t172 46q93 0 173.5 -47t126.5 -127t46 -172q0 -93 -46 -173t-126 -125.5t-174 -45.5q-93 0 -173 45t-126.5 125t-46.5 174zM354 1137q0 -63 45.5 -108.5t110.5 -45.5q66 0 111 46t45 108q0 63 -45.5 110t-110.5 47t-110.5 -47.5 t-45.5 -109.5z" />
-<glyph unicode="&#xb1;" d="M475 674h-366v219h366v369h219v-369h367v-219h-367v-365h-219v365zM109 0v219h952v-219h-952z" />
-<glyph unicode="&#xb2;" horiz-adv-x="776" d="M707 586h-648l35 166l273 219q111 91 141 122t44.5 59t14.5 56q0 42 -25.5 62t-60.5 20q-86 0 -188 -82l-100 158q74 57 156 87t192 30q123 0 196.5 -63t73.5 -160q0 -70 -22 -123t-70 -103.5t-189 -152.5l-129 -95h347z" />
-<glyph unicode="&#xb3;" horiz-adv-x="776" d="M813 1270q0 -87 -51 -145.5t-166 -88.5v-4q154 -33 154 -176q0 -131 -107 -209t-285 -78q-75 0 -145.5 15.5t-120.5 40.5v192q125 -72 254 -72q76 0 125 30.5t49 88.5q0 37 -26 62.5t-88 25.5h-127l34 160h90q84 0 132.5 28t48.5 85q0 40 -26 60t-71 20q-86 0 -188 -66 l-82 150q142 92 313 92q130 0 206.5 -55.5t76.5 -155.5z" />
-<glyph unicode="&#xb4;" horiz-adv-x="1135" d="M483 1266q79 88 222 303h335v-17q-46 -56 -154 -152.5t-194 -158.5h-209v25z" />
-<glyph unicode="&#xb5;" horiz-adv-x="1249" d="M424 348q0 -60 31.5 -92.5t79.5 -32.5q90 0 162.5 106.5t117.5 319.5l98 469h301l-237 -1118h-229l18 176h-6q-117 -196 -266 -196q-51 0 -89.5 19.5t-58.5 47.5h-6q-8 -66 -21.5 -139t-82.5 -400h-304l342 1610h301l-135 -645q-16 -70 -16 -125z" />
-<glyph unicode="&#xb6;" horiz-adv-x="1341" d="M1202 -260h-162v1616h-166v-1616h-161v819q-62 -18 -146 -18q-216 0 -318 125t-102 376q0 256 107.5 385t343.5 129h604v-1816z" />
-<glyph unicode="&#xb7;" horiz-adv-x="584" d="M131 553zM131 695q0 90 53.5 144t150.5 54q68 0 109 -38t41 -107q0 -87 -55 -141t-144 -54q-73 0 -114 37.5t-41 104.5z" />
-<glyph unicode="&#xb8;" horiz-adv-x="420" d="M262 -250q0 -116 -83 -179t-234 -63q-86 0 -152 23v168q63 -23 125 -23q102 0 102 82q0 34 -31 56.5t-110 31.5l96 154h185l-39 -72q141 -49 141 -178z" />
-<glyph unicode="&#xb9;" horiz-adv-x="776" d="M528 1462h207l-186 -876h-246l84 397q24 109 55 207q-16 -15 -80 -60l-131 -81l-102 165z" />
-<glyph unicode="&#xba;" horiz-adv-x="754" d="M809 1194q0 -128 -48.5 -232.5t-132.5 -157t-196 -52.5q-134 0 -202 75t-68 211q0 197 104 319t277 122q129 0 197.5 -73.5t68.5 -211.5zM522 1315q-64 0 -107.5 -89.5t-43.5 -199.5q0 -111 80 -111q63 0 105 85.5t42 207.5q0 107 -76 107z" />
-<glyph unicode="&#xbb;" horiz-adv-x="1151" d="M1079 535l-401 -463l-191 155l279 334l-135 350l246 103l202 -461v-18zM592 535l-402 -463l-190 155l279 334l-136 350l246 103l203 -461v-18z" />
-<glyph unicode="&#xbc;" horiz-adv-x="1804" d="M97 0zM1500 1462l-1084 -1462h-239l1087 1462h236zM496 1462h207l-186 -876h-246l84 397q24 109 55 207q-16 -15 -80 -60l-131 -81l-102 165zM1573 152h-119l-32 -151h-238l33 151h-373l31 174l475 557h260l-121 -563h119zM1252 320l58 231l22 74q-13 -20 -43 -58 t-211 -247h174z" />
-<glyph unicode="&#xbd;" horiz-adv-x="1804" d="M97 0zM1588 1h-648l35 166l273 219q111 91 141 122t44.5 59t14.5 56q0 42 -25.5 62t-60.5 20q-86 0 -188 -82l-100 158q74 57 156 87t192 30q123 0 196.5 -63t73.5 -160q0 -70 -22 -123t-70 -103.5t-189 -152.5l-129 -95h347zM496 1462h207l-186 -876h-246l84 397 q24 109 55 207q-16 -15 -80 -60l-131 -81l-102 165zM1500 1462l-1084 -1462h-239l1087 1462h236z" />
-<glyph unicode="&#xbe;" horiz-adv-x="1804" d="M133 0zM1633 1462l-1084 -1462h-239l1087 1462h236zM1634 152h-119l-32 -151h-238l33 151h-373l31 174l475 557h260l-121 -563h119zM1313 320l58 231l22 74q-13 -20 -43 -58t-211 -247h174zM854 1270q0 -87 -51 -145.5t-166 -88.5v-4q154 -33 154 -176q0 -131 -107 -209 t-285 -78q-75 0 -145.5 15.5t-120.5 40.5v192q125 -72 254 -72q76 0 125 30.5t49 88.5q0 37 -26 62.5t-88 25.5h-127l34 160h90q84 0 132.5 28t48.5 85q0 40 -26 60t-71 20q-86 0 -188 -66l-82 150q142 92 313 92q130 0 206.5 -55.5t76.5 -155.5z" />
-<glyph unicode="&#xbf;" horiz-adv-x="940" d="M678 606l-14 -78q-19 -105 -76.5 -180t-169.5 -151q-122 -83 -156.5 -126t-34.5 -98q0 -118 133 -118q50 0 106.5 16t201.5 84l92 -221q-221 -125 -445 -125q-177 0 -280 87.5t-103 244.5q0 82 28.5 148.5t83.5 124t189 146.5q93 62 128 106.5t51 106.5l8 33h258z M772 977q0 -92 -55.5 -145.5t-149.5 -53.5q-68 0 -108.5 38t-40.5 108q0 86 54.5 140t143.5 54q73 0 114.5 -37t41.5 -104z" />
-<glyph unicode="&#xc0;" horiz-adv-x="1286" d="M0 0zM842 348h-473l-172 -348h-320l766 1468h373l147 -1468h-297zM827 608l-26 350q-10 131 -10 253v36q-44 -120 -109 -254l-188 -385h333zM965 1579h-184q-71 69 -138.5 153.5t-103.5 153.5v21h311q36 -148 115 -303v-25z" />
-<glyph unicode="&#xc1;" horiz-adv-x="1286" d="M0 0zM842 348h-473l-172 -348h-320l766 1468h373l147 -1468h-297zM827 608l-26 350q-10 131 -10 253v36q-44 -120 -109 -254l-188 -385h333zM735 1604q79 88 222 303h335v-17q-46 -56 -154 -152.5t-194 -158.5h-209v25z" />
-<glyph unicode="&#xc2;" horiz-adv-x="1286" d="M0 0zM842 348h-473l-172 -348h-320l766 1468h373l147 -1468h-297zM827 608l-26 350q-10 131 -10 253v36q-44 -120 -109 -254l-188 -385h333zM1235 1579h-198q-63 53 -162 168q-105 -88 -232 -168h-217v25q63 57 153 147t142 156h338q22 -54 74 -142.5t102 -160.5v-25z " />
-<glyph unicode="&#xc3;" horiz-adv-x="1286" d="M0 0zM842 348h-473l-172 -348h-320l766 1468h373l147 -1468h-297zM827 608l-26 350q-10 131 -10 253v36q-44 -120 -109 -254l-188 -385h333zM999 1579q-49 0 -86.5 16.5t-69.5 36t-61.5 36t-62.5 16.5q-31 0 -55.5 -28t-38.5 -79h-177q59 309 281 309q49 0 87.5 -16.5 t71.5 -36t62 -35.5t60 -16q34 0 58 25.5t46 80.5h172q-66 -309 -287 -309z" />
-<glyph unicode="&#xc4;" horiz-adv-x="1286" d="M0 0zM842 348h-473l-172 -348h-320l766 1468h373l147 -1468h-297zM827 608l-26 350q-10 131 -10 253v36q-44 -120 -109 -254l-188 -385h333zM516 1720q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5t-121 -43.5q-135 0 -135 110zM918 1720q0 78 42 118t120 40 q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5q-135 0 -135 110z" />
-<glyph unicode="&#xc5;" horiz-adv-x="1286" d="M0 0zM842 348h-473l-172 -348h-320l766 1468h373l147 -1468h-297zM827 608l-26 350q-10 131 -10 253v36q-44 -120 -109 -254l-188 -385h333zM1087 1567q0 -107 -70 -173.5t-184 -66.5q-110 0 -179 63.5t-69 174.5q0 109 68.5 173t179.5 64q110 0 182 -65t72 -170z M930 1565q0 45 -27.5 70.5t-69.5 25.5t-69 -25.5t-27 -70.5t24 -71t72 -26q42 0 69.5 26t27.5 71z" />
-<glyph unicode="&#xc6;" horiz-adv-x="1833" d="M1593 0h-817l74 348h-426l-219 -348h-328l922 1462h1104l-54 -254h-512l-67 -321h477l-55 -254h-478l-79 -377h512zM905 608l127 600h-80l-364 -600h317z" />
-<glyph unicode="&#xc7;" horiz-adv-x="1253" d="M123 0zM905 1227q-132 0 -237.5 -81t-169.5 -238.5t-64 -338.5q0 -167 68.5 -248t218.5 -81q146 0 338 77v-260q-199 -77 -400 -77q-254 0 -395 149.5t-141 423.5q0 262 104 482.5t278 335t400 114.5q125 0 222 -22.5t208 -82.5l-118 -250q-106 59 -175 78t-137 19z M825 -250q0 -116 -83 -179t-234 -63q-86 0 -152 23v168q63 -23 125 -23q102 0 102 82q0 34 -31 56.5t-110 31.5l96 154h185l-39 -72q141 -49 141 -178z" />
-<glyph unicode="&#xc8;" horiz-adv-x="1110" d="M53 0zM870 0h-817l309 1462h818l-54 -254h-512l-67 -321h477l-55 -254h-477l-80 -377h512zM906 1579h-184q-71 69 -138.5 153.5t-103.5 153.5v21h311q36 -148 115 -303v-25z" />
-<glyph unicode="&#xc9;" horiz-adv-x="1110" d="M53 0zM870 0h-817l309 1462h818l-54 -254h-512l-67 -321h477l-55 -254h-477l-80 -377h512zM608 1604q79 88 222 303h335v-17q-46 -56 -154 -152.5t-194 -158.5h-209v25z" />
-<glyph unicode="&#xca;" horiz-adv-x="1110" d="M53 0zM870 0h-817l309 1462h818l-54 -254h-512l-67 -321h477l-55 -254h-477l-80 -377h512zM1177 1579h-198q-63 53 -162 168q-105 -88 -232 -168h-217v25q63 57 153 147t142 156h338q22 -54 74 -142.5t102 -160.5v-25z" />
-<glyph unicode="&#xcb;" horiz-adv-x="1110" d="M53 0zM870 0h-817l309 1462h818l-54 -254h-512l-67 -321h477l-55 -254h-477l-80 -377h512zM438 1720q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5t-121 -43.5q-135 0 -135 110zM840 1720q0 78 42 118t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5 t-120.5 -43.5q-135 0 -135 110z" />
-<glyph unicode="&#xcc;" horiz-adv-x="659" d="M53 0zM53 0l312 1462h305l-312 -1462h-305zM667 1579h-184q-71 69 -138.5 153.5t-103.5 153.5v21h311q36 -148 115 -303v-25z" />
-<glyph unicode="&#xcd;" horiz-adv-x="659" d="M53 0zM53 0l312 1462h305l-312 -1462h-305zM414 1604q79 88 222 303h335v-17q-46 -56 -154 -152.5t-194 -158.5h-209v25z" />
-<glyph unicode="&#xce;" horiz-adv-x="659" d="M53 0zM53 0l312 1462h305l-312 -1462h-305zM937 1579h-198q-63 53 -162 168q-105 -88 -232 -168h-217v25q63 57 153 147t142 156h338q22 -54 74 -142.5t102 -160.5v-25z" />
-<glyph unicode="&#xcf;" horiz-adv-x="659" d="M53 0zM53 0l312 1462h305l-312 -1462h-305zM222 1720q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5t-121 -43.5q-135 0 -135 110zM624 1720q0 78 42 118t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5q-135 0 -135 110z" />
-<glyph unicode="&#xd0;" horiz-adv-x="1386" d="M1323 909q0 -280 -98 -486.5t-283.5 -314.5t-437.5 -108h-451l125 596h-141l55 254h139l131 612h396q270 0 417.5 -143t147.5 -410zM518 256q148 0 258 76t172 223.5t62 337.5q0 154 -72.5 234.5t-208.5 80.5h-115l-75 -358h237l-55 -254h-238l-71 -340h106z" />
-<glyph unicode="&#xd1;" horiz-adv-x="1546" d="M53 0zM1247 0h-342l-356 1106h-6l-4 -32q-32 -216 -66 -386l-145 -688h-275l309 1462h357l340 -1077h4q12 76 39 217t180 860h274zM1114 1579q-49 0 -86.5 16.5t-69.5 36t-61.5 36t-62.5 16.5q-31 0 -55.5 -28t-38.5 -79h-177q59 309 281 309q49 0 87.5 -16.5t71.5 -36 t62 -35.5t60 -16q34 0 58 25.5t46 80.5h172q-66 -309 -287 -309z" />
-<glyph unicode="&#xd2;" horiz-adv-x="1495" d="M123 0zM1432 938q0 -283 -99 -506.5t-271 -337.5t-396 -114q-256 0 -399.5 147.5t-143.5 409.5q0 265 99 487.5t273 341.5t402 119q255 0 395 -144t140 -403zM872 1227q-121 0 -222 -91.5t-158.5 -251.5t-57.5 -347q0 -147 66.5 -222t187.5 -75t220.5 87t155.5 246 t56 357q0 142 -65 219.5t-183 77.5zM1053 1579h-184q-71 69 -138.5 153.5t-103.5 153.5v21h311q36 -148 115 -303v-25z" />
-<glyph unicode="&#xd3;" horiz-adv-x="1495" d="M123 0zM1432 938q0 -283 -99 -506.5t-271 -337.5t-396 -114q-256 0 -399.5 147.5t-143.5 409.5q0 265 99 487.5t273 341.5t402 119q255 0 395 -144t140 -403zM872 1227q-121 0 -222 -91.5t-158.5 -251.5t-57.5 -347q0 -147 66.5 -222t187.5 -75t220.5 87t155.5 246 t56 357q0 142 -65 219.5t-183 77.5zM753 1604q79 88 222 303h335v-17q-46 -56 -154 -152.5t-194 -158.5h-209v25z" />
-<glyph unicode="&#xd4;" horiz-adv-x="1495" d="M123 0zM1432 938q0 -283 -99 -506.5t-271 -337.5t-396 -114q-256 0 -399.5 147.5t-143.5 409.5q0 265 99 487.5t273 341.5t402 119q255 0 395 -144t140 -403zM872 1227q-121 0 -222 -91.5t-158.5 -251.5t-57.5 -347q0 -147 66.5 -222t187.5 -75t220.5 87t155.5 246 t56 357q0 142 -65 219.5t-183 77.5zM1308 1579h-198q-63 53 -162 168q-105 -88 -232 -168h-217v25q63 57 153 147t142 156h338q22 -54 74 -142.5t102 -160.5v-25z" />
-<glyph unicode="&#xd5;" horiz-adv-x="1495" d="M123 0zM1432 938q0 -283 -99 -506.5t-271 -337.5t-396 -114q-256 0 -399.5 147.5t-143.5 409.5q0 265 99 487.5t273 341.5t402 119q255 0 395 -144t140 -403zM872 1227q-121 0 -222 -91.5t-158.5 -251.5t-57.5 -347q0 -147 66.5 -222t187.5 -75t220.5 87t155.5 246 t56 357q0 142 -65 219.5t-183 77.5zM1071 1579q-49 0 -86.5 16.5t-69.5 36t-61.5 36t-62.5 16.5q-31 0 -55.5 -28t-38.5 -79h-177q59 309 281 309q49 0 87.5 -16.5t71.5 -36t62 -35.5t60 -16q34 0 58 25.5t46 80.5h172q-66 -309 -287 -309z" />
-<glyph unicode="&#xd6;" horiz-adv-x="1495" d="M123 0zM1432 938q0 -283 -99 -506.5t-271 -337.5t-396 -114q-256 0 -399.5 147.5t-143.5 409.5q0 265 99 487.5t273 341.5t402 119q255 0 395 -144t140 -403zM872 1227q-121 0 -222 -91.5t-158.5 -251.5t-57.5 -347q0 -147 66.5 -222t187.5 -75t220.5 87t155.5 246 t56 357q0 142 -65 219.5t-183 77.5zM585 1720q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5t-121 -43.5q-135 0 -135 110zM987 1720q0 78 42 118t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5q-135 0 -135 110z" />
-<glyph unicode="&#xd7;" d="M428 723l-299 301l152 154l301 -299l305 299l153 -150l-305 -305l301 -303l-149 -152l-305 301l-301 -299l-150 152z" />
-<glyph unicode="&#xd8;" horiz-adv-x="1495" d="M1432 938q0 -283 -99 -506.5t-271 -337.5t-396 -114q-180 0 -304 71l-108 -137l-154 115l121 151q-98 138 -98 357q0 265 99 487.5t273 341.5t402 119q182 0 305 -76l105 131l151 -117l-117 -145q91 -134 91 -340zM870 1233q-126 0 -229 -91.5t-160 -252.5t-57 -352 q0 -32 8 -101l596 754q-69 43 -158 43zM1133 930l-5 80l-589 -740q59 -37 153 -37q124 0 226 89t158.5 247.5t56.5 360.5z" />
-<glyph unicode="&#xd9;" horiz-adv-x="1415" d="M141 0zM1434 1462l-201 -946q-57 -266 -218 -401t-419 -135q-212 0 -333.5 113.5t-121.5 307.5q0 72 15 138l196 923h305l-194 -919q-17 -74 -17 -125q0 -178 189 -178q123 0 195 76.5t104 228.5l194 917h306zM1002 1579h-184q-71 69 -138.5 153.5t-103.5 153.5v21h311 q36 -148 115 -303v-25z" />
-<glyph unicode="&#xda;" horiz-adv-x="1415" d="M141 0zM1434 1462l-201 -946q-57 -266 -218 -401t-419 -135q-212 0 -333.5 113.5t-121.5 307.5q0 72 15 138l196 923h305l-194 -919q-17 -74 -17 -125q0 -178 189 -178q123 0 195 76.5t104 228.5l194 917h306zM757 1604q79 88 222 303h335v-17q-46 -56 -154 -152.5 t-194 -158.5h-209v25z" />
-<glyph unicode="&#xdb;" horiz-adv-x="1415" d="M141 0zM1434 1462l-201 -946q-57 -266 -218 -401t-419 -135q-212 0 -333.5 113.5t-121.5 307.5q0 72 15 138l196 923h305l-194 -919q-17 -74 -17 -125q0 -178 189 -178q123 0 195 76.5t104 228.5l194 917h306zM1284 1579h-198q-63 53 -162 168q-105 -88 -232 -168h-217 v25q63 57 153 147t142 156h338q22 -54 74 -142.5t102 -160.5v-25z" />
-<glyph unicode="&#xdc;" horiz-adv-x="1415" d="M141 0zM1434 1462l-201 -946q-57 -266 -218 -401t-419 -135q-212 0 -333.5 113.5t-121.5 307.5q0 72 15 138l196 923h305l-194 -919q-17 -74 -17 -125q0 -178 189 -178q123 0 195 76.5t104 228.5l194 917h306zM565 1720q0 78 42.5 118t119.5 40q133 0 133 -108 q0 -73 -39 -116.5t-121 -43.5q-135 0 -135 110zM967 1720q0 78 42 118t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5q-135 0 -135 110z" />
-<glyph unicode="&#xdd;" horiz-adv-x="1155" d="M186 0zM627 870l374 592h342l-618 -903l-119 -559h-303l119 559l-236 903h312zM606 1604q79 88 222 303h335v-17q-46 -56 -154 -152.5t-194 -158.5h-209v25z" />
-<glyph unicode="&#xde;" horiz-adv-x="1188" d="M1143 807q0 -243 -170.5 -378.5t-466.5 -135.5h-86l-62 -293h-305l309 1462h306l-50 -229h35q242 0 366 -106.5t124 -319.5zM475 547h55q139 0 222.5 66.5t83.5 185.5q0 180 -195 180h-74z" />
-<glyph unicode="&#xdf;" horiz-adv-x="1350" d="M846 1567q208 0 331 -90t123 -240q0 -114 -49 -192t-178 -152q-73 -42 -96 -68.5t-23 -54.5q0 -23 22 -49.5t79 -69.5q107 -83 144.5 -150.5t37.5 -150.5q0 -170 -123.5 -270t-337.5 -100q-187 0 -297 61v240q128 -78 258 -78q101 0 148 33t47 86q0 40 -26.5 75 t-108.5 97q-94 72 -129 130t-35 126q0 84 45 145t162 127q66 37 104.5 76t38.5 96q0 62 -39.5 98.5t-124.5 36.5q-96 0 -156 -51.5t-85 -171.5l-254 -1219q-43 -198 -147 -288.5t-277 -90.5q-90 0 -160 25v242q61 -21 115 -21q133 0 170 178l254 1207q47 224 182 326 t385 102z" />
-<glyph unicode="&#xe0;" horiz-adv-x="1217" d="M90 0zM406 -20q-147 0 -231.5 106.5t-84.5 298.5q0 198 72 377.5t189 278t257 98.5q97 0 167.5 -42t109.5 -122h8l57 143h232l-238 -1118h-229l14 145h-4q-134 -165 -319 -165zM524 223q69 0 133 67t103 181.5t39 259.5q0 71 -38.5 117.5t-101.5 46.5q-68 0 -129.5 -72 t-98 -190t-36.5 -234q0 -88 33.5 -132t95.5 -44zM869 1241h-184q-71 69 -138.5 153.5t-103.5 153.5v21h311q36 -148 115 -303v-25z" />
-<glyph unicode="&#xe1;" horiz-adv-x="1217" d="M90 0zM406 -20q-147 0 -231.5 106.5t-84.5 298.5q0 198 72 377.5t189 278t257 98.5q97 0 167.5 -42t109.5 -122h8l57 143h232l-238 -1118h-229l14 145h-4q-134 -165 -319 -165zM524 223q69 0 133 67t103 181.5t39 259.5q0 71 -38.5 117.5t-101.5 46.5q-68 0 -129.5 -72 t-98 -190t-36.5 -234q0 -88 33.5 -132t95.5 -44zM598 1266q79 88 222 303h335v-17q-46 -56 -154 -152.5t-194 -158.5h-209v25z" />
-<glyph unicode="&#xe2;" horiz-adv-x="1217" d="M90 0zM406 -20q-147 0 -231.5 106.5t-84.5 298.5q0 198 72 377.5t189 278t257 98.5q97 0 167.5 -42t109.5 -122h8l57 143h232l-238 -1118h-229l14 145h-4q-134 -165 -319 -165zM524 223q69 0 133 67t103 181.5t39 259.5q0 71 -38.5 117.5t-101.5 46.5q-68 0 -129.5 -72 t-98 -190t-36.5 -234q0 -88 33.5 -132t95.5 -44zM1120 1240h-198q-63 53 -162 168q-105 -88 -232 -168h-217v25q63 57 153 147t142 156h338q22 -54 74 -142.5t102 -160.5v-25z" />
-<glyph unicode="&#xe3;" horiz-adv-x="1217" d="M90 0zM406 -20q-147 0 -231.5 106.5t-84.5 298.5q0 198 72 377.5t189 278t257 98.5q97 0 167.5 -42t109.5 -122h8l57 143h232l-238 -1118h-229l14 145h-4q-134 -165 -319 -165zM524 223q69 0 133 67t103 181.5t39 259.5q0 71 -38.5 117.5t-101.5 46.5q-68 0 -129.5 -72 t-98 -190t-36.5 -234q0 -88 33.5 -132t95.5 -44zM884 1241q-49 0 -86.5 16.5t-69.5 36t-61.5 36t-62.5 16.5q-31 0 -55.5 -28t-38.5 -79h-177q59 309 281 309q49 0 87.5 -16.5t71.5 -36t62 -35.5t60 -16q34 0 58 25.5t46 80.5h172q-66 -309 -287 -309z" />
-<glyph unicode="&#xe4;" horiz-adv-x="1217" d="M90 0zM406 -20q-147 0 -231.5 106.5t-84.5 298.5q0 198 72 377.5t189 278t257 98.5q97 0 167.5 -42t109.5 -122h8l57 143h232l-238 -1118h-229l14 145h-4q-134 -165 -319 -165zM524 223q69 0 133 67t103 181.5t39 259.5q0 71 -38.5 117.5t-101.5 46.5q-68 0 -129.5 -72 t-98 -190t-36.5 -234q0 -88 33.5 -132t95.5 -44zM397 1382q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5t-121 -43.5q-135 0 -135 110zM799 1382q0 78 42 118t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5q-135 0 -135 110z" />
-<glyph unicode="&#xe5;" horiz-adv-x="1217" d="M90 0zM406 -20q-147 0 -231.5 106.5t-84.5 298.5q0 198 72 377.5t189 278t257 98.5q97 0 167.5 -42t109.5 -122h8l57 143h232l-238 -1118h-229l14 145h-4q-134 -165 -319 -165zM524 223q69 0 133 67t103 181.5t39 259.5q0 71 -38.5 117.5t-101.5 46.5q-68 0 -129.5 -72 t-98 -190t-36.5 -234q0 -88 33.5 -132t95.5 -44zM1023 1479q0 -107 -70 -173.5t-184 -66.5q-110 0 -179 63.5t-69 174.5q0 109 68.5 173t179.5 64q110 0 182 -65t72 -170zM866 1477q0 45 -27.5 70.5t-69.5 25.5t-69 -25.5t-27 -70.5t24 -71t72 -26q42 0 69.5 26t27.5 71z " />
-<glyph unicode="&#xe6;" horiz-adv-x="1786" d="M1206 -20q-109 0 -179.5 27t-117.5 87l-16 -94h-188l14 145h-6q-71 -88 -146.5 -126.5t-167.5 -38.5q-146 0 -227.5 109t-81.5 296q0 200 68.5 375.5t185 277t258.5 101.5q96 0 160.5 -38.5t114.5 -125.5h6l57 143h188l-18 -90q44 49 120.5 80t168.5 31 q157 0 246.5 -83.5t89.5 -221.5q0 -187 -167 -288.5t-476 -101.5h-52l-2 -19v-19q0 -96 55.5 -147.5t159.5 -51.5q66 0 152 23t162 63v-227q-179 -86 -361 -86zM518 223q72 0 134 68t99 184.5t37 243.5q0 80 -33 128t-102 48q-68 0 -128 -69t-95 -185.5t-35 -241.5 q0 -84 32.5 -130t90.5 -46zM1341 922q-88 0 -166 -80t-102 -195h45q155 0 241.5 48.5t86.5 131.5q0 95 -105 95z" />
-<glyph unicode="&#xe7;" horiz-adv-x="989" d="M90 0zM506 -20q-201 0 -308.5 107.5t-107.5 303.5q0 212 74.5 385.5t209.5 268t308 94.5q182 0 328 -72l-92 -229q-54 23 -106 40t-118 17q-85 0 -153.5 -64t-107 -175.5t-38.5 -239.5q0 -96 45.5 -144.5t126.5 -48.5q76 0 141 23.5t134 58.5v-246q-152 -79 -336 -79z M653 -250q0 -116 -83 -179t-234 -63q-86 0 -152 23v168q63 -23 125 -23q102 0 102 82q0 34 -31 56.5t-110 31.5l96 154h185l-39 -72q141 -49 141 -178z" />
-<glyph unicode="&#xe8;" horiz-adv-x="1141" d="M90 0zM696 922q-88 0 -166 -80t-102 -195h45q155 0 241.5 48.5t86.5 131.5q0 95 -105 95zM532 -20q-210 0 -326 113t-116 319q0 207 82.5 377.5t223.5 260t319 89.5q177 0 276 -81.5t99 -223.5q0 -187 -167 -288.5t-477 -101.5h-51l-2 -21v-20q0 -91 51.5 -143.5 t147.5 -52.5q87 0 158 19t172 67v-227q-172 -86 -390 -86zM849 1241h-184q-71 69 -138.5 153.5t-103.5 153.5v21h311q36 -148 115 -303v-25z" />
-<glyph unicode="&#xe9;" horiz-adv-x="1141" d="M90 0zM696 922q-88 0 -166 -80t-102 -195h45q155 0 241.5 48.5t86.5 131.5q0 95 -105 95zM532 -20q-210 0 -326 113t-116 319q0 207 82.5 377.5t223.5 260t319 89.5q177 0 276 -81.5t99 -223.5q0 -187 -167 -288.5t-477 -101.5h-51l-2 -21v-20q0 -91 51.5 -143.5 t147.5 -52.5q87 0 158 19t172 67v-227q-172 -86 -390 -86zM528 1266q79 88 222 303h335v-17q-46 -56 -154 -152.5t-194 -158.5h-209v25z" />
-<glyph unicode="&#xea;" horiz-adv-x="1141" d="M90 0zM696 922q-88 0 -166 -80t-102 -195h45q155 0 241.5 48.5t86.5 131.5q0 95 -105 95zM532 -20q-210 0 -326 113t-116 319q0 207 82.5 377.5t223.5 260t319 89.5q177 0 276 -81.5t99 -223.5q0 -187 -167 -288.5t-477 -101.5h-51l-2 -21v-20q0 -91 51.5 -143.5 t147.5 -52.5q87 0 158 19t172 67v-227q-172 -86 -390 -86zM1101 1241h-198q-63 53 -162 168q-105 -88 -232 -168h-217v25q63 57 153 147t142 156h338q22 -54 74 -142.5t102 -160.5v-25z" />
-<glyph unicode="&#xeb;" horiz-adv-x="1141" d="M90 0zM696 922q-88 0 -166 -80t-102 -195h45q155 0 241.5 48.5t86.5 131.5q0 95 -105 95zM532 -20q-210 0 -326 113t-116 319q0 207 82.5 377.5t223.5 260t319 89.5q177 0 276 -81.5t99 -223.5q0 -187 -167 -288.5t-477 -101.5h-51l-2 -21v-20q0 -91 51.5 -143.5 t147.5 -52.5q87 0 158 19t172 67v-227q-172 -86 -390 -86zM365 1382q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5t-121 -43.5q-135 0 -135 110zM767 1382q0 78 42 118t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5q-135 0 -135 110z" />
-<glyph unicode="&#xec;" horiz-adv-x="608" d="M37 0zM338 0h-301l237 1118h301zM579 1241h-184q-71 69 -138.5 153.5t-103.5 153.5v21h311q36 -148 115 -303v-25z" />
-<glyph unicode="&#xed;" horiz-adv-x="608" d="M37 0zM338 0h-301l237 1118h301zM291 1266q79 88 222 303h335v-17q-46 -56 -154 -152.5t-194 -158.5h-209v25z" />
-<glyph unicode="&#xee;" horiz-adv-x="608" d="M36 0zM338 0h-301l237 1118h301zM845 1241h-198q-63 53 -162 168q-105 -88 -232 -168h-217v25q63 57 153 147t142 156h338q22 -54 74 -142.5t102 -160.5v-25z" />
-<glyph unicode="&#xef;" horiz-adv-x="608" d="M37 0zM338 0h-301l237 1118h301zM126 1382q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5t-121 -43.5q-135 0 -135 110zM528 1382q0 78 42 118t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5q-135 0 -135 110z" />
-<glyph unicode="&#xf0;" horiz-adv-x="1182" d="M618 1309q-34 34 -124 80l118 186q134 -61 232 -139l237 131l76 -152l-192 -106q81 -107 113 -235t32 -279q0 -249 -69.5 -432.5t-203.5 -283t-323 -99.5q-216 0 -329 110t-113 316q0 165 64.5 301t180.5 212t265 76q83 0 151.5 -31t114.5 -94h6q-20 213 -117 310 l-231 -131l-88 147zM528 205q66 0 122.5 55.5t89 148.5t32.5 193q0 77 -38.5 122.5t-108.5 45.5q-73 0 -130 -53t-88.5 -143t-31.5 -197q0 -81 39 -126.5t114 -45.5z" />
-<glyph unicode="&#xf1;" horiz-adv-x="1237" d="M37 0zM977 0h-301l137 653q16 68 16 119q0 123 -108 123q-92 0 -167 -114t-118 -318l-98 -463h-301l237 1118h230l-21 -207h6q146 228 355 228q138 0 213.5 -83.5t75.5 -238.5q0 -73 -23 -180zM909 1241q-49 0 -86.5 16.5t-69.5 36t-61.5 36t-62.5 16.5q-31 0 -55.5 -28 t-38.5 -79h-177q59 309 281 309q49 0 87.5 -16.5t71.5 -36t62 -35.5t60 -16q34 0 58 25.5t46 80.5h172q-66 -309 -287 -309z" />
-<glyph unicode="&#xf2;" horiz-adv-x="1198" d="M90 0zM805 696q0 197 -143 197q-75 0 -134.5 -61t-97 -179t-37.5 -243q0 -185 150 -185q75 0 135 61.5t93.5 171t33.5 238.5zM1108 696q0 -211 -70.5 -374t-203.5 -252.5t-316 -89.5q-195 0 -311.5 117.5t-116.5 312.5q0 213 71.5 379.5t206.5 258t316 91.5 q196 0 310 -118t114 -325zM845 1241h-184q-71 69 -138.5 153.5t-103.5 153.5v21h311q36 -148 115 -303v-25z" />
-<glyph unicode="&#xf3;" horiz-adv-x="1198" d="M90 0zM805 696q0 197 -143 197q-75 0 -134.5 -61t-97 -179t-37.5 -243q0 -185 150 -185q75 0 135 61.5t93.5 171t33.5 238.5zM1108 696q0 -211 -70.5 -374t-203.5 -252.5t-316 -89.5q-195 0 -311.5 117.5t-116.5 312.5q0 213 71.5 379.5t206.5 258t316 91.5 q196 0 310 -118t114 -325zM571 1266q79 88 222 303h335v-17q-46 -56 -154 -152.5t-194 -158.5h-209v25z" />
-<glyph unicode="&#xf4;" horiz-adv-x="1198" d="M90 0zM805 696q0 197 -143 197q-75 0 -134.5 -61t-97 -179t-37.5 -243q0 -185 150 -185q75 0 135 61.5t93.5 171t33.5 238.5zM1108 696q0 -211 -70.5 -374t-203.5 -252.5t-316 -89.5q-195 0 -311.5 117.5t-116.5 312.5q0 213 71.5 379.5t206.5 258t316 91.5 q196 0 310 -118t114 -325zM1109 1241h-198q-63 53 -162 168q-105 -88 -232 -168h-217v25q63 57 153 147t142 156h338q22 -54 74 -142.5t102 -160.5v-25z" />
-<glyph unicode="&#xf5;" horiz-adv-x="1198" d="M90 0zM805 696q0 197 -143 197q-75 0 -134.5 -61t-97 -179t-37.5 -243q0 -185 150 -185q75 0 135 61.5t93.5 171t33.5 238.5zM1108 696q0 -211 -70.5 -374t-203.5 -252.5t-316 -89.5q-195 0 -311.5 117.5t-116.5 312.5q0 213 71.5 379.5t206.5 258t316 91.5 q196 0 310 -118t114 -325zM865 1241q-49 0 -86.5 16.5t-69.5 36t-61.5 36t-62.5 16.5q-31 0 -55.5 -28t-38.5 -79h-177q59 309 281 309q49 0 87.5 -16.5t71.5 -36t62 -35.5t60 -16q34 0 58 25.5t46 80.5h172q-66 -309 -287 -309z" />
-<glyph unicode="&#xf6;" horiz-adv-x="1198" d="M90 0zM805 696q0 197 -143 197q-75 0 -134.5 -61t-97 -179t-37.5 -243q0 -185 150 -185q75 0 135 61.5t93.5 171t33.5 238.5zM1108 696q0 -211 -70.5 -374t-203.5 -252.5t-316 -89.5q-195 0 -311.5 117.5t-116.5 312.5q0 213 71.5 379.5t206.5 258t316 91.5 q196 0 310 -118t114 -325zM386 1382q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5t-121 -43.5q-135 0 -135 110zM788 1382q0 78 42 118t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5q-135 0 -135 110z" />
-<glyph unicode="&#xf7;" d="M109 612v219h952v-219h-952zM444 373q0 76 37 113.5t103 37.5t102.5 -39t36.5 -112q0 -70 -37 -111t-102 -41t-102.5 39t-37.5 113zM444 1071q0 75 37 113.5t103 38.5q67 0 103 -40.5t36 -111.5q0 -70 -37 -110.5t-102 -40.5t-102.5 39t-37.5 112z" />
-<glyph unicode="&#xf8;" horiz-adv-x="1198" d="M1108 696q0 -211 -70.5 -374t-203.5 -252.5t-316 -89.5q-123 0 -225 53l-109 -135l-141 108l119 148q-72 107 -72 256q0 213 71.5 379.5t206.5 258t316 91.5q131 0 227 -56l70 88l145 -110l-84 -105q66 -107 66 -260zM662 903q-81 0 -144.5 -62.5t-98 -169.5t-34.5 -233 v-12l365 453q-35 24 -88 24zM543 215q114 0 193 133t79 318v16l-358 -444q11 -8 35.5 -15.5t50.5 -7.5z" />
-<glyph unicode="&#xf9;" horiz-adv-x="1237" d="M111 0zM262 1118h301l-137 -653q-16 -68 -16 -119q0 -123 108 -123q92 0 167 114t118 318l98 463h301l-237 -1118h-230l21 207h-6q-145 -227 -355 -227q-138 0 -211 82.5t-73 238.5q0 93 24 213zM845 1241h-184q-71 69 -138.5 153.5t-103.5 153.5v21h311 q36 -148 115 -303v-25z" />
-<glyph unicode="&#xfa;" horiz-adv-x="1237" d="M111 0zM262 1118h301l-137 -653q-16 -68 -16 -119q0 -123 108 -123q92 0 167 114t118 318l98 463h301l-237 -1118h-230l21 207h-6q-145 -227 -355 -227q-138 0 -211 82.5t-73 238.5q0 93 24 213zM610 1266q79 88 222 303h335v-17q-46 -56 -154 -152.5t-194 -158.5h-209 v25z" />
-<glyph unicode="&#xfb;" horiz-adv-x="1237" d="M111 0zM262 1118h301l-137 -653q-16 -68 -16 -119q0 -123 108 -123q92 0 167 114t118 318l98 463h301l-237 -1118h-230l21 207h-6q-145 -227 -355 -227q-138 0 -211 82.5t-73 238.5q0 93 24 213zM1143 1241h-198q-63 53 -162 168q-105 -88 -232 -168h-217v25 q63 57 153 147t142 156h338q22 -54 74 -142.5t102 -160.5v-25z" />
-<glyph unicode="&#xfc;" horiz-adv-x="1237" d="M111 0zM262 1118h301l-137 -653q-16 -68 -16 -119q0 -123 108 -123q92 0 167 114t118 318l98 463h301l-237 -1118h-230l21 207h-6q-145 -227 -355 -227q-138 0 -211 82.5t-73 238.5q0 93 24 213zM411 1382q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5 t-121 -43.5q-135 0 -135 110zM813 1382q0 78 42 118t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5q-135 0 -135 110z" />
-<glyph unicode="&#xfd;" horiz-adv-x="1063" d="M0 0zM102 1118h295l56 -518q14 -122 14 -293h6q20 51 44 119.5t65 153.5l260 538h327l-680 -1278q-177 -332 -483 -332q-90 0 -147 19v240q68 -13 116 -13q84 0 147.5 48t117.5 149l26 49zM497 1266q79 88 222 303h335v-17q-46 -56 -154 -152.5t-194 -158.5h-209v25z" />
-<glyph unicode="&#xfe;" horiz-adv-x="1219" d="M813 1139q150 0 232.5 -106.5t82.5 -301.5q0 -199 -69 -381t-182 -276t-250 -94q-178 0 -271 163h-8q-12 -159 -43 -295l-72 -340h-301l435 2048h301l-66 -307q-29 -131 -80 -280h8q131 170 283 170zM682 895q-71 0 -130 -65t-95.5 -184.5t-36.5 -246.5q0 -80 33.5 -128 t105.5 -48q69 0 129 65t97.5 183.5t37.5 247.5q0 88 -37.5 132t-103.5 44z" />
-<glyph unicode="&#xff;" horiz-adv-x="1063" d="M0 0zM102 1118h295l56 -518q14 -122 14 -293h6q20 51 44 119.5t65 153.5l260 538h327l-680 -1278q-177 -332 -483 -332q-90 0 -147 19v240q68 -13 116 -13q84 0 147.5 48t117.5 149l26 49zM310 1382q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5t-121 -43.5 q-135 0 -135 110zM712 1382q0 78 42 118t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5q-135 0 -135 110z" />
-<glyph unicode="&#x131;" horiz-adv-x="608" d="M338 0h-301l237 1118h301z" />
-<glyph unicode="&#x152;" horiz-adv-x="1845" d="M1606 0h-760q-93 -20 -180 -20q-256 0 -399.5 147.5t-143.5 409.5q0 265 99 487.5t273 341.5t402 119q140 0 209 -23h809l-53 -254h-512l-68 -321h477l-55 -254h-477l-80 -377h512zM688 240q88 0 158 32l194 916q-62 39 -168 39q-121 0 -222 -91.5t-158.5 -251.5 t-57.5 -347q0 -147 66.5 -222t187.5 -75z" />
-<glyph unicode="&#x153;" horiz-adv-x="1806" d="M1198 -20q-116 0 -208 38.5t-138 106.5q-63 -68 -147 -106.5t-207 -38.5q-187 0 -297.5 117t-110.5 317q0 216 69 380.5t200 254.5t309 90q209 0 313 -160q154 160 399 160q177 0 276 -81.5t99 -223.5q0 -187 -167 -288.5t-476 -101.5h-51l-2 -21v-20q0 -91 51 -143.5 t147 -52.5q87 0 158 19t172 67v-227q-93 -46 -185.5 -66t-203.5 -20zM645 893q-71 0 -127 -60.5t-90.5 -176.5t-34.5 -242q0 -91 36.5 -140t109.5 -49q109 0 179 134.5t70 336.5q0 96 -37 146.5t-106 50.5zM1362 922q-88 0 -165.5 -78.5t-102.5 -196.5h45q155 0 241 48.5 t86 131.5q0 95 -104 95z" />
-<glyph unicode="&#x178;" horiz-adv-x="1155" d="M186 0zM627 870l374 592h342l-618 -903l-119 -559h-303l119 559l-236 903h312zM432 1720q0 78 42.5 118t119.5 40q133 0 133 -108q0 -73 -39 -116.5t-121 -43.5q-135 0 -135 110zM834 1720q0 78 42 118t120 40q65 0 99 -28t34 -80q0 -73 -39.5 -116.5t-120.5 -43.5 q-135 0 -135 110z" />
-<glyph unicode="&#x2c6;" horiz-adv-x="1135" d="M1120 1241h-198q-63 53 -162 168q-105 -88 -232 -168h-217v25q63 57 153 147t142 156h338q22 -54 74 -142.5t102 -160.5v-25z" />
-<glyph unicode="&#x2da;" horiz-adv-x="1182" d="M1034 1479q0 -107 -70 -173.5t-184 -66.5q-110 0 -179 63.5t-69 174.5q0 109 68.5 173t179.5 64q110 0 182 -65t72 -170zM877 1477q0 45 -27.5 70.5t-69.5 25.5t-69 -25.5t-27 -70.5t24 -71t72 -26q42 0 69.5 26t27.5 71z" />
-<glyph unicode="&#x2dc;" horiz-adv-x="1135" d="M866 1241q-49 0 -86.5 16.5t-69.5 36t-61.5 36t-62.5 16.5q-31 0 -55.5 -28t-38.5 -79h-177q59 309 281 309q49 0 87.5 -16.5t71.5 -36t62 -35.5t60 -16q34 0 58 25.5t46 80.5h172q-66 -309 -287 -309z" />
-<glyph unicode="&#x2000;" horiz-adv-x="953" />
-<glyph unicode="&#x2001;" horiz-adv-x="1907" />
-<glyph unicode="&#x2002;" horiz-adv-x="953" />
-<glyph unicode="&#x2003;" horiz-adv-x="1907" />
-<glyph unicode="&#x2004;" horiz-adv-x="635" />
-<glyph unicode="&#x2005;" horiz-adv-x="476" />
-<glyph unicode="&#x2006;" horiz-adv-x="317" />
-<glyph unicode="&#x2007;" horiz-adv-x="317" />
-<glyph unicode="&#x2008;" horiz-adv-x="238" />
-<glyph unicode="&#x2009;" horiz-adv-x="381" />
-<glyph unicode="&#x200a;" horiz-adv-x="105" />
-<glyph unicode="&#x2010;" horiz-adv-x="659" d="M41 424l53 250h524l-53 -250h-524z" />
-<glyph unicode="&#x2011;" horiz-adv-x="659" d="M41 424l53 250h524l-53 -250h-524z" />
-<glyph unicode="&#x2012;" horiz-adv-x="659" d="M41 424l53 250h524l-53 -250h-524z" />
-<glyph unicode="&#x2013;" horiz-adv-x="983" d="M41 436l49 230h852l-49 -230h-852z" />
-<glyph unicode="&#x2014;" horiz-adv-x="1966" d="M41 436l49 230h1835l-49 -230h-1835z" />
-<glyph unicode="&#x2018;" horiz-adv-x="440" d="M123 961l-8 22q103 227 262 479h225q-91 -213 -194 -501h-285z" />
-<glyph unicode="&#x2019;" horiz-adv-x="440" d="M586 1462l8 -22q-103 -227 -262 -479h-226q89 206 195 501h285z" />
-<glyph unicode="&#x201a;" horiz-adv-x="569" d="M377 238l8 -23q-103 -227 -262 -479h-225q88 207 194 502h285z" />
-<glyph unicode="&#x201c;" horiz-adv-x="887" d="M569 961l-8 22q103 227 262 479h226q-97 -227 -195 -501h-285zM123 961l-8 22q103 227 262 479h225q-91 -213 -194 -501h-285z" />
-<glyph unicode="&#x201d;" horiz-adv-x="887" d="M586 1462l8 -22q-103 -227 -262 -479h-226q89 206 195 501h285zM1032 1462l8 -22q-103 -227 -262 -479h-225q23 53 46.5 111t148.5 390h284z" />
-<glyph unicode="&#x201e;" horiz-adv-x="1018" d="M377 238l8 -23q-103 -227 -262 -479h-225q88 207 194 502h285zM825 238l9 -23q-100 -221 -263 -479h-225q24 57 49 118.5t146 383.5h284z" />
-<glyph unicode="&#x2022;" horiz-adv-x="739" d="M104 686q0 106 42.5 194t120 136.5t182.5 48.5q120 0 182.5 -67t62.5 -191q0 -177 -91.5 -277t-248.5 -100q-117 0 -183.5 67t-66.5 189z" />
-<glyph unicode="&#x2026;" horiz-adv-x="1706" d="M25 0zM25 115q0 90 53.5 144t150.5 54q68 0 109 -38t41 -107q0 -87 -55 -141t-144 -54q-73 0 -114 37.5t-41 104.5zM586 115q0 90 53.5 144t150.5 54q68 0 109 -38t41 -107q0 -87 -55 -141t-144 -54q-73 0 -114 37.5t-41 104.5zM1147 115q0 90 53.5 144t150.5 54 q68 0 109 -38t41 -107q0 -87 -55 -141t-144 -54q-73 0 -114 37.5t-41 104.5z" />
-<glyph unicode="&#x202f;" horiz-adv-x="381" />
-<glyph unicode="&#x2039;" horiz-adv-x="664" d="M72 569l401 463l191 -155l-279 -334l135 -350l-246 -103l-202 461v18z" />
-<glyph unicode="&#x203a;" horiz-adv-x="664" d="M592 535l-402 -463l-190 155l279 334l-136 350l246 103l203 -461v-18z" />
-<glyph unicode="&#x2044;" horiz-adv-x="256" d="M791 1462l-1084 -1462h-239l1087 1462h236z" />
-<glyph unicode="&#x205f;" horiz-adv-x="476" />
-<glyph unicode="&#x2074;" horiz-adv-x="776" d="M776 737h-119l-32 -151h-238l33 151h-373l31 174l475 557h260l-121 -563h119zM455 905l58 231l22 74q-13 -20 -43 -58t-211 -247h174z" />
-<glyph unicode="&#x20ac;" d="M899 1237q-97 0 -176 -74.5t-135 -212.5h348l-39 -176h-360q-11 -34 -25 -115h299l-37 -178h-280q0 -120 44.5 -181.5t147.5 -61.5q133 0 283 63v-258q-126 -63 -330 -63q-446 0 -446 501h-152l37 178h127q9 67 22 115h-125l39 176h135q87 252 250.5 393.5t374.5 141.5 q100 0 179 -23t165 -80l-125 -223q-87 49 -131 63.5t-90 14.5z" />
-<glyph unicode="&#x2122;" horiz-adv-x="1534" d="M471 741h-168v572h-197v149h564v-149h-199v-572zM1047 741l-166 529h-7l5 -111v-418h-164v721h248l159 -510l170 510h240v-721h-168v408l4 121h-6l-174 -529h-141z" />
-<glyph unicode="&#xe000;" horiz-adv-x="1120" d="M0 1120h1120v-1120h-1120v1120z" />
-<glyph horiz-adv-x="1217" d="M0 0z" />
-<hkern u1="&#x22;" u2="&#x178;" k="-20" />
-<hkern u1="&#x22;" u2="&#x153;" k="123" />
-<hkern u1="&#x22;" u2="&#xfc;" k="61" />
-<hkern u1="&#x22;" u2="&#xfb;" k="61" />
-<hkern u1="&#x22;" u2="&#xfa;" k="61" />
-<hkern u1="&#x22;" u2="&#xf9;" k="61" />
-<hkern u1="&#x22;" u2="&#xf8;" k="123" />
-<hkern u1="&#x22;" u2="&#xf6;" k="123" />
-<hkern u1="&#x22;" u2="&#xf5;" k="123" />
-<hkern u1="&#x22;" u2="&#xf4;" k="123" />
-<hkern u1="&#x22;" u2="&#xf3;" k="123" />
-<hkern u1="&#x22;" u2="&#xf2;" k="123" />
-<hkern u1="&#x22;" u2="&#xeb;" k="123" />
-<hkern u1="&#x22;" u2="&#xea;" k="123" />
-<hkern u1="&#x22;" u2="&#xe9;" k="123" />
-<hkern u1="&#x22;" u2="&#xe8;" k="123" />
-<hkern u1="&#x22;" u2="&#xe7;" k="123" />
-<hkern u1="&#x22;" u2="&#xe6;" k="82" />
-<hkern u1="&#x22;" u2="&#xe5;" k="82" />
-<hkern u1="&#x22;" u2="&#xe4;" k="82" />
-<hkern u1="&#x22;" u2="&#xe3;" k="82" />
-<hkern u1="&#x22;" u2="&#xe2;" k="82" />
-<hkern u1="&#x22;" u2="&#xe1;" k="82" />
-<hkern u1="&#x22;" u2="&#xe0;" k="123" />
-<hkern u1="&#x22;" u2="&#xdd;" k="-20" />
-<hkern u1="&#x22;" u2="&#xc5;" k="143" />
-<hkern u1="&#x22;" u2="&#xc4;" k="143" />
-<hkern u1="&#x22;" u2="&#xc3;" k="143" />
-<hkern u1="&#x22;" u2="&#xc2;" k="143" />
-<hkern u1="&#x22;" u2="&#xc1;" k="143" />
-<hkern u1="&#x22;" u2="&#xc0;" k="143" />
-<hkern u1="&#x22;" u2="u" k="61" />
-<hkern u1="&#x22;" u2="s" k="61" />
-<hkern u1="&#x22;" u2="r" k="61" />
-<hkern u1="&#x22;" u2="q" k="123" />
-<hkern u1="&#x22;" u2="p" k="61" />
-<hkern u1="&#x22;" u2="o" k="123" />
-<hkern u1="&#x22;" u2="n" k="61" />
-<hkern u1="&#x22;" u2="m" k="61" />
-<hkern u1="&#x22;" u2="g" k="61" />
-<hkern u1="&#x22;" u2="e" k="123" />
-<hkern u1="&#x22;" u2="d" k="123" />
-<hkern u1="&#x22;" u2="c" k="123" />
-<hkern u1="&#x22;" u2="a" k="82" />
-<hkern u1="&#x22;" u2="Y" k="-20" />
-<hkern u1="&#x22;" u2="W" k="-41" />
-<hkern u1="&#x22;" u2="V" k="-41" />
-<hkern u1="&#x22;" u2="T" k="-41" />
-<hkern u1="&#x22;" u2="A" k="143" />
-<hkern u1="&#x27;" u2="&#x178;" k="-20" />
-<hkern u1="&#x27;" u2="&#x153;" k="123" />
-<hkern u1="&#x27;" u2="&#xfc;" k="61" />
-<hkern u1="&#x27;" u2="&#xfb;" k="61" />
-<hkern u1="&#x27;" u2="&#xfa;" k="61" />
-<hkern u1="&#x27;" u2="&#xf9;" k="61" />
-<hkern u1="&#x27;" u2="&#xf8;" k="123" />
-<hkern u1="&#x27;" u2="&#xf6;" k="123" />
-<hkern u1="&#x27;" u2="&#xf5;" k="123" />
-<hkern u1="&#x27;" u2="&#xf4;" k="123" />
-<hkern u1="&#x27;" u2="&#xf3;" k="123" />
-<hkern u1="&#x27;" u2="&#xf2;" k="123" />
-<hkern u1="&#x27;" u2="&#xeb;" k="123" />
-<hkern u1="&#x27;" u2="&#xea;" k="123" />
-<hkern u1="&#x27;" u2="&#xe9;" k="123" />
-<hkern u1="&#x27;" u2="&#xe8;" k="123" />
-<hkern u1="&#x27;" u2="&#xe7;" k="123" />
-<hkern u1="&#x27;" u2="&#xe6;" k="82" />
-<hkern u1="&#x27;" u2="&#xe5;" k="82" />
-<hkern u1="&#x27;" u2="&#xe4;" k="82" />
-<hkern u1="&#x27;" u2="&#xe3;" k="82" />
-<hkern u1="&#x27;" u2="&#xe2;" k="82" />
-<hkern u1="&#x27;" u2="&#xe1;" k="82" />
-<hkern u1="&#x27;" u2="&#xe0;" k="123" />
-<hkern u1="&#x27;" u2="&#xdd;" k="-20" />
-<hkern u1="&#x27;" u2="&#xc5;" k="143" />
-<hkern u1="&#x27;" u2="&#xc4;" k="143" />
-<hkern u1="&#x27;" u2="&#xc3;" k="143" />
-<hkern u1="&#x27;" u2="&#xc2;" k="143" />
-<hkern u1="&#x27;" u2="&#xc1;" k="143" />
-<hkern u1="&#x27;" u2="&#xc0;" k="143" />
-<hkern u1="&#x27;" u2="u" k="61" />
-<hkern u1="&#x27;" u2="s" k="61" />
-<hkern u1="&#x27;" u2="r" k="61" />
-<hkern u1="&#x27;" u2="q" k="123" />
-<hkern u1="&#x27;" u2="p" k="61" />
-<hkern u1="&#x27;" u2="o" k="123" />
-<hkern u1="&#x27;" u2="n" k="61" />
-<hkern u1="&#x27;" u2="m" k="61" />
-<hkern u1="&#x27;" u2="g" k="61" />
-<hkern u1="&#x27;" u2="e" k="123" />
-<hkern u1="&#x27;" u2="d" k="123" />
-<hkern u1="&#x27;" u2="c" k="123" />
-<hkern u1="&#x27;" u2="a" k="82" />
-<hkern u1="&#x27;" u2="Y" k="-20" />
-<hkern u1="&#x27;" u2="W" k="-41" />
-<hkern u1="&#x27;" u2="V" k="-41" />
-<hkern u1="&#x27;" u2="T" k="-41" />
-<hkern u1="&#x27;" u2="A" k="143" />
-<hkern u1="&#x28;" u2="J" k="-184" />
-<hkern u1="&#x2c;" u2="&#x178;" k="123" />
-<hkern u1="&#x2c;" u2="&#x152;" k="102" />
-<hkern u1="&#x2c;" u2="&#xdd;" k="123" />
-<hkern u1="&#x2c;" u2="&#xdc;" k="41" />
-<hkern u1="&#x2c;" u2="&#xdb;" k="41" />
-<hkern u1="&#x2c;" u2="&#xda;" k="41" />
-<hkern u1="&#x2c;" u2="&#xd9;" k="41" />
-<hkern u1="&#x2c;" u2="&#xd8;" k="102" />
-<hkern u1="&#x2c;" u2="&#xd6;" k="102" />
-<hkern u1="&#x2c;" u2="&#xd5;" k="102" />
-<hkern u1="&#x2c;" u2="&#xd4;" k="102" />
-<hkern u1="&#x2c;" u2="&#xd3;" k="102" />
-<hkern u1="&#x2c;" u2="&#xd2;" k="102" />
-<hkern u1="&#x2c;" u2="&#xc7;" k="102" />
-<hkern u1="&#x2c;" u2="Y" k="123" />
-<hkern u1="&#x2c;" u2="W" k="123" />
-<hkern u1="&#x2c;" u2="V" k="123" />
-<hkern u1="&#x2c;" u2="U" k="41" />
-<hkern u1="&#x2c;" u2="T" k="143" />
-<hkern u1="&#x2c;" u2="Q" k="102" />
-<hkern u1="&#x2c;" u2="O" k="102" />
-<hkern u1="&#x2c;" u2="G" k="102" />
-<hkern u1="&#x2c;" u2="C" k="102" />
-<hkern u1="&#x2d;" u2="T" k="82" />
-<hkern u1="&#x2e;" u2="&#x178;" k="123" />
-<hkern u1="&#x2e;" u2="&#x152;" k="102" />
-<hkern u1="&#x2e;" u2="&#xdd;" k="123" />
-<hkern u1="&#x2e;" u2="&#xdc;" k="41" />
-<hkern u1="&#x2e;" u2="&#xdb;" k="41" />
-<hkern u1="&#x2e;" u2="&#xda;" k="41" />
-<hkern u1="&#x2e;" u2="&#xd9;" k="41" />
-<hkern u1="&#x2e;" u2="&#xd8;" k="102" />
-<hkern u1="&#x2e;" u2="&#xd6;" k="102" />
-<hkern u1="&#x2e;" u2="&#xd5;" k="102" />
-<hkern u1="&#x2e;" u2="&#xd4;" k="102" />
-<hkern u1="&#x2e;" u2="&#xd3;" k="102" />
-<hkern u1="&#x2e;" u2="&#xd2;" k="102" />
-<hkern u1="&#x2e;" u2="&#xc7;" k="102" />
-<hkern u1="&#x2e;" u2="Y" k="123" />
-<hkern u1="&#x2e;" u2="W" k="123" />
-<hkern u1="&#x2e;" u2="V" k="123" />
-<hkern u1="&#x2e;" u2="U" k="41" />
-<hkern u1="&#x2e;" u2="T" k="143" />
-<hkern u1="&#x2e;" u2="Q" k="102" />
-<hkern u1="&#x2e;" u2="O" k="102" />
-<hkern u1="&#x2e;" u2="G" k="102" />
-<hkern u1="&#x2e;" u2="C" k="102" />
-<hkern u1="A" u2="&#x201d;" k="143" />
-<hkern u1="A" u2="&#x2019;" k="143" />
-<hkern u1="A" u2="&#x178;" k="123" />
-<hkern u1="A" u2="&#x152;" k="41" />
-<hkern u1="A" u2="&#xdd;" k="123" />
-<hkern u1="A" u2="&#xd8;" k="41" />
-<hkern u1="A" u2="&#xd6;" k="41" />
-<hkern u1="A" u2="&#xd5;" k="41" />
-<hkern u1="A" u2="&#xd4;" k="41" />
-<hkern u1="A" u2="&#xd3;" k="41" />
-<hkern u1="A" u2="&#xd2;" k="41" />
-<hkern u1="A" u2="&#xc7;" k="41" />
-<hkern u1="A" u2="Y" k="123" />
-<hkern u1="A" u2="W" k="82" />
-<hkern u1="A" u2="V" k="82" />
-<hkern u1="A" u2="T" k="143" />
-<hkern u1="A" u2="Q" k="41" />
-<hkern u1="A" u2="O" k="41" />
-<hkern u1="A" u2="J" k="-266" />
-<hkern u1="A" u2="G" k="41" />
-<hkern u1="A" u2="C" k="41" />
-<hkern u1="A" u2="&#x27;" k="143" />
-<hkern u1="A" u2="&#x22;" k="143" />
-<hkern u1="B" u2="&#x201e;" k="82" />
-<hkern u1="B" u2="&#x201a;" k="82" />
-<hkern u1="B" u2="&#x178;" k="20" />
-<hkern u1="B" u2="&#xdd;" k="20" />
-<hkern u1="B" u2="&#xc5;" k="41" />
-<hkern u1="B" u2="&#xc4;" k="41" />
-<hkern u1="B" u2="&#xc3;" k="41" />
-<hkern u1="B" u2="&#xc2;" k="41" />
-<hkern u1="B" u2="&#xc1;" k="41" />
-<hkern u1="B" u2="&#xc0;" k="41" />
-<hkern u1="B" u2="Z" k="20" />
-<hkern u1="B" u2="Y" k="20" />
-<hkern u1="B" u2="X" k="41" />
-<hkern u1="B" u2="W" k="20" />
-<hkern u1="B" u2="V" k="20" />
-<hkern u1="B" u2="T" k="61" />
-<hkern u1="B" u2="A" k="41" />
-<hkern u1="B" u2="&#x2e;" k="82" />
-<hkern u1="B" u2="&#x2c;" k="82" />
-<hkern u1="C" u2="&#x152;" k="41" />
-<hkern u1="C" u2="&#xd8;" k="41" />
-<hkern u1="C" u2="&#xd6;" k="41" />
-<hkern u1="C" u2="&#xd5;" k="41" />
-<hkern u1="C" u2="&#xd4;" k="41" />
-<hkern u1="C" u2="&#xd3;" k="41" />
-<hkern u1="C" u2="&#xd2;" k="41" />
-<hkern u1="C" u2="&#xc7;" k="41" />
-<hkern u1="C" u2="Q" k="41" />
-<hkern u1="C" u2="O" k="41" />
-<hkern u1="C" u2="G" k="41" />
-<hkern u1="C" u2="C" k="41" />
-<hkern u1="D" u2="&#x201e;" k="82" />
-<hkern u1="D" u2="&#x201a;" k="82" />
-<hkern u1="D" u2="&#x178;" k="20" />
-<hkern u1="D" u2="&#xdd;" k="20" />
-<hkern u1="D" u2="&#xc5;" k="41" />
-<hkern u1="D" u2="&#xc4;" k="41" />
-<hkern u1="D" u2="&#xc3;" k="41" />
-<hkern u1="D" u2="&#xc2;" k="41" />
-<hkern u1="D" u2="&#xc1;" k="41" />
-<hkern u1="D" u2="&#xc0;" k="41" />
-<hkern u1="D" u2="Z" k="20" />
-<hkern u1="D" u2="Y" k="20" />
-<hkern u1="D" u2="X" k="41" />
-<hkern u1="D" u2="W" k="20" />
-<hkern u1="D" u2="V" k="20" />
-<hkern u1="D" u2="T" k="61" />
-<hkern u1="D" u2="A" k="41" />
-<hkern u1="D" u2="&#x2e;" k="82" />
-<hkern u1="D" u2="&#x2c;" k="82" />
-<hkern u1="E" u2="J" k="-123" />
-<hkern u1="F" u2="&#x201e;" k="123" />
-<hkern u1="F" u2="&#x201a;" k="123" />
-<hkern u1="F" u2="&#xc5;" k="41" />
-<hkern u1="F" u2="&#xc4;" k="41" />
-<hkern u1="F" u2="&#xc3;" k="41" />
-<hkern u1="F" u2="&#xc2;" k="41" />
-<hkern u1="F" u2="&#xc1;" k="41" />
-<hkern u1="F" u2="&#xc0;" k="41" />
-<hkern u1="F" u2="A" k="41" />
-<hkern u1="F" u2="&#x3f;" k="-41" />
-<hkern u1="F" u2="&#x2e;" k="123" />
-<hkern u1="F" u2="&#x2c;" k="123" />
-<hkern u1="K" u2="&#x152;" k="41" />
-<hkern u1="K" u2="&#xd8;" k="41" />
-<hkern u1="K" u2="&#xd6;" k="41" />
-<hkern u1="K" u2="&#xd5;" k="41" />
-<hkern u1="K" u2="&#xd4;" k="41" />
-<hkern u1="K" u2="&#xd3;" k="41" />
-<hkern u1="K" u2="&#xd2;" k="41" />
-<hkern u1="K" u2="&#xc7;" k="41" />
-<hkern u1="K" u2="Q" k="41" />
-<hkern u1="K" u2="O" k="41" />
-<hkern u1="K" u2="G" k="41" />
-<hkern u1="K" u2="C" k="41" />
-<hkern u1="L" u2="&#x201d;" k="164" />
-<hkern u1="L" u2="&#x2019;" k="164" />
-<hkern u1="L" u2="&#x178;" k="61" />
-<hkern u1="L" u2="&#x152;" k="41" />
-<hkern u1="L" u2="&#xdd;" k="61" />
-<hkern u1="L" u2="&#xdc;" k="20" />
-<hkern u1="L" u2="&#xdb;" k="20" />
-<hkern u1="L" u2="&#xda;" k="20" />
-<hkern u1="L" u2="&#xd9;" k="20" />
-<hkern u1="L" u2="&#xd8;" k="41" />
-<hkern u1="L" u2="&#xd6;" k="41" />
-<hkern u1="L" u2="&#xd5;" k="41" />
-<hkern u1="L" u2="&#xd4;" k="41" />
-<hkern u1="L" u2="&#xd3;" k="41" />
-<hkern u1="L" u2="&#xd2;" k="41" />
-<hkern u1="L" u2="&#xc7;" k="41" />
-<hkern u1="L" u2="Y" k="61" />
-<hkern u1="L" u2="W" k="41" />
-<hkern u1="L" u2="V" k="41" />
-<hkern u1="L" u2="U" k="20" />
-<hkern u1="L" u2="T" k="41" />
-<hkern u1="L" u2="Q" k="41" />
-<hkern u1="L" u2="O" k="41" />
-<hkern u1="L" u2="G" k="41" />
-<hkern u1="L" u2="C" k="41" />
-<hkern u1="L" u2="&#x27;" k="164" />
-<hkern u1="L" u2="&#x22;" k="164" />
-<hkern u1="O" u2="&#x201e;" k="82" />
-<hkern u1="O" u2="&#x201a;" k="82" />
-<hkern u1="O" u2="&#x178;" k="20" />
-<hkern u1="O" u2="&#xdd;" k="20" />
-<hkern u1="O" u2="&#xc5;" k="41" />
-<hkern u1="O" u2="&#xc4;" k="41" />
-<hkern u1="O" u2="&#xc3;" k="41" />
-<hkern u1="O" u2="&#xc2;" k="41" />
-<hkern u1="O" u2="&#xc1;" k="41" />
-<hkern u1="O" u2="&#xc0;" k="41" />
-<hkern u1="O" u2="Z" k="20" />
-<hkern u1="O" u2="Y" k="20" />
-<hkern u1="O" u2="X" k="41" />
-<hkern u1="O" u2="W" k="20" />
-<hkern u1="O" u2="V" k="20" />
-<hkern u1="O" u2="T" k="61" />
-<hkern u1="O" u2="A" k="41" />
-<hkern u1="O" u2="&#x2e;" k="82" />
-<hkern u1="O" u2="&#x2c;" k="82" />
-<hkern u1="P" u2="&#x201e;" k="266" />
-<hkern u1="P" u2="&#x201a;" k="266" />
-<hkern u1="P" u2="&#xc5;" k="102" />
-<hkern u1="P" u2="&#xc4;" k="102" />
-<hkern u1="P" u2="&#xc3;" k="102" />
-<hkern u1="P" u2="&#xc2;" k="102" />
-<hkern u1="P" u2="&#xc1;" k="102" />
-<hkern u1="P" u2="&#xc0;" k="102" />
-<hkern u1="P" u2="Z" k="20" />
-<hkern u1="P" u2="X" k="41" />
-<hkern u1="P" u2="A" k="102" />
-<hkern u1="P" u2="&#x2e;" k="266" />
-<hkern u1="P" u2="&#x2c;" k="266" />
-<hkern u1="Q" u2="&#x201e;" k="82" />
-<hkern u1="Q" u2="&#x201a;" k="82" />
-<hkern u1="Q" u2="&#x178;" k="20" />
-<hkern u1="Q" u2="&#xdd;" k="20" />
-<hkern u1="Q" u2="&#xc5;" k="41" />
-<hkern u1="Q" u2="&#xc4;" k="41" />
-<hkern u1="Q" u2="&#xc3;" k="41" />
-<hkern u1="Q" u2="&#xc2;" k="41" />
-<hkern u1="Q" u2="&#xc1;" k="41" />
-<hkern u1="Q" u2="&#xc0;" k="41" />
-<hkern u1="Q" u2="Z" k="20" />
-<hkern u1="Q" u2="Y" k="20" />
-<hkern u1="Q" u2="X" k="41" />
-<hkern u1="Q" u2="W" k="20" />
-<hkern u1="Q" u2="V" k="20" />
-<hkern u1="Q" u2="T" k="61" />
-<hkern u1="Q" u2="A" k="41" />
-<hkern u1="Q" u2="&#x2e;" k="82" />
-<hkern u1="Q" u2="&#x2c;" k="82" />
-<hkern u1="T" u2="&#x201e;" k="123" />
-<hkern u1="T" u2="&#x201a;" k="123" />
-<hkern u1="T" u2="&#x2014;" k="82" />
-<hkern u1="T" u2="&#x2013;" k="82" />
-<hkern u1="T" u2="&#x153;" k="143" />
-<hkern u1="T" u2="&#x152;" k="41" />
-<hkern u1="T" u2="&#xfd;" k="41" />
-<hkern u1="T" u2="&#xfc;" k="102" />
-<hkern u1="T" u2="&#xfb;" k="102" />
-<hkern u1="T" u2="&#xfa;" k="102" />
-<hkern u1="T" u2="&#xf9;" k="102" />
-<hkern u1="T" u2="&#xf8;" k="143" />
-<hkern u1="T" u2="&#xf6;" k="143" />
-<hkern u1="T" u2="&#xf5;" k="143" />
-<hkern u1="T" u2="&#xf4;" k="143" />
-<hkern u1="T" u2="&#xf3;" k="143" />
-<hkern u1="T" u2="&#xf2;" k="143" />
-<hkern u1="T" u2="&#xeb;" k="143" />
-<hkern u1="T" u2="&#xea;" k="143" />
-<hkern u1="T" u2="&#xe9;" k="143" />
-<hkern u1="T" u2="&#xe8;" k="143" />
-<hkern u1="T" u2="&#xe7;" k="143" />
-<hkern u1="T" u2="&#xe6;" k="164" />
-<hkern u1="T" u2="&#xe5;" k="164" />
-<hkern u1="T" u2="&#xe4;" k="164" />
-<hkern u1="T" u2="&#xe3;" k="164" />
-<hkern u1="T" u2="&#xe2;" k="164" />
-<hkern u1="T" u2="&#xe1;" k="164" />
-<hkern u1="T" u2="&#xe0;" k="143" />
-<hkern u1="T" u2="&#xd8;" k="41" />
-<hkern u1="T" u2="&#xd6;" k="41" />
-<hkern u1="T" u2="&#xd5;" k="41" />
-<hkern u1="T" u2="&#xd4;" k="41" />
-<hkern u1="T" u2="&#xd3;" k="41" />
-<hkern u1="T" u2="&#xd2;" k="41" />
-<hkern u1="T" u2="&#xc7;" k="41" />
-<hkern u1="T" u2="&#xc5;" k="143" />
-<hkern u1="T" u2="&#xc4;" k="143" />
-<hkern u1="T" u2="&#xc3;" k="143" />
-<hkern u1="T" u2="&#xc2;" k="143" />
-<hkern u1="T" u2="&#xc1;" k="143" />
-<hkern u1="T" u2="&#xc0;" k="143" />
-<hkern u1="T" u2="z" k="82" />
-<hkern u1="T" u2="y" k="41" />
-<hkern u1="T" u2="x" k="41" />
-<hkern u1="T" u2="w" k="41" />
-<hkern u1="T" u2="v" k="41" />
-<hkern u1="T" u2="u" k="102" />
-<hkern u1="T" u2="s" k="123" />
-<hkern u1="T" u2="r" k="102" />
-<hkern u1="T" u2="q" k="143" />
-<hkern u1="T" u2="p" k="102" />
-<hkern u1="T" u2="o" k="143" />
-<hkern u1="T" u2="n" k="102" />
-<hkern u1="T" u2="m" k="102" />
-<hkern u1="T" u2="g" k="143" />
-<hkern u1="T" u2="e" k="143" />
-<hkern u1="T" u2="d" k="143" />
-<hkern u1="T" u2="c" k="143" />
-<hkern u1="T" u2="a" k="164" />
-<hkern u1="T" u2="T" k="-41" />
-<hkern u1="T" u2="Q" k="41" />
-<hkern u1="T" u2="O" k="41" />
-<hkern u1="T" u2="G" k="41" />
-<hkern u1="T" u2="C" k="41" />
-<hkern u1="T" u2="A" k="143" />
-<hkern u1="T" u2="&#x3f;" k="-41" />
-<hkern u1="T" u2="&#x2e;" k="123" />
-<hkern u1="T" u2="&#x2d;" k="82" />
-<hkern u1="T" u2="&#x2c;" k="123" />
-<hkern u1="U" u2="&#x201e;" k="41" />
-<hkern u1="U" u2="&#x201a;" k="41" />
-<hkern u1="U" u2="&#xc5;" k="20" />
-<hkern u1="U" u2="&#xc4;" k="20" />
-<hkern u1="U" u2="&#xc3;" k="20" />
-<hkern u1="U" u2="&#xc2;" k="20" />
-<hkern u1="U" u2="&#xc1;" k="20" />
-<hkern u1="U" u2="&#xc0;" k="20" />
-<hkern u1="U" u2="A" k="20" />
-<hkern u1="U" u2="&#x2e;" k="41" />
-<hkern u1="U" u2="&#x2c;" k="41" />
-<hkern u1="V" u2="&#x201e;" k="102" />
-<hkern u1="V" u2="&#x201a;" k="102" />
-<hkern u1="V" u2="&#x153;" k="41" />
-<hkern u1="V" u2="&#x152;" k="20" />
-<hkern u1="V" u2="&#xfc;" k="20" />
-<hkern u1="V" u2="&#xfb;" k="20" />
-<hkern u1="V" u2="&#xfa;" k="20" />
-<hkern u1="V" u2="&#xf9;" k="20" />
-<hkern u1="V" u2="&#xf8;" k="41" />
-<hkern u1="V" u2="&#xf6;" k="41" />
-<hkern u1="V" u2="&#xf5;" k="41" />
-<hkern u1="V" u2="&#xf4;" k="41" />
-<hkern u1="V" u2="&#xf3;" k="41" />
-<hkern u1="V" u2="&#xf2;" k="41" />
-<hkern u1="V" u2="&#xeb;" k="41" />
-<hkern u1="V" u2="&#xea;" k="41" />
-<hkern u1="V" u2="&#xe9;" k="41" />
-<hkern u1="V" u2="&#xe8;" k="41" />
-<hkern u1="V" u2="&#xe7;" k="41" />
-<hkern u1="V" u2="&#xe6;" k="41" />
-<hkern u1="V" u2="&#xe5;" k="41" />
-<hkern u1="V" u2="&#xe4;" k="41" />
-<hkern u1="V" u2="&#xe3;" k="41" />
-<hkern u1="V" u2="&#xe2;" k="41" />
-<hkern u1="V" u2="&#xe1;" k="41" />
-<hkern u1="V" u2="&#xe0;" k="41" />
-<hkern u1="V" u2="&#xd8;" k="20" />
-<hkern u1="V" u2="&#xd6;" k="20" />
-<hkern u1="V" u2="&#xd5;" k="20" />
-<hkern u1="V" u2="&#xd4;" k="20" />
-<hkern u1="V" u2="&#xd3;" k="20" />
-<hkern u1="V" u2="&#xd2;" k="20" />
-<hkern u1="V" u2="&#xc7;" k="20" />
-<hkern u1="V" u2="&#xc5;" k="82" />
-<hkern u1="V" u2="&#xc4;" k="82" />
-<hkern u1="V" u2="&#xc3;" k="82" />
-<hkern u1="V" u2="&#xc2;" k="82" />
-<hkern u1="V" u2="&#xc1;" k="82" />
-<hkern u1="V" u2="&#xc0;" k="82" />
-<hkern u1="V" u2="u" k="20" />
-<hkern u1="V" u2="s" k="20" />
-<hkern u1="V" u2="r" k="20" />
-<hkern u1="V" u2="q" k="41" />
-<hkern u1="V" u2="p" k="20" />
-<hkern u1="V" u2="o" k="41" />
-<hkern u1="V" u2="n" k="20" />
-<hkern u1="V" u2="m" k="20" />
-<hkern u1="V" u2="g" k="20" />
-<hkern u1="V" u2="e" k="41" />
-<hkern u1="V" u2="d" k="41" />
-<hkern u1="V" u2="c" k="41" />
-<hkern u1="V" u2="a" k="41" />
-<hkern u1="V" u2="Q" k="20" />
-<hkern u1="V" u2="O" k="20" />
-<hkern u1="V" u2="G" k="20" />
-<hkern u1="V" u2="C" k="20" />
-<hkern u1="V" u2="A" k="82" />
-<hkern u1="V" u2="&#x3f;" k="-41" />
-<hkern u1="V" u2="&#x2e;" k="102" />
-<hkern u1="V" u2="&#x2c;" k="102" />
-<hkern u1="W" u2="&#x201e;" k="102" />
-<hkern u1="W" u2="&#x201a;" k="102" />
-<hkern u1="W" u2="&#x153;" k="41" />
-<hkern u1="W" u2="&#x152;" k="20" />
-<hkern u1="W" u2="&#xfc;" k="20" />
-<hkern u1="W" u2="&#xfb;" k="20" />
-<hkern u1="W" u2="&#xfa;" k="20" />
-<hkern u1="W" u2="&#xf9;" k="20" />
-<hkern u1="W" u2="&#xf8;" k="41" />
-<hkern u1="W" u2="&#xf6;" k="41" />
-<hkern u1="W" u2="&#xf5;" k="41" />
-<hkern u1="W" u2="&#xf4;" k="41" />
-<hkern u1="W" u2="&#xf3;" k="41" />
-<hkern u1="W" u2="&#xf2;" k="41" />
-<hkern u1="W" u2="&#xeb;" k="41" />
-<hkern u1="W" u2="&#xea;" k="41" />
-<hkern u1="W" u2="&#xe9;" k="41" />
-<hkern u1="W" u2="&#xe8;" k="41" />
-<hkern u1="W" u2="&#xe7;" k="41" />
-<hkern u1="W" u2="&#xe6;" k="41" />
-<hkern u1="W" u2="&#xe5;" k="41" />
-<hkern u1="W" u2="&#xe4;" k="41" />
-<hkern u1="W" u2="&#xe3;" k="41" />
-<hkern u1="W" u2="&#xe2;" k="41" />
-<hkern u1="W" u2="&#xe1;" k="41" />
-<hkern u1="W" u2="&#xe0;" k="41" />
-<hkern u1="W" u2="&#xd8;" k="20" />
-<hkern u1="W" u2="&#xd6;" k="20" />
-<hkern u1="W" u2="&#xd5;" k="20" />
-<hkern u1="W" u2="&#xd4;" k="20" />
-<hkern u1="W" u2="&#xd3;" k="20" />
-<hkern u1="W" u2="&#xd2;" k="20" />
-<hkern u1="W" u2="&#xc7;" k="20" />
-<hkern u1="W" u2="&#xc5;" k="82" />
-<hkern u1="W" u2="&#xc4;" k="82" />
-<hkern u1="W" u2="&#xc3;" k="82" />
-<hkern u1="W" u2="&#xc2;" k="82" />
-<hkern u1="W" u2="&#xc1;" k="82" />
-<hkern u1="W" u2="&#xc0;" k="82" />
-<hkern u1="W" u2="u" k="20" />
-<hkern u1="W" u2="s" k="20" />
-<hkern u1="W" u2="r" k="20" />
-<hkern u1="W" u2="q" k="41" />
-<hkern u1="W" u2="p" k="20" />
-<hkern u1="W" u2="o" k="41" />
-<hkern u1="W" u2="n" k="20" />
-<hkern u1="W" u2="m" k="20" />
-<hkern u1="W" u2="g" k="20" />
-<hkern u1="W" u2="e" k="41" />
-<hkern u1="W" u2="d" k="41" />
-<hkern u1="W" u2="c" k="41" />
-<hkern u1="W" u2="a" k="41" />
-<hkern u1="W" u2="Q" k="20" />
-<hkern u1="W" u2="O" k="20" />
-<hkern u1="W" u2="G" k="20" />
-<hkern u1="W" u2="C" k="20" />
-<hkern u1="W" u2="A" k="82" />
-<hkern u1="W" u2="&#x3f;" k="-41" />
-<hkern u1="W" u2="&#x2e;" k="102" />
-<hkern u1="W" u2="&#x2c;" k="102" />
-<hkern u1="X" u2="&#x152;" k="41" />
-<hkern u1="X" u2="&#xd8;" k="41" />
-<hkern u1="X" u2="&#xd6;" k="41" />
-<hkern u1="X" u2="&#xd5;" k="41" />
-<hkern u1="X" u2="&#xd4;" k="41" />
-<hkern u1="X" u2="&#xd3;" k="41" />
-<hkern u1="X" u2="&#xd2;" k="41" />
-<hkern u1="X" u2="&#xc7;" k="41" />
-<hkern u1="X" u2="Q" k="41" />
-<hkern u1="X" u2="O" k="41" />
-<hkern u1="X" u2="G" k="41" />
-<hkern u1="X" u2="C" k="41" />
-<hkern u1="Y" u2="&#x201e;" k="123" />
-<hkern u1="Y" u2="&#x201a;" k="123" />
-<hkern u1="Y" u2="&#x153;" k="102" />
-<hkern u1="Y" u2="&#x152;" k="41" />
-<hkern u1="Y" u2="&#xfc;" k="61" />
-<hkern u1="Y" u2="&#xfb;" k="61" />
-<hkern u1="Y" u2="&#xfa;" k="61" />
-<hkern u1="Y" u2="&#xf9;" k="61" />
-<hkern u1="Y" u2="&#xf8;" k="102" />
-<hkern u1="Y" u2="&#xf6;" k="102" />
-<hkern u1="Y" u2="&#xf5;" k="102" />
-<hkern u1="Y" u2="&#xf4;" k="102" />
-<hkern u1="Y" u2="&#xf3;" k="102" />
-<hkern u1="Y" u2="&#xf2;" k="102" />
-<hkern u1="Y" u2="&#xeb;" k="102" />
-<hkern u1="Y" u2="&#xea;" k="102" />
-<hkern u1="Y" u2="&#xe9;" k="102" />
-<hkern u1="Y" u2="&#xe8;" k="102" />
-<hkern u1="Y" u2="&#xe7;" k="102" />
-<hkern u1="Y" u2="&#xe6;" k="102" />
-<hkern u1="Y" u2="&#xe5;" k="102" />
-<hkern u1="Y" u2="&#xe4;" k="102" />
-<hkern u1="Y" u2="&#xe3;" k="102" />
-<hkern u1="Y" u2="&#xe2;" k="102" />
-<hkern u1="Y" u2="&#xe1;" k="102" />
-<hkern u1="Y" u2="&#xe0;" k="102" />
-<hkern u1="Y" u2="&#xd8;" k="41" />
-<hkern u1="Y" u2="&#xd6;" k="41" />
-<hkern u1="Y" u2="&#xd5;" k="41" />
-<hkern u1="Y" u2="&#xd4;" k="41" />
-<hkern u1="Y" u2="&#xd3;" k="41" />
-<hkern u1="Y" u2="&#xd2;" k="41" />
-<hkern u1="Y" u2="&#xc7;" k="41" />
-<hkern u1="Y" u2="&#xc5;" k="123" />
-<hkern u1="Y" u2="&#xc4;" k="123" />
-<hkern u1="Y" u2="&#xc3;" k="123" />
-<hkern u1="Y" u2="&#xc2;" k="123" />
-<hkern u1="Y" u2="&#xc1;" k="123" />
-<hkern u1="Y" u2="&#xc0;" k="123" />
-<hkern u1="Y" u2="z" k="41" />
-<hkern u1="Y" u2="u" k="61" />
-<hkern u1="Y" u2="s" k="82" />
-<hkern u1="Y" u2="r" k="61" />
-<hkern u1="Y" u2="q" k="102" />
-<hkern u1="Y" u2="p" k="61" />
-<hkern u1="Y" u2="o" k="102" />
-<hkern u1="Y" u2="n" k="61" />
-<hkern u1="Y" u2="m" k="61" />
-<hkern u1="Y" u2="g" k="41" />
-<hkern u1="Y" u2="e" k="102" />
-<hkern u1="Y" u2="d" k="102" />
-<hkern u1="Y" u2="c" k="102" />
-<hkern u1="Y" u2="a" k="102" />
-<hkern u1="Y" u2="Q" k="41" />
-<hkern u1="Y" u2="O" k="41" />
-<hkern u1="Y" u2="G" k="41" />
-<hkern u1="Y" u2="C" k="41" />
-<hkern u1="Y" u2="A" k="123" />
-<hkern u1="Y" u2="&#x3f;" k="-41" />
-<hkern u1="Y" u2="&#x2e;" k="123" />
-<hkern u1="Y" u2="&#x2c;" k="123" />
-<hkern u1="Z" u2="&#x152;" k="20" />
-<hkern u1="Z" u2="&#xd8;" k="20" />
-<hkern u1="Z" u2="&#xd6;" k="20" />
-<hkern u1="Z" u2="&#xd5;" k="20" />
-<hkern u1="Z" u2="&#xd4;" k="20" />
-<hkern u1="Z" u2="&#xd3;" k="20" />
-<hkern u1="Z" u2="&#xd2;" k="20" />
-<hkern u1="Z" u2="&#xc7;" k="20" />
-<hkern u1="Z" u2="Q" k="20" />
-<hkern u1="Z" u2="O" k="20" />
-<hkern u1="Z" u2="G" k="20" />
-<hkern u1="Z" u2="C" k="20" />
-<hkern u1="[" u2="J" k="-184" />
-<hkern u1="a" u2="&#x201d;" k="20" />
-<hkern u1="a" u2="&#x2019;" k="20" />
-<hkern u1="a" u2="&#x27;" k="20" />
-<hkern u1="a" u2="&#x22;" k="20" />
-<hkern u1="b" u2="&#x201d;" k="20" />
-<hkern u1="b" u2="&#x2019;" k="20" />
-<hkern u1="b" u2="&#xfd;" k="41" />
-<hkern u1="b" u2="z" k="20" />
-<hkern u1="b" u2="y" k="41" />
-<hkern u1="b" u2="x" k="41" />
-<hkern u1="b" u2="w" k="41" />
-<hkern u1="b" u2="v" k="41" />
-<hkern u1="b" u2="&#x27;" k="20" />
-<hkern u1="b" u2="&#x22;" k="20" />
-<hkern u1="c" u2="&#x201d;" k="-41" />
-<hkern u1="c" u2="&#x2019;" k="-41" />
-<hkern u1="c" u2="&#x27;" k="-41" />
-<hkern u1="c" u2="&#x22;" k="-41" />
-<hkern u1="e" u2="&#x201d;" k="20" />
-<hkern u1="e" u2="&#x2019;" k="20" />
-<hkern u1="e" u2="&#xfd;" k="41" />
-<hkern u1="e" u2="z" k="20" />
-<hkern u1="e" u2="y" k="41" />
-<hkern u1="e" u2="x" k="41" />
-<hkern u1="e" u2="w" k="41" />
-<hkern u1="e" u2="v" k="41" />
-<hkern u1="e" u2="&#x27;" k="20" />
-<hkern u1="e" u2="&#x22;" k="20" />
-<hkern u1="f" u2="&#x201d;" k="-123" />
-<hkern u1="f" u2="&#x2019;" k="-123" />
-<hkern u1="f" u2="&#x27;" k="-123" />
-<hkern u1="f" u2="&#x22;" k="-123" />
-<hkern u1="h" u2="&#x201d;" k="20" />
-<hkern u1="h" u2="&#x2019;" k="20" />
-<hkern u1="h" u2="&#x27;" k="20" />
-<hkern u1="h" u2="&#x22;" k="20" />
-<hkern u1="k" u2="&#x153;" k="41" />
-<hkern u1="k" u2="&#xf8;" k="41" />
-<hkern u1="k" u2="&#xf6;" k="41" />
-<hkern u1="k" u2="&#xf5;" k="41" />
-<hkern u1="k" u2="&#xf4;" k="41" />
-<hkern u1="k" u2="&#xf3;" k="41" />
-<hkern u1="k" u2="&#xf2;" k="41" />
-<hkern u1="k" u2="&#xeb;" k="41" />
-<hkern u1="k" u2="&#xea;" k="41" />
-<hkern u1="k" u2="&#xe9;" k="41" />
-<hkern u1="k" u2="&#xe8;" k="41" />
-<hkern u1="k" u2="&#xe7;" k="41" />
-<hkern u1="k" u2="&#xe0;" k="41" />
-<hkern u1="k" u2="q" k="41" />
-<hkern u1="k" u2="o" k="41" />
-<hkern u1="k" u2="e" k="41" />
-<hkern u1="k" u2="d" k="41" />
-<hkern u1="k" u2="c" k="41" />
-<hkern u1="m" u2="&#x201d;" k="20" />
-<hkern u1="m" u2="&#x2019;" k="20" />
-<hkern u1="m" u2="&#x27;" k="20" />
-<hkern u1="m" u2="&#x22;" k="20" />
-<hkern u1="n" u2="&#x201d;" k="20" />
-<hkern u1="n" u2="&#x2019;" k="20" />
-<hkern u1="n" u2="&#x27;" k="20" />
-<hkern u1="n" u2="&#x22;" k="20" />
-<hkern u1="o" u2="&#x201d;" k="20" />
-<hkern u1="o" u2="&#x2019;" k="20" />
-<hkern u1="o" u2="&#xfd;" k="41" />
-<hkern u1="o" u2="z" k="20" />
-<hkern u1="o" u2="y" k="41" />
-<hkern u1="o" u2="x" k="41" />
-<hkern u1="o" u2="w" k="41" />
-<hkern u1="o" u2="v" k="41" />
-<hkern u1="o" u2="&#x27;" k="20" />
-<hkern u1="o" u2="&#x22;" k="20" />
-<hkern u1="p" u2="&#x201d;" k="20" />
-<hkern u1="p" u2="&#x2019;" k="20" />
-<hkern u1="p" u2="&#xfd;" k="41" />
-<hkern u1="p" u2="z" k="20" />
-<hkern u1="p" u2="y" k="41" />
-<hkern u1="p" u2="x" k="41" />
-<hkern u1="p" u2="w" k="41" />
-<hkern u1="p" u2="v" k="41" />
-<hkern u1="p" u2="&#x27;" k="20" />
-<hkern u1="p" u2="&#x22;" k="20" />
-<hkern u1="r" u2="&#x201d;" k="-82" />
-<hkern u1="r" u2="&#x2019;" k="-82" />
-<hkern u1="r" u2="&#x153;" k="41" />
-<hkern u1="r" u2="&#xf8;" k="41" />
-<hkern u1="r" u2="&#xf6;" k="41" />
-<hkern u1="r" u2="&#xf5;" k="41" />
-<hkern u1="r" u2="&#xf4;" k="41" />
-<hkern u1="r" u2="&#xf3;" k="41" />
-<hkern u1="r" u2="&#xf2;" k="41" />
-<hkern u1="r" u2="&#xeb;" k="41" />
-<hkern u1="r" u2="&#xea;" k="41" />
-<hkern u1="r" u2="&#xe9;" k="41" />
-<hkern u1="r" u2="&#xe8;" k="41" />
-<hkern u1="r" u2="&#xe7;" k="41" />
-<hkern u1="r" u2="&#xe6;" k="41" />
-<hkern u1="r" u2="&#xe5;" k="41" />
-<hkern u1="r" u2="&#xe4;" k="41" />
-<hkern u1="r" u2="&#xe3;" k="41" />
-<hkern u1="r" u2="&#xe2;" k="41" />
-<hkern u1="r" u2="&#xe1;" k="41" />
-<hkern u1="r" u2="&#xe0;" k="41" />
-<hkern u1="r" u2="q" k="41" />
-<hkern u1="r" u2="o" k="41" />
-<hkern u1="r" u2="g" k="20" />
-<hkern u1="r" u2="e" k="41" />
-<hkern u1="r" u2="d" k="41" />
-<hkern u1="r" u2="c" k="41" />
-<hkern u1="r" u2="a" k="41" />
-<hkern u1="r" u2="&#x27;" k="-82" />
-<hkern u1="r" u2="&#x22;" k="-82" />
-<hkern u1="t" u2="&#x201d;" k="-41" />
-<hkern u1="t" u2="&#x2019;" k="-41" />
-<hkern u1="t" u2="&#x27;" k="-41" />
-<hkern u1="t" u2="&#x22;" k="-41" />
-<hkern u1="v" u2="&#x201e;" k="82" />
-<hkern u1="v" u2="&#x201d;" k="-82" />
-<hkern u1="v" u2="&#x201a;" k="82" />
-<hkern u1="v" u2="&#x2019;" k="-82" />
-<hkern u1="v" u2="&#x3f;" k="-41" />
-<hkern u1="v" u2="&#x2e;" k="82" />
-<hkern u1="v" u2="&#x2c;" k="82" />
-<hkern u1="v" u2="&#x27;" k="-82" />
-<hkern u1="v" u2="&#x22;" k="-82" />
-<hkern u1="w" u2="&#x201e;" k="82" />
-<hkern u1="w" u2="&#x201d;" k="-82" />
-<hkern u1="w" u2="&#x201a;" k="82" />
-<hkern u1="w" u2="&#x2019;" k="-82" />
-<hkern u1="w" u2="&#x3f;" k="-41" />
-<hkern u1="w" u2="&#x2e;" k="82" />
-<hkern u1="w" u2="&#x2c;" k="82" />
-<hkern u1="w" u2="&#x27;" k="-82" />
-<hkern u1="w" u2="&#x22;" k="-82" />
-<hkern u1="x" u2="&#x153;" k="41" />
-<hkern u1="x" u2="&#xf8;" k="41" />
-<hkern u1="x" u2="&#xf6;" k="41" />
-<hkern u1="x" u2="&#xf5;" k="41" />
-<hkern u1="x" u2="&#xf4;" k="41" />
-<hkern u1="x" u2="&#xf3;" k="41" />
-<hkern u1="x" u2="&#xf2;" k="41" />
-<hkern u1="x" u2="&#xeb;" k="41" />
-<hkern u1="x" u2="&#xea;" k="41" />
-<hkern u1="x" u2="&#xe9;" k="41" />
-<hkern u1="x" u2="&#xe8;" k="41" />
-<hkern u1="x" u2="&#xe7;" k="41" />
-<hkern u1="x" u2="&#xe0;" k="41" />
-<hkern u1="x" u2="q" k="41" />
-<hkern u1="x" u2="o" k="41" />
-<hkern u1="x" u2="e" k="41" />
-<hkern u1="x" u2="d" k="41" />
-<hkern u1="x" u2="c" k="41" />
-<hkern u1="y" u2="&#x201e;" k="82" />
-<hkern u1="y" u2="&#x201d;" k="-82" />
-<hkern u1="y" u2="&#x201a;" k="82" />
-<hkern u1="y" u2="&#x2019;" k="-82" />
-<hkern u1="y" u2="&#x3f;" k="-41" />
-<hkern u1="y" u2="&#x2e;" k="82" />
-<hkern u1="y" u2="&#x2c;" k="82" />
-<hkern u1="y" u2="&#x27;" k="-82" />
-<hkern u1="y" u2="&#x22;" k="-82" />
-<hkern u1="&#x7b;" u2="J" k="-184" />
-<hkern u1="&#xc0;" u2="&#x201d;" k="143" />
-<hkern u1="&#xc0;" u2="&#x2019;" k="143" />
-<hkern u1="&#xc0;" u2="&#x178;" k="123" />
-<hkern u1="&#xc0;" u2="&#x152;" k="41" />
-<hkern u1="&#xc0;" u2="&#xdd;" k="123" />
-<hkern u1="&#xc0;" u2="&#xd8;" k="41" />
-<hkern u1="&#xc0;" u2="&#xd6;" k="41" />
-<hkern u1="&#xc0;" u2="&#xd5;" k="41" />
-<hkern u1="&#xc0;" u2="&#xd4;" k="41" />
-<hkern u1="&#xc0;" u2="&#xd3;" k="41" />
-<hkern u1="&#xc0;" u2="&#xd2;" k="41" />
-<hkern u1="&#xc0;" u2="&#xc7;" k="41" />
-<hkern u1="&#xc0;" u2="Y" k="123" />
-<hkern u1="&#xc0;" u2="W" k="82" />
-<hkern u1="&#xc0;" u2="V" k="82" />
-<hkern u1="&#xc0;" u2="T" k="143" />
-<hkern u1="&#xc0;" u2="Q" k="41" />
-<hkern u1="&#xc0;" u2="O" k="41" />
-<hkern u1="&#xc0;" u2="J" k="-266" />
-<hkern u1="&#xc0;" u2="G" k="41" />
-<hkern u1="&#xc0;" u2="C" k="41" />
-<hkern u1="&#xc0;" u2="&#x27;" k="143" />
-<hkern u1="&#xc0;" u2="&#x22;" k="143" />
-<hkern u1="&#xc1;" u2="&#x201d;" k="143" />
-<hkern u1="&#xc1;" u2="&#x2019;" k="143" />
-<hkern u1="&#xc1;" u2="&#x178;" k="123" />
-<hkern u1="&#xc1;" u2="&#x152;" k="41" />
-<hkern u1="&#xc1;" u2="&#xdd;" k="123" />
-<hkern u1="&#xc1;" u2="&#xd8;" k="41" />
-<hkern u1="&#xc1;" u2="&#xd6;" k="41" />
-<hkern u1="&#xc1;" u2="&#xd5;" k="41" />
-<hkern u1="&#xc1;" u2="&#xd4;" k="41" />
-<hkern u1="&#xc1;" u2="&#xd3;" k="41" />
-<hkern u1="&#xc1;" u2="&#xd2;" k="41" />
-<hkern u1="&#xc1;" u2="&#xc7;" k="41" />
-<hkern u1="&#xc1;" u2="Y" k="123" />
-<hkern u1="&#xc1;" u2="W" k="82" />
-<hkern u1="&#xc1;" u2="V" k="82" />
-<hkern u1="&#xc1;" u2="T" k="143" />
-<hkern u1="&#xc1;" u2="Q" k="41" />
-<hkern u1="&#xc1;" u2="O" k="41" />
-<hkern u1="&#xc1;" u2="J" k="-266" />
-<hkern u1="&#xc1;" u2="G" k="41" />
-<hkern u1="&#xc1;" u2="C" k="41" />
-<hkern u1="&#xc1;" u2="&#x27;" k="143" />
-<hkern u1="&#xc1;" u2="&#x22;" k="143" />
-<hkern u1="&#xc2;" u2="&#x201d;" k="143" />
-<hkern u1="&#xc2;" u2="&#x2019;" k="143" />
-<hkern u1="&#xc2;" u2="&#x178;" k="123" />
-<hkern u1="&#xc2;" u2="&#x152;" k="41" />
-<hkern u1="&#xc2;" u2="&#xdd;" k="123" />
-<hkern u1="&#xc2;" u2="&#xd8;" k="41" />
-<hkern u1="&#xc2;" u2="&#xd6;" k="41" />
-<hkern u1="&#xc2;" u2="&#xd5;" k="41" />
-<hkern u1="&#xc2;" u2="&#xd4;" k="41" />
-<hkern u1="&#xc2;" u2="&#xd3;" k="41" />
-<hkern u1="&#xc2;" u2="&#xd2;" k="41" />
-<hkern u1="&#xc2;" u2="&#xc7;" k="41" />
-<hkern u1="&#xc2;" u2="Y" k="123" />
-<hkern u1="&#xc2;" u2="W" k="82" />
-<hkern u1="&#xc2;" u2="V" k="82" />
-<hkern u1="&#xc2;" u2="T" k="143" />
-<hkern u1="&#xc2;" u2="Q" k="41" />
-<hkern u1="&#xc2;" u2="O" k="41" />
-<hkern u1="&#xc2;" u2="J" k="-266" />
-<hkern u1="&#xc2;" u2="G" k="41" />
-<hkern u1="&#xc2;" u2="C" k="41" />
-<hkern u1="&#xc2;" u2="&#x27;" k="143" />
-<hkern u1="&#xc2;" u2="&#x22;" k="143" />
-<hkern u1="&#xc3;" u2="&#x201d;" k="143" />
-<hkern u1="&#xc3;" u2="&#x2019;" k="143" />
-<hkern u1="&#xc3;" u2="&#x178;" k="123" />
-<hkern u1="&#xc3;" u2="&#x152;" k="41" />
-<hkern u1="&#xc3;" u2="&#xdd;" k="123" />
-<hkern u1="&#xc3;" u2="&#xd8;" k="41" />
-<hkern u1="&#xc3;" u2="&#xd6;" k="41" />
-<hkern u1="&#xc3;" u2="&#xd5;" k="41" />
-<hkern u1="&#xc3;" u2="&#xd4;" k="41" />
-<hkern u1="&#xc3;" u2="&#xd3;" k="41" />
-<hkern u1="&#xc3;" u2="&#xd2;" k="41" />
-<hkern u1="&#xc3;" u2="&#xc7;" k="41" />
-<hkern u1="&#xc3;" u2="Y" k="123" />
-<hkern u1="&#xc3;" u2="W" k="82" />
-<hkern u1="&#xc3;" u2="V" k="82" />
-<hkern u1="&#xc3;" u2="T" k="143" />
-<hkern u1="&#xc3;" u2="Q" k="41" />
-<hkern u1="&#xc3;" u2="O" k="41" />
-<hkern u1="&#xc3;" u2="J" k="-266" />
-<hkern u1="&#xc3;" u2="G" k="41" />
-<hkern u1="&#xc3;" u2="C" k="41" />
-<hkern u1="&#xc3;" u2="&#x27;" k="143" />
-<hkern u1="&#xc3;" u2="&#x22;" k="143" />
-<hkern u1="&#xc4;" u2="&#x201d;" k="143" />
-<hkern u1="&#xc4;" u2="&#x2019;" k="143" />
-<hkern u1="&#xc4;" u2="&#x178;" k="123" />
-<hkern u1="&#xc4;" u2="&#x152;" k="41" />
-<hkern u1="&#xc4;" u2="&#xdd;" k="123" />
-<hkern u1="&#xc4;" u2="&#xd8;" k="41" />
-<hkern u1="&#xc4;" u2="&#xd6;" k="41" />
-<hkern u1="&#xc4;" u2="&#xd5;" k="41" />
-<hkern u1="&#xc4;" u2="&#xd4;" k="41" />
-<hkern u1="&#xc4;" u2="&#xd3;" k="41" />
-<hkern u1="&#xc4;" u2="&#xd2;" k="41" />
-<hkern u1="&#xc4;" u2="&#xc7;" k="41" />
-<hkern u1="&#xc4;" u2="Y" k="123" />
-<hkern u1="&#xc4;" u2="W" k="82" />
-<hkern u1="&#xc4;" u2="V" k="82" />
-<hkern u1="&#xc4;" u2="T" k="143" />
-<hkern u1="&#xc4;" u2="Q" k="41" />
-<hkern u1="&#xc4;" u2="O" k="41" />
-<hkern u1="&#xc4;" u2="J" k="-266" />
-<hkern u1="&#xc4;" u2="G" k="41" />
-<hkern u1="&#xc4;" u2="C" k="41" />
-<hkern u1="&#xc4;" u2="&#x27;" k="143" />
-<hkern u1="&#xc4;" u2="&#x22;" k="143" />
-<hkern u1="&#xc5;" u2="&#x201d;" k="143" />
-<hkern u1="&#xc5;" u2="&#x2019;" k="143" />
-<hkern u1="&#xc5;" u2="&#x178;" k="123" />
-<hkern u1="&#xc5;" u2="&#x152;" k="41" />
-<hkern u1="&#xc5;" u2="&#xdd;" k="123" />
-<hkern u1="&#xc5;" u2="&#xd8;" k="41" />
-<hkern u1="&#xc5;" u2="&#xd6;" k="41" />
-<hkern u1="&#xc5;" u2="&#xd5;" k="41" />
-<hkern u1="&#xc5;" u2="&#xd4;" k="41" />
-<hkern u1="&#xc5;" u2="&#xd3;" k="41" />
-<hkern u1="&#xc5;" u2="&#xd2;" k="41" />
-<hkern u1="&#xc5;" u2="&#xc7;" k="41" />
-<hkern u1="&#xc5;" u2="Y" k="123" />
-<hkern u1="&#xc5;" u2="W" k="82" />
-<hkern u1="&#xc5;" u2="V" k="82" />
-<hkern u1="&#xc5;" u2="T" k="143" />
-<hkern u1="&#xc5;" u2="Q" k="41" />
-<hkern u1="&#xc5;" u2="O" k="41" />
-<hkern u1="&#xc5;" u2="J" k="-266" />
-<hkern u1="&#xc5;" u2="G" k="41" />
-<hkern u1="&#xc5;" u2="C" k="41" />
-<hkern u1="&#xc5;" u2="&#x27;" k="143" />
-<hkern u1="&#xc5;" u2="&#x22;" k="143" />
-<hkern u1="&#xc6;" u2="J" k="-123" />
-<hkern u1="&#xc7;" u2="&#x152;" k="41" />
-<hkern u1="&#xc7;" u2="&#xd8;" k="41" />
-<hkern u1="&#xc7;" u2="&#xd6;" k="41" />
-<hkern u1="&#xc7;" u2="&#xd5;" k="41" />
-<hkern u1="&#xc7;" u2="&#xd4;" k="41" />
-<hkern u1="&#xc7;" u2="&#xd3;" k="41" />
-<hkern u1="&#xc7;" u2="&#xd2;" k="41" />
-<hkern u1="&#xc7;" u2="&#xc7;" k="41" />
-<hkern u1="&#xc7;" u2="Q" k="41" />
-<hkern u1="&#xc7;" u2="O" k="41" />
-<hkern u1="&#xc7;" u2="G" k="41" />
-<hkern u1="&#xc7;" u2="C" k="41" />
-<hkern u1="&#xc8;" u2="J" k="-123" />
-<hkern u1="&#xc9;" u2="J" k="-123" />
-<hkern u1="&#xca;" u2="J" k="-123" />
-<hkern u1="&#xcb;" u2="J" k="-123" />
-<hkern u1="&#xd0;" u2="&#x201e;" k="82" />
-<hkern u1="&#xd0;" u2="&#x201a;" k="82" />
-<hkern u1="&#xd0;" u2="&#x178;" k="20" />
-<hkern u1="&#xd0;" u2="&#xdd;" k="20" />
-<hkern u1="&#xd0;" u2="&#xc5;" k="41" />
-<hkern u1="&#xd0;" u2="&#xc4;" k="41" />
-<hkern u1="&#xd0;" u2="&#xc3;" k="41" />
-<hkern u1="&#xd0;" u2="&#xc2;" k="41" />
-<hkern u1="&#xd0;" u2="&#xc1;" k="41" />
-<hkern u1="&#xd0;" u2="&#xc0;" k="41" />
-<hkern u1="&#xd0;" u2="Z" k="20" />
-<hkern u1="&#xd0;" u2="Y" k="20" />
-<hkern u1="&#xd0;" u2="X" k="41" />
-<hkern u1="&#xd0;" u2="W" k="20" />
-<hkern u1="&#xd0;" u2="V" k="20" />
-<hkern u1="&#xd0;" u2="T" k="61" />
-<hkern u1="&#xd0;" u2="A" k="41" />
-<hkern u1="&#xd0;" u2="&#x2e;" k="82" />
-<hkern u1="&#xd0;" u2="&#x2c;" k="82" />
-<hkern u1="&#xd2;" u2="&#x201e;" k="82" />
-<hkern u1="&#xd2;" u2="&#x201a;" k="82" />
-<hkern u1="&#xd2;" u2="&#x178;" k="20" />
-<hkern u1="&#xd2;" u2="&#xdd;" k="20" />
-<hkern u1="&#xd2;" u2="&#xc5;" k="41" />
-<hkern u1="&#xd2;" u2="&#xc4;" k="41" />
-<hkern u1="&#xd2;" u2="&#xc3;" k="41" />
-<hkern u1="&#xd2;" u2="&#xc2;" k="41" />
-<hkern u1="&#xd2;" u2="&#xc1;" k="41" />
-<hkern u1="&#xd2;" u2="&#xc0;" k="41" />
-<hkern u1="&#xd2;" u2="Z" k="20" />
-<hkern u1="&#xd2;" u2="Y" k="20" />
-<hkern u1="&#xd2;" u2="X" k="41" />
-<hkern u1="&#xd2;" u2="W" k="20" />
-<hkern u1="&#xd2;" u2="V" k="20" />
-<hkern u1="&#xd2;" u2="T" k="61" />
-<hkern u1="&#xd2;" u2="A" k="41" />
-<hkern u1="&#xd2;" u2="&#x2e;" k="82" />
-<hkern u1="&#xd2;" u2="&#x2c;" k="82" />
-<hkern u1="&#xd3;" u2="&#x201e;" k="82" />
-<hkern u1="&#xd3;" u2="&#x201a;" k="82" />
-<hkern u1="&#xd3;" u2="&#x178;" k="20" />
-<hkern u1="&#xd3;" u2="&#xdd;" k="20" />
-<hkern u1="&#xd3;" u2="&#xc5;" k="41" />
-<hkern u1="&#xd3;" u2="&#xc4;" k="41" />
-<hkern u1="&#xd3;" u2="&#xc3;" k="41" />
-<hkern u1="&#xd3;" u2="&#xc2;" k="41" />
-<hkern u1="&#xd3;" u2="&#xc1;" k="41" />
-<hkern u1="&#xd3;" u2="&#xc0;" k="41" />
-<hkern u1="&#xd3;" u2="Z" k="20" />
-<hkern u1="&#xd3;" u2="Y" k="20" />
-<hkern u1="&#xd3;" u2="X" k="41" />
-<hkern u1="&#xd3;" u2="W" k="20" />
-<hkern u1="&#xd3;" u2="V" k="20" />
-<hkern u1="&#xd3;" u2="T" k="61" />
-<hkern u1="&#xd3;" u2="A" k="41" />
-<hkern u1="&#xd3;" u2="&#x2e;" k="82" />
-<hkern u1="&#xd3;" u2="&#x2c;" k="82" />
-<hkern u1="&#xd4;" u2="&#x201e;" k="82" />
-<hkern u1="&#xd4;" u2="&#x201a;" k="82" />
-<hkern u1="&#xd4;" u2="&#x178;" k="20" />
-<hkern u1="&#xd4;" u2="&#xdd;" k="20" />
-<hkern u1="&#xd4;" u2="&#xc5;" k="41" />
-<hkern u1="&#xd4;" u2="&#xc4;" k="41" />
-<hkern u1="&#xd4;" u2="&#xc3;" k="41" />
-<hkern u1="&#xd4;" u2="&#xc2;" k="41" />
-<hkern u1="&#xd4;" u2="&#xc1;" k="41" />
-<hkern u1="&#xd4;" u2="&#xc0;" k="41" />
-<hkern u1="&#xd4;" u2="Z" k="20" />
-<hkern u1="&#xd4;" u2="Y" k="20" />
-<hkern u1="&#xd4;" u2="X" k="41" />
-<hkern u1="&#xd4;" u2="W" k="20" />
-<hkern u1="&#xd4;" u2="V" k="20" />
-<hkern u1="&#xd4;" u2="T" k="61" />
-<hkern u1="&#xd4;" u2="A" k="41" />
-<hkern u1="&#xd4;" u2="&#x2e;" k="82" />
-<hkern u1="&#xd4;" u2="&#x2c;" k="82" />
-<hkern u1="&#xd5;" u2="&#x201e;" k="82" />
-<hkern u1="&#xd5;" u2="&#x201a;" k="82" />
-<hkern u1="&#xd5;" u2="&#x178;" k="20" />
-<hkern u1="&#xd5;" u2="&#xdd;" k="20" />
-<hkern u1="&#xd5;" u2="&#xc5;" k="41" />
-<hkern u1="&#xd5;" u2="&#xc4;" k="41" />
-<hkern u1="&#xd5;" u2="&#xc3;" k="41" />
-<hkern u1="&#xd5;" u2="&#xc2;" k="41" />
-<hkern u1="&#xd5;" u2="&#xc1;" k="41" />
-<hkern u1="&#xd5;" u2="&#xc0;" k="41" />
-<hkern u1="&#xd5;" u2="Z" k="20" />
-<hkern u1="&#xd5;" u2="Y" k="20" />
-<hkern u1="&#xd5;" u2="X" k="41" />
-<hkern u1="&#xd5;" u2="W" k="20" />
-<hkern u1="&#xd5;" u2="V" k="20" />
-<hkern u1="&#xd5;" u2="T" k="61" />
-<hkern u1="&#xd5;" u2="A" k="41" />
-<hkern u1="&#xd5;" u2="&#x2e;" k="82" />
-<hkern u1="&#xd5;" u2="&#x2c;" k="82" />
-<hkern u1="&#xd6;" u2="&#x201e;" k="82" />
-<hkern u1="&#xd6;" u2="&#x201a;" k="82" />
-<hkern u1="&#xd6;" u2="&#x178;" k="20" />
-<hkern u1="&#xd6;" u2="&#xdd;" k="20" />
-<hkern u1="&#xd6;" u2="&#xc5;" k="41" />
-<hkern u1="&#xd6;" u2="&#xc4;" k="41" />
-<hkern u1="&#xd6;" u2="&#xc3;" k="41" />
-<hkern u1="&#xd6;" u2="&#xc2;" k="41" />
-<hkern u1="&#xd6;" u2="&#xc1;" k="41" />
-<hkern u1="&#xd6;" u2="&#xc0;" k="41" />
-<hkern u1="&#xd6;" u2="Z" k="20" />
-<hkern u1="&#xd6;" u2="Y" k="20" />
-<hkern u1="&#xd6;" u2="X" k="41" />
-<hkern u1="&#xd6;" u2="W" k="20" />
-<hkern u1="&#xd6;" u2="V" k="20" />
-<hkern u1="&#xd6;" u2="T" k="61" />
-<hkern u1="&#xd6;" u2="A" k="41" />
-<hkern u1="&#xd6;" u2="&#x2e;" k="82" />
-<hkern u1="&#xd6;" u2="&#x2c;" k="82" />
-<hkern u1="&#xd8;" u2="&#x201e;" k="82" />
-<hkern u1="&#xd8;" u2="&#x201a;" k="82" />
-<hkern u1="&#xd8;" u2="&#x178;" k="20" />
-<hkern u1="&#xd8;" u2="&#xdd;" k="20" />
-<hkern u1="&#xd8;" u2="&#xc5;" k="41" />
-<hkern u1="&#xd8;" u2="&#xc4;" k="41" />
-<hkern u1="&#xd8;" u2="&#xc3;" k="41" />
-<hkern u1="&#xd8;" u2="&#xc2;" k="41" />
-<hkern u1="&#xd8;" u2="&#xc1;" k="41" />
-<hkern u1="&#xd8;" u2="&#xc0;" k="41" />
-<hkern u1="&#xd8;" u2="Z" k="20" />
-<hkern u1="&#xd8;" u2="Y" k="20" />
-<hkern u1="&#xd8;" u2="X" k="41" />
-<hkern u1="&#xd8;" u2="W" k="20" />
-<hkern u1="&#xd8;" u2="V" k="20" />
-<hkern u1="&#xd8;" u2="T" k="61" />
-<hkern u1="&#xd8;" u2="A" k="41" />
-<hkern u1="&#xd8;" u2="&#x2e;" k="82" />
-<hkern u1="&#xd8;" u2="&#x2c;" k="82" />
-<hkern u1="&#xd9;" u2="&#x201e;" k="41" />
-<hkern u1="&#xd9;" u2="&#x201a;" k="41" />
-<hkern u1="&#xd9;" u2="&#xc5;" k="20" />
-<hkern u1="&#xd9;" u2="&#xc4;" k="20" />
-<hkern u1="&#xd9;" u2="&#xc3;" k="20" />
-<hkern u1="&#xd9;" u2="&#xc2;" k="20" />
-<hkern u1="&#xd9;" u2="&#xc1;" k="20" />
-<hkern u1="&#xd9;" u2="&#xc0;" k="20" />
-<hkern u1="&#xd9;" u2="A" k="20" />
-<hkern u1="&#xd9;" u2="&#x2e;" k="41" />
-<hkern u1="&#xd9;" u2="&#x2c;" k="41" />
-<hkern u1="&#xda;" u2="&#x201e;" k="41" />
-<hkern u1="&#xda;" u2="&#x201a;" k="41" />
-<hkern u1="&#xda;" u2="&#xc5;" k="20" />
-<hkern u1="&#xda;" u2="&#xc4;" k="20" />
-<hkern u1="&#xda;" u2="&#xc3;" k="20" />
-<hkern u1="&#xda;" u2="&#xc2;" k="20" />
-<hkern u1="&#xda;" u2="&#xc1;" k="20" />
-<hkern u1="&#xda;" u2="&#xc0;" k="20" />
-<hkern u1="&#xda;" u2="A" k="20" />
-<hkern u1="&#xda;" u2="&#x2e;" k="41" />
-<hkern u1="&#xda;" u2="&#x2c;" k="41" />
-<hkern u1="&#xdb;" u2="&#x201e;" k="41" />
-<hkern u1="&#xdb;" u2="&#x201a;" k="41" />
-<hkern u1="&#xdb;" u2="&#xc5;" k="20" />
-<hkern u1="&#xdb;" u2="&#xc4;" k="20" />
-<hkern u1="&#xdb;" u2="&#xc3;" k="20" />
-<hkern u1="&#xdb;" u2="&#xc2;" k="20" />
-<hkern u1="&#xdb;" u2="&#xc1;" k="20" />
-<hkern u1="&#xdb;" u2="&#xc0;" k="20" />
-<hkern u1="&#xdb;" u2="A" k="20" />
-<hkern u1="&#xdb;" u2="&#x2e;" k="41" />
-<hkern u1="&#xdb;" u2="&#x2c;" k="41" />
-<hkern u1="&#xdc;" u2="&#x201e;" k="41" />
-<hkern u1="&#xdc;" u2="&#x201a;" k="41" />
-<hkern u1="&#xdc;" u2="&#xc5;" k="20" />
-<hkern u1="&#xdc;" u2="&#xc4;" k="20" />
-<hkern u1="&#xdc;" u2="&#xc3;" k="20" />
-<hkern u1="&#xdc;" u2="&#xc2;" k="20" />
-<hkern u1="&#xdc;" u2="&#xc1;" k="20" />
-<hkern u1="&#xdc;" u2="&#xc0;" k="20" />
-<hkern u1="&#xdc;" u2="A" k="20" />
-<hkern u1="&#xdc;" u2="&#x2e;" k="41" />
-<hkern u1="&#xdc;" u2="&#x2c;" k="41" />
-<hkern u1="&#xdd;" u2="&#x201e;" k="123" />
-<hkern u1="&#xdd;" u2="&#x201a;" k="123" />
-<hkern u1="&#xdd;" u2="&#x153;" k="102" />
-<hkern u1="&#xdd;" u2="&#x152;" k="41" />
-<hkern u1="&#xdd;" u2="&#xfc;" k="61" />
-<hkern u1="&#xdd;" u2="&#xfb;" k="61" />
-<hkern u1="&#xdd;" u2="&#xfa;" k="61" />
-<hkern u1="&#xdd;" u2="&#xf9;" k="61" />
-<hkern u1="&#xdd;" u2="&#xf8;" k="102" />
-<hkern u1="&#xdd;" u2="&#xf6;" k="102" />
-<hkern u1="&#xdd;" u2="&#xf5;" k="102" />
-<hkern u1="&#xdd;" u2="&#xf4;" k="102" />
-<hkern u1="&#xdd;" u2="&#xf3;" k="102" />
-<hkern u1="&#xdd;" u2="&#xf2;" k="102" />
-<hkern u1="&#xdd;" u2="&#xeb;" k="102" />
-<hkern u1="&#xdd;" u2="&#xea;" k="102" />
-<hkern u1="&#xdd;" u2="&#xe9;" k="102" />
-<hkern u1="&#xdd;" u2="&#xe8;" k="102" />
-<hkern u1="&#xdd;" u2="&#xe7;" k="102" />
-<hkern u1="&#xdd;" u2="&#xe6;" k="102" />
-<hkern u1="&#xdd;" u2="&#xe5;" k="102" />
-<hkern u1="&#xdd;" u2="&#xe4;" k="102" />
-<hkern u1="&#xdd;" u2="&#xe3;" k="102" />
-<hkern u1="&#xdd;" u2="&#xe2;" k="102" />
-<hkern u1="&#xdd;" u2="&#xe1;" k="102" />
-<hkern u1="&#xdd;" u2="&#xe0;" k="102" />
-<hkern u1="&#xdd;" u2="&#xd8;" k="41" />
-<hkern u1="&#xdd;" u2="&#xd6;" k="41" />
-<hkern u1="&#xdd;" u2="&#xd5;" k="41" />
-<hkern u1="&#xdd;" u2="&#xd4;" k="41" />
-<hkern u1="&#xdd;" u2="&#xd3;" k="41" />
-<hkern u1="&#xdd;" u2="&#xd2;" k="41" />
-<hkern u1="&#xdd;" u2="&#xc7;" k="41" />
-<hkern u1="&#xdd;" u2="&#xc5;" k="123" />
-<hkern u1="&#xdd;" u2="&#xc4;" k="123" />
-<hkern u1="&#xdd;" u2="&#xc3;" k="123" />
-<hkern u1="&#xdd;" u2="&#xc2;" k="123" />
-<hkern u1="&#xdd;" u2="&#xc1;" k="123" />
-<hkern u1="&#xdd;" u2="&#xc0;" k="123" />
-<hkern u1="&#xdd;" u2="z" k="41" />
-<hkern u1="&#xdd;" u2="u" k="61" />
-<hkern u1="&#xdd;" u2="s" k="82" />
-<hkern u1="&#xdd;" u2="r" k="61" />
-<hkern u1="&#xdd;" u2="q" k="102" />
-<hkern u1="&#xdd;" u2="p" k="61" />
-<hkern u1="&#xdd;" u2="o" k="102" />
-<hkern u1="&#xdd;" u2="n" k="61" />
-<hkern u1="&#xdd;" u2="m" k="61" />
-<hkern u1="&#xdd;" u2="g" k="41" />
-<hkern u1="&#xdd;" u2="e" k="102" />
-<hkern u1="&#xdd;" u2="d" k="102" />
-<hkern u1="&#xdd;" u2="c" k="102" />
-<hkern u1="&#xdd;" u2="a" k="102" />
-<hkern u1="&#xdd;" u2="Q" k="41" />
-<hkern u1="&#xdd;" u2="O" k="41" />
-<hkern u1="&#xdd;" u2="G" k="41" />
-<hkern u1="&#xdd;" u2="C" k="41" />
-<hkern u1="&#xdd;" u2="A" k="123" />
-<hkern u1="&#xdd;" u2="&#x3f;" k="-41" />
-<hkern u1="&#xdd;" u2="&#x2e;" k="123" />
-<hkern u1="&#xdd;" u2="&#x2c;" k="123" />
-<hkern u1="&#xde;" u2="&#x201e;" k="266" />
-<hkern u1="&#xde;" u2="&#x201a;" k="266" />
-<hkern u1="&#xde;" u2="&#xc5;" k="102" />
-<hkern u1="&#xde;" u2="&#xc4;" k="102" />
-<hkern u1="&#xde;" u2="&#xc3;" k="102" />
-<hkern u1="&#xde;" u2="&#xc2;" k="102" />
-<hkern u1="&#xde;" u2="&#xc1;" k="102" />
-<hkern u1="&#xde;" u2="&#xc0;" k="102" />
-<hkern u1="&#xde;" u2="Z" k="20" />
-<hkern u1="&#xde;" u2="X" k="41" />
-<hkern u1="&#xde;" u2="A" k="102" />
-<hkern u1="&#xde;" u2="&#x2e;" k="266" />
-<hkern u1="&#xde;" u2="&#x2c;" k="266" />
-<hkern u1="&#xe0;" u2="&#x201d;" k="20" />
-<hkern u1="&#xe0;" u2="&#x2019;" k="20" />
-<hkern u1="&#xe0;" u2="&#x27;" k="20" />
-<hkern u1="&#xe0;" u2="&#x22;" k="20" />
-<hkern u1="&#xe1;" u2="&#x201d;" k="20" />
-<hkern u1="&#xe1;" u2="&#x2019;" k="20" />
-<hkern u1="&#xe1;" u2="&#x27;" k="20" />
-<hkern u1="&#xe1;" u2="&#x22;" k="20" />
-<hkern u1="&#xe2;" u2="&#x201d;" k="20" />
-<hkern u1="&#xe2;" u2="&#x2019;" k="20" />
-<hkern u1="&#xe2;" u2="&#x27;" k="20" />
-<hkern u1="&#xe2;" u2="&#x22;" k="20" />
-<hkern u1="&#xe3;" u2="&#x201d;" k="20" />
-<hkern u1="&#xe3;" u2="&#x2019;" k="20" />
-<hkern u1="&#xe3;" u2="&#x27;" k="20" />
-<hkern u1="&#xe3;" u2="&#x22;" k="20" />
-<hkern u1="&#xe4;" u2="&#x201d;" k="20" />
-<hkern u1="&#xe4;" u2="&#x2019;" k="20" />
-<hkern u1="&#xe4;" u2="&#x27;" k="20" />
-<hkern u1="&#xe4;" u2="&#x22;" k="20" />
-<hkern u1="&#xe5;" u2="&#x201d;" k="20" />
-<hkern u1="&#xe5;" u2="&#x2019;" k="20" />
-<hkern u1="&#xe5;" u2="&#x27;" k="20" />
-<hkern u1="&#xe5;" u2="&#x22;" k="20" />
-<hkern u1="&#xe8;" u2="&#x201d;" k="20" />
-<hkern u1="&#xe8;" u2="&#x2019;" k="20" />
-<hkern u1="&#xe8;" u2="&#xfd;" k="41" />
-<hkern u1="&#xe8;" u2="z" k="20" />
-<hkern u1="&#xe8;" u2="y" k="41" />
-<hkern u1="&#xe8;" u2="x" k="41" />
-<hkern u1="&#xe8;" u2="w" k="41" />
-<hkern u1="&#xe8;" u2="v" k="41" />
-<hkern u1="&#xe8;" u2="&#x27;" k="20" />
-<hkern u1="&#xe8;" u2="&#x22;" k="20" />
-<hkern u1="&#xe9;" u2="&#x201d;" k="20" />
-<hkern u1="&#xe9;" u2="&#x2019;" k="20" />
-<hkern u1="&#xe9;" u2="&#xfd;" k="41" />
-<hkern u1="&#xe9;" u2="z" k="20" />
-<hkern u1="&#xe9;" u2="y" k="41" />
-<hkern u1="&#xe9;" u2="x" k="41" />
-<hkern u1="&#xe9;" u2="w" k="41" />
-<hkern u1="&#xe9;" u2="v" k="41" />
-<hkern u1="&#xe9;" u2="&#x27;" k="20" />
-<hkern u1="&#xe9;" u2="&#x22;" k="20" />
-<hkern u1="&#xea;" u2="&#x201d;" k="20" />
-<hkern u1="&#xea;" u2="&#x2019;" k="20" />
-<hkern u1="&#xea;" u2="&#xfd;" k="41" />
-<hkern u1="&#xea;" u2="z" k="20" />
-<hkern u1="&#xea;" u2="y" k="41" />
-<hkern u1="&#xea;" u2="x" k="41" />
-<hkern u1="&#xea;" u2="w" k="41" />
-<hkern u1="&#xea;" u2="v" k="41" />
-<hkern u1="&#xea;" u2="&#x27;" k="20" />
-<hkern u1="&#xea;" u2="&#x22;" k="20" />
-<hkern u1="&#xeb;" u2="&#x201d;" k="20" />
-<hkern u1="&#xeb;" u2="&#x2019;" k="20" />
-<hkern u1="&#xeb;" u2="&#xfd;" k="41" />
-<hkern u1="&#xeb;" u2="z" k="20" />
-<hkern u1="&#xeb;" u2="y" k="41" />
-<hkern u1="&#xeb;" u2="x" k="41" />
-<hkern u1="&#xeb;" u2="w" k="41" />
-<hkern u1="&#xeb;" u2="v" k="41" />
-<hkern u1="&#xeb;" u2="&#x27;" k="20" />
-<hkern u1="&#xeb;" u2="&#x22;" k="20" />
-<hkern u1="&#xf0;" u2="&#x201d;" k="20" />
-<hkern u1="&#xf0;" u2="&#x2019;" k="20" />
-<hkern u1="&#xf0;" u2="&#xfd;" k="41" />
-<hkern u1="&#xf0;" u2="z" k="20" />
-<hkern u1="&#xf0;" u2="y" k="41" />
-<hkern u1="&#xf0;" u2="x" k="41" />
-<hkern u1="&#xf0;" u2="w" k="41" />
-<hkern u1="&#xf0;" u2="v" k="41" />
-<hkern u1="&#xf0;" u2="&#x27;" k="20" />
-<hkern u1="&#xf0;" u2="&#x22;" k="20" />
-<hkern u1="&#xf2;" u2="&#x201d;" k="20" />
-<hkern u1="&#xf2;" u2="&#x2019;" k="20" />
-<hkern u1="&#xf2;" u2="&#xfd;" k="41" />
-<hkern u1="&#xf2;" u2="z" k="20" />
-<hkern u1="&#xf2;" u2="y" k="41" />
-<hkern u1="&#xf2;" u2="x" k="41" />
-<hkern u1="&#xf2;" u2="w" k="41" />
-<hkern u1="&#xf2;" u2="v" k="41" />
-<hkern u1="&#xf2;" u2="&#x27;" k="20" />
-<hkern u1="&#xf2;" u2="&#x22;" k="20" />
-<hkern u1="&#xf3;" u2="&#x201d;" k="20" />
-<hkern u1="&#xf3;" u2="&#x2019;" k="20" />
-<hkern u1="&#xf3;" u2="&#xfd;" k="41" />
-<hkern u1="&#xf3;" u2="z" k="20" />
-<hkern u1="&#xf3;" u2="y" k="41" />
-<hkern u1="&#xf3;" u2="x" k="41" />
-<hkern u1="&#xf3;" u2="w" k="41" />
-<hkern u1="&#xf3;" u2="v" k="41" />
-<hkern u1="&#xf3;" u2="&#x27;" k="20" />
-<hkern u1="&#xf3;" u2="&#x22;" k="20" />
-<hkern u1="&#xf4;" u2="&#x201d;" k="20" />
-<hkern u1="&#xf4;" u2="&#x2019;" k="20" />
-<hkern u1="&#xf4;" u2="&#xfd;" k="41" />
-<hkern u1="&#xf4;" u2="z" k="20" />
-<hkern u1="&#xf4;" u2="y" k="41" />
-<hkern u1="&#xf4;" u2="x" k="41" />
-<hkern u1="&#xf4;" u2="w" k="41" />
-<hkern u1="&#xf4;" u2="v" k="41" />
-<hkern u1="&#xf4;" u2="&#x27;" k="20" />
-<hkern u1="&#xf4;" u2="&#x22;" k="20" />
-<hkern u1="&#xf6;" u2="&#x201d;" k="41" />
-<hkern u1="&#xf6;" u2="&#x2019;" k="41" />
-<hkern u1="&#xf6;" u2="&#x27;" k="41" />
-<hkern u1="&#xf6;" u2="&#x22;" k="41" />
-<hkern u1="&#xf8;" u2="&#x201d;" k="20" />
-<hkern u1="&#xf8;" u2="&#x2019;" k="20" />
-<hkern u1="&#xf8;" u2="&#xfd;" k="41" />
-<hkern u1="&#xf8;" u2="z" k="20" />
-<hkern u1="&#xf8;" u2="y" k="41" />
-<hkern u1="&#xf8;" u2="x" k="41" />
-<hkern u1="&#xf8;" u2="w" k="41" />
-<hkern u1="&#xf8;" u2="v" k="41" />
-<hkern u1="&#xf8;" u2="&#x27;" k="20" />
-<hkern u1="&#xf8;" u2="&#x22;" k="20" />
-<hkern u1="&#xfd;" u2="&#x201e;" k="82" />
-<hkern u1="&#xfd;" u2="&#x201d;" k="-82" />
-<hkern u1="&#xfd;" u2="&#x201a;" k="82" />
-<hkern u1="&#xfd;" u2="&#x2019;" k="-82" />
-<hkern u1="&#xfd;" u2="&#x3f;" k="-41" />
-<hkern u1="&#xfd;" u2="&#x2e;" k="82" />
-<hkern u1="&#xfd;" u2="&#x2c;" k="82" />
-<hkern u1="&#xfd;" u2="&#x27;" k="-82" />
-<hkern u1="&#xfd;" u2="&#x22;" k="-82" />
-<hkern u1="&#xfe;" u2="&#x201d;" k="20" />
-<hkern u1="&#xfe;" u2="&#x2019;" k="20" />
-<hkern u1="&#xfe;" u2="&#xfd;" k="41" />
-<hkern u1="&#xfe;" u2="z" k="20" />
-<hkern u1="&#xfe;" u2="y" k="41" />
-<hkern u1="&#xfe;" u2="x" k="41" />
-<hkern u1="&#xfe;" u2="w" k="41" />
-<hkern u1="&#xfe;" u2="v" k="41" />
-<hkern u1="&#xfe;" u2="&#x27;" k="20" />
-<hkern u1="&#xfe;" u2="&#x22;" k="20" />
-<hkern u1="&#xff;" u2="&#x201e;" k="82" />
-<hkern u1="&#xff;" u2="&#x201d;" k="-82" />
-<hkern u1="&#xff;" u2="&#x201a;" k="82" />
-<hkern u1="&#xff;" u2="&#x2019;" k="-82" />
-<hkern u1="&#xff;" u2="&#x3f;" k="-41" />
-<hkern u1="&#xff;" u2="&#x2e;" k="82" />
-<hkern u1="&#xff;" u2="&#x2c;" k="82" />
-<hkern u1="&#xff;" u2="&#x27;" k="-82" />
-<hkern u1="&#xff;" u2="&#x22;" k="-82" />
-<hkern u1="&#x152;" u2="J" k="-123" />
-<hkern u1="&#x178;" u2="&#x201e;" k="123" />
-<hkern u1="&#x178;" u2="&#x201a;" k="123" />
-<hkern u1="&#x178;" u2="&#x153;" k="102" />
-<hkern u1="&#x178;" u2="&#x152;" k="41" />
-<hkern u1="&#x178;" u2="&#xfc;" k="61" />
-<hkern u1="&#x178;" u2="&#xfb;" k="61" />
-<hkern u1="&#x178;" u2="&#xfa;" k="61" />
-<hkern u1="&#x178;" u2="&#xf9;" k="61" />
-<hkern u1="&#x178;" u2="&#xf8;" k="102" />
-<hkern u1="&#x178;" u2="&#xf6;" k="102" />
-<hkern u1="&#x178;" u2="&#xf5;" k="102" />
-<hkern u1="&#x178;" u2="&#xf4;" k="102" />
-<hkern u1="&#x178;" u2="&#xf3;" k="102" />
-<hkern u1="&#x178;" u2="&#xf2;" k="102" />
-<hkern u1="&#x178;" u2="&#xeb;" k="102" />
-<hkern u1="&#x178;" u2="&#xea;" k="102" />
-<hkern u1="&#x178;" u2="&#xe9;" k="102" />
-<hkern u1="&#x178;" u2="&#xe8;" k="102" />
-<hkern u1="&#x178;" u2="&#xe7;" k="102" />
-<hkern u1="&#x178;" u2="&#xe6;" k="102" />
-<hkern u1="&#x178;" u2="&#xe5;" k="102" />
-<hkern u1="&#x178;" u2="&#xe4;" k="102" />
-<hkern u1="&#x178;" u2="&#xe3;" k="102" />
-<hkern u1="&#x178;" u2="&#xe2;" k="102" />
-<hkern u1="&#x178;" u2="&#xe1;" k="102" />
-<hkern u1="&#x178;" u2="&#xe0;" k="102" />
-<hkern u1="&#x178;" u2="&#xd8;" k="41" />
-<hkern u1="&#x178;" u2="&#xd6;" k="41" />
-<hkern u1="&#x178;" u2="&#xd5;" k="41" />
-<hkern u1="&#x178;" u2="&#xd4;" k="41" />
-<hkern u1="&#x178;" u2="&#xd3;" k="41" />
-<hkern u1="&#x178;" u2="&#xd2;" k="41" />
-<hkern u1="&#x178;" u2="&#xc7;" k="41" />
-<hkern u1="&#x178;" u2="&#xc5;" k="123" />
-<hkern u1="&#x178;" u2="&#xc4;" k="123" />
-<hkern u1="&#x178;" u2="&#xc3;" k="123" />
-<hkern u1="&#x178;" u2="&#xc2;" k="123" />
-<hkern u1="&#x178;" u2="&#xc1;" k="123" />
-<hkern u1="&#x178;" u2="&#xc0;" k="123" />
-<hkern u1="&#x178;" u2="z" k="41" />
-<hkern u1="&#x178;" u2="u" k="61" />
-<hkern u1="&#x178;" u2="s" k="82" />
-<hkern u1="&#x178;" u2="r" k="61" />
-<hkern u1="&#x178;" u2="q" k="102" />
-<hkern u1="&#x178;" u2="p" k="61" />
-<hkern u1="&#x178;" u2="o" k="102" />
-<hkern u1="&#x178;" u2="n" k="61" />
-<hkern u1="&#x178;" u2="m" k="61" />
-<hkern u1="&#x178;" u2="g" k="41" />
-<hkern u1="&#x178;" u2="e" k="102" />
-<hkern u1="&#x178;" u2="d" k="102" />
-<hkern u1="&#x178;" u2="c" k="102" />
-<hkern u1="&#x178;" u2="a" k="102" />
-<hkern u1="&#x178;" u2="Q" k="41" />
-<hkern u1="&#x178;" u2="O" k="41" />
-<hkern u1="&#x178;" u2="G" k="41" />
-<hkern u1="&#x178;" u2="C" k="41" />
-<hkern u1="&#x178;" u2="A" k="123" />
-<hkern u1="&#x178;" u2="&#x3f;" k="-41" />
-<hkern u1="&#x178;" u2="&#x2e;" k="123" />
-<hkern u1="&#x178;" u2="&#x2c;" k="123" />
-<hkern u1="&#x2013;" u2="T" k="82" />
-<hkern u1="&#x2014;" u2="T" k="82" />
-<hkern u1="&#x2018;" u2="&#x178;" k="-20" />
-<hkern u1="&#x2018;" u2="&#x153;" k="123" />
-<hkern u1="&#x2018;" u2="&#xfc;" k="61" />
-<hkern u1="&#x2018;" u2="&#xfb;" k="61" />
-<hkern u1="&#x2018;" u2="&#xfa;" k="61" />
-<hkern u1="&#x2018;" u2="&#xf9;" k="61" />
-<hkern u1="&#x2018;" u2="&#xf8;" k="123" />
-<hkern u1="&#x2018;" u2="&#xf6;" k="123" />
-<hkern u1="&#x2018;" u2="&#xf5;" k="123" />
-<hkern u1="&#x2018;" u2="&#xf4;" k="123" />
-<hkern u1="&#x2018;" u2="&#xf3;" k="123" />
-<hkern u1="&#x2018;" u2="&#xf2;" k="123" />
-<hkern u1="&#x2018;" u2="&#xeb;" k="123" />
-<hkern u1="&#x2018;" u2="&#xea;" k="123" />
-<hkern u1="&#x2018;" u2="&#xe9;" k="123" />
-<hkern u1="&#x2018;" u2="&#xe8;" k="123" />
-<hkern u1="&#x2018;" u2="&#xe7;" k="123" />
-<hkern u1="&#x2018;" u2="&#xe6;" k="82" />
-<hkern u1="&#x2018;" u2="&#xe5;" k="82" />
-<hkern u1="&#x2018;" u2="&#xe4;" k="82" />
-<hkern u1="&#x2018;" u2="&#xe3;" k="82" />
-<hkern u1="&#x2018;" u2="&#xe2;" k="82" />
-<hkern u1="&#x2018;" u2="&#xe1;" k="82" />
-<hkern u1="&#x2018;" u2="&#xe0;" k="123" />
-<hkern u1="&#x2018;" u2="&#xdd;" k="-20" />
-<hkern u1="&#x2018;" u2="&#xc5;" k="143" />
-<hkern u1="&#x2018;" u2="&#xc4;" k="143" />
-<hkern u1="&#x2018;" u2="&#xc3;" k="143" />
-<hkern u1="&#x2018;" u2="&#xc2;" k="143" />
-<hkern u1="&#x2018;" u2="&#xc1;" k="143" />
-<hkern u1="&#x2018;" u2="&#xc0;" k="143" />
-<hkern u1="&#x2018;" u2="u" k="61" />
-<hkern u1="&#x2018;" u2="s" k="61" />
-<hkern u1="&#x2018;" u2="r" k="61" />
-<hkern u1="&#x2018;" u2="q" k="123" />
-<hkern u1="&#x2018;" u2="p" k="61" />
-<hkern u1="&#x2018;" u2="o" k="123" />
-<hkern u1="&#x2018;" u2="n" k="61" />
-<hkern u1="&#x2018;" u2="m" k="61" />
-<hkern u1="&#x2018;" u2="g" k="61" />
-<hkern u1="&#x2018;" u2="e" k="123" />
-<hkern u1="&#x2018;" u2="d" k="123" />
-<hkern u1="&#x2018;" u2="c" k="123" />
-<hkern u1="&#x2018;" u2="a" k="82" />
-<hkern u1="&#x2018;" u2="Y" k="-20" />
-<hkern u1="&#x2018;" u2="W" k="-41" />
-<hkern u1="&#x2018;" u2="V" k="-41" />
-<hkern u1="&#x2018;" u2="T" k="-41" />
-<hkern u1="&#x2018;" u2="A" k="143" />
-<hkern u1="&#x2019;" u2="&#x178;" k="-20" />
-<hkern u1="&#x2019;" u2="&#x153;" k="123" />
-<hkern u1="&#x2019;" u2="&#xfc;" k="61" />
-<hkern u1="&#x2019;" u2="&#xfb;" k="61" />
-<hkern u1="&#x2019;" u2="&#xfa;" k="61" />
-<hkern u1="&#x2019;" u2="&#xf9;" k="61" />
-<hkern u1="&#x2019;" u2="&#xf8;" k="123" />
-<hkern u1="&#x2019;" u2="&#xf6;" k="123" />
-<hkern u1="&#x2019;" u2="&#xf5;" k="123" />
-<hkern u1="&#x2019;" u2="&#xf4;" k="123" />
-<hkern u1="&#x2019;" u2="&#xf3;" k="123" />
-<hkern u1="&#x2019;" u2="&#xf2;" k="123" />
-<hkern u1="&#x2019;" u2="&#xeb;" k="123" />
-<hkern u1="&#x2019;" u2="&#xea;" k="123" />
-<hkern u1="&#x2019;" u2="&#xe9;" k="123" />
-<hkern u1="&#x2019;" u2="&#xe8;" k="123" />
-<hkern u1="&#x2019;" u2="&#xe7;" k="123" />
-<hkern u1="&#x2019;" u2="&#xe6;" k="82" />
-<hkern u1="&#x2019;" u2="&#xe5;" k="82" />
-<hkern u1="&#x2019;" u2="&#xe4;" k="82" />
-<hkern u1="&#x2019;" u2="&#xe3;" k="82" />
-<hkern u1="&#x2019;" u2="&#xe2;" k="82" />
-<hkern u1="&#x2019;" u2="&#xe1;" k="82" />
-<hkern u1="&#x2019;" u2="&#xe0;" k="123" />
-<hkern u1="&#x2019;" u2="&#xdd;" k="-20" />
-<hkern u1="&#x2019;" u2="&#xc5;" k="143" />
-<hkern u1="&#x2019;" u2="&#xc4;" k="143" />
-<hkern u1="&#x2019;" u2="&#xc3;" k="143" />
-<hkern u1="&#x2019;" u2="&#xc2;" k="143" />
-<hkern u1="&#x2019;" u2="&#xc1;" k="143" />
-<hkern u1="&#x2019;" u2="&#xc0;" k="143" />
-<hkern u1="&#x2019;" u2="u" k="61" />
-<hkern u1="&#x2019;" u2="s" k="61" />
-<hkern u1="&#x2019;" u2="r" k="61" />
-<hkern u1="&#x2019;" u2="q" k="123" />
-<hkern u1="&#x2019;" u2="p" k="61" />
-<hkern u1="&#x2019;" u2="o" k="123" />
-<hkern u1="&#x2019;" u2="n" k="61" />
-<hkern u1="&#x2019;" u2="m" k="61" />
-<hkern u1="&#x2019;" u2="g" k="61" />
-<hkern u1="&#x2019;" u2="e" k="123" />
-<hkern u1="&#x2019;" u2="d" k="123" />
-<hkern u1="&#x2019;" u2="c" k="123" />
-<hkern u1="&#x2019;" u2="a" k="82" />
-<hkern u1="&#x2019;" u2="Y" k="-20" />
-<hkern u1="&#x2019;" u2="W" k="-41" />
-<hkern u1="&#x2019;" u2="V" k="-41" />
-<hkern u1="&#x2019;" u2="T" k="-41" />
-<hkern u1="&#x2019;" u2="A" k="143" />
-<hkern u1="&#x201a;" u2="&#x178;" k="123" />
-<hkern u1="&#x201a;" u2="&#x152;" k="102" />
-<hkern u1="&#x201a;" u2="&#xdd;" k="123" />
-<hkern u1="&#x201a;" u2="&#xdc;" k="41" />
-<hkern u1="&#x201a;" u2="&#xdb;" k="41" />
-<hkern u1="&#x201a;" u2="&#xda;" k="41" />
-<hkern u1="&#x201a;" u2="&#xd9;" k="41" />
-<hkern u1="&#x201a;" u2="&#xd8;" k="102" />
-<hkern u1="&#x201a;" u2="&#xd6;" k="102" />
-<hkern u1="&#x201a;" u2="&#xd5;" k="102" />
-<hkern u1="&#x201a;" u2="&#xd4;" k="102" />
-<hkern u1="&#x201a;" u2="&#xd3;" k="102" />
-<hkern u1="&#x201a;" u2="&#xd2;" k="102" />
-<hkern u1="&#x201a;" u2="&#xc7;" k="102" />
-<hkern u1="&#x201a;" u2="Y" k="123" />
-<hkern u1="&#x201a;" u2="W" k="123" />
-<hkern u1="&#x201a;" u2="V" k="123" />
-<hkern u1="&#x201a;" u2="U" k="41" />
-<hkern u1="&#x201a;" u2="T" k="143" />
-<hkern u1="&#x201a;" u2="Q" k="102" />
-<hkern u1="&#x201a;" u2="O" k="102" />
-<hkern u1="&#x201a;" u2="G" k="102" />
-<hkern u1="&#x201a;" u2="C" k="102" />
-<hkern u1="&#x201c;" u2="&#x178;" k="-20" />
-<hkern u1="&#x201c;" u2="&#x153;" k="123" />
-<hkern u1="&#x201c;" u2="&#xfc;" k="61" />
-<hkern u1="&#x201c;" u2="&#xfb;" k="61" />
-<hkern u1="&#x201c;" u2="&#xfa;" k="61" />
-<hkern u1="&#x201c;" u2="&#xf9;" k="61" />
-<hkern u1="&#x201c;" u2="&#xf8;" k="123" />
-<hkern u1="&#x201c;" u2="&#xf6;" k="123" />
-<hkern u1="&#x201c;" u2="&#xf5;" k="123" />
-<hkern u1="&#x201c;" u2="&#xf4;" k="123" />
-<hkern u1="&#x201c;" u2="&#xf3;" k="123" />
-<hkern u1="&#x201c;" u2="&#xf2;" k="123" />
-<hkern u1="&#x201c;" u2="&#xeb;" k="123" />
-<hkern u1="&#x201c;" u2="&#xea;" k="123" />
-<hkern u1="&#x201c;" u2="&#xe9;" k="123" />
-<hkern u1="&#x201c;" u2="&#xe8;" k="123" />
-<hkern u1="&#x201c;" u2="&#xe7;" k="123" />
-<hkern u1="&#x201c;" u2="&#xe6;" k="82" />
-<hkern u1="&#x201c;" u2="&#xe5;" k="82" />
-<hkern u1="&#x201c;" u2="&#xe4;" k="82" />
-<hkern u1="&#x201c;" u2="&#xe3;" k="82" />
-<hkern u1="&#x201c;" u2="&#xe2;" k="82" />
-<hkern u1="&#x201c;" u2="&#xe1;" k="82" />
-<hkern u1="&#x201c;" u2="&#xe0;" k="123" />
-<hkern u1="&#x201c;" u2="&#xdd;" k="-20" />
-<hkern u1="&#x201c;" u2="&#xc5;" k="143" />
-<hkern u1="&#x201c;" u2="&#xc4;" k="143" />
-<hkern u1="&#x201c;" u2="&#xc3;" k="143" />
-<hkern u1="&#x201c;" u2="&#xc2;" k="143" />
-<hkern u1="&#x201c;" u2="&#xc1;" k="143" />
-<hkern u1="&#x201c;" u2="&#xc0;" k="143" />
-<hkern u1="&#x201c;" u2="u" k="61" />
-<hkern u1="&#x201c;" u2="s" k="61" />
-<hkern u1="&#x201c;" u2="r" k="61" />
-<hkern u1="&#x201c;" u2="q" k="123" />
-<hkern u1="&#x201c;" u2="p" k="61" />
-<hkern u1="&#x201c;" u2="o" k="123" />
-<hkern u1="&#x201c;" u2="n" k="61" />
-<hkern u1="&#x201c;" u2="m" k="61" />
-<hkern u1="&#x201c;" u2="g" k="61" />
-<hkern u1="&#x201c;" u2="e" k="123" />
-<hkern u1="&#x201c;" u2="d" k="123" />
-<hkern u1="&#x201c;" u2="c" k="123" />
-<hkern u1="&#x201c;" u2="a" k="82" />
-<hkern u1="&#x201c;" u2="Y" k="-20" />
-<hkern u1="&#x201c;" u2="W" k="-41" />
-<hkern u1="&#x201c;" u2="V" k="-41" />
-<hkern u1="&#x201c;" u2="T" k="-41" />
-<hkern u1="&#x201c;" u2="A" k="143" />
-<hkern u1="&#x201e;" u2="&#x178;" k="123" />
-<hkern u1="&#x201e;" u2="&#x152;" k="102" />
-<hkern u1="&#x201e;" u2="&#xdd;" k="123" />
-<hkern u1="&#x201e;" u2="&#xdc;" k="41" />
-<hkern u1="&#x201e;" u2="&#xdb;" k="41" />
-<hkern u1="&#x201e;" u2="&#xda;" k="41" />
-<hkern u1="&#x201e;" u2="&#xd9;" k="41" />
-<hkern u1="&#x201e;" u2="&#xd8;" k="102" />
-<hkern u1="&#x201e;" u2="&#xd6;" k="102" />
-<hkern u1="&#x201e;" u2="&#xd5;" k="102" />
-<hkern u1="&#x201e;" u2="&#xd4;" k="102" />
-<hkern u1="&#x201e;" u2="&#xd3;" k="102" />
-<hkern u1="&#x201e;" u2="&#xd2;" k="102" />
-<hkern u1="&#x201e;" u2="&#xc7;" k="102" />
-<hkern u1="&#x201e;" u2="Y" k="123" />
-<hkern u1="&#x201e;" u2="W" k="123" />
-<hkern u1="&#x201e;" u2="V" k="123" />
-<hkern u1="&#x201e;" u2="U" k="41" />
-<hkern u1="&#x201e;" u2="T" k="143" />
-<hkern u1="&#x201e;" u2="Q" k="102" />
-<hkern u1="&#x201e;" u2="O" k="102" />
-<hkern u1="&#x201e;" u2="G" k="102" />
-<hkern u1="&#x201e;" u2="C" k="102" />
-</font>
-</defs></svg> \ No newline at end of file
diff --git a/documentation/jsapi/fonts/OpenSans-BoldItalic-webfont.woff b/documentation/jsapi/fonts/OpenSans-BoldItalic-webfont.woff
deleted file mode 100644
index ed760c0628..0000000000
--- a/documentation/jsapi/fonts/OpenSans-BoldItalic-webfont.woff
+++ /dev/null
Binary files differ
diff --git a/documentation/jsapi/fonts/OpenSans-Italic-webfont.eot b/documentation/jsapi/fonts/OpenSans-Italic-webfont.eot
deleted file mode 100644
index 0c8a0ae06e..0000000000
--- a/documentation/jsapi/fonts/OpenSans-Italic-webfont.eot
+++ /dev/null
Binary files differ
diff --git a/documentation/jsapi/fonts/OpenSans-Italic-webfont.svg b/documentation/jsapi/fonts/OpenSans-Italic-webfont.svg
deleted file mode 100644
index e1075dcc24..0000000000
--- a/documentation/jsapi/fonts/OpenSans-Italic-webfont.svg
+++ /dev/null
@@ -1,1830 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
-<svg xmlns="http://www.w3.org/2000/svg">
-<metadata></metadata>
-<defs>
-<font id="open_sansitalic" horiz-adv-x="1128" >
-<font-face units-per-em="2048" ascent="1638" descent="-410" />
-<missing-glyph horiz-adv-x="532" />
-<glyph unicode="&#xfb01;" horiz-adv-x="1165" d="M0 0zM-104 -492q-69 0 -125 21v141q64 -22 112 -22q76 0 117 62t66 177l227 1082h-193l13 67l206 66l23 100q46 200 127.5 282.5t241.5 82.5q40 0 98 -11.5t90 -25.5l-43 -129q-76 29 -137 29q-87 0 -133.5 -48.5t-75.5 -177.5l-25 -108h238l-25 -127h-237l-232 -1098 q-39 -189 -120 -276t-213 -87zM870 0h-168l234 1096h168zM983 1376q0 56 32 91.5t83 35.5q88 0 88 -90q0 -55 -33.5 -93t-77.5 -38q-40 0 -66 24.5t-26 69.5z" />
-<glyph unicode="&#xfb02;" horiz-adv-x="1165" d="M0 0zM-104 -492q-69 0 -125 21v141q64 -22 112 -22q76 0 117 62t66 177l227 1082h-193l13 67l206 66l23 100q46 200 127.5 282.5t241.5 82.5q40 0 98 -11.5t90 -25.5l-43 -129q-76 29 -137 29q-87 0 -133.5 -48.5t-75.5 -177.5l-25 -108h238l-25 -127h-237l-232 -1098 q-39 -189 -120 -276t-213 -87zM868 0h-168l332 1556h168z" />
-<glyph unicode="&#xfb03;" horiz-adv-x="1815" d="M545 -492q-71 0 -125 21v141q61 -22 115 -22q68 0 111 57.5t69 181.5l227 1082h-481l-232 -1098q-39 -189 -120 -276t-213 -87q-69 0 -125 21v141q64 -22 112 -22q70 0 114 58t69 181l227 1082h-193l13 67l206 66l23 100q46 200 127.5 282.5t241.5 82.5q40 0 98 -11.5 t90 -25.5l-43 -129q-76 29 -137 29q-87 0 -133.5 -48.5t-75.5 -177.5l-25 -108h482l24 108q45 197 126 280t243 83q41 0 97.5 -11t92.5 -26l-45 -129q-76 29 -137 29q-89 0 -135 -51t-74 -175l-24 -108h239l-26 -127h-238l-231 -1098q-43 -195 -123.5 -279t-210.5 -84z M1522 0h-168l233 1096h168zM1634 1376q0 54 32 90.5t83 36.5q88 0 88 -90q0 -55 -33.5 -93t-77.5 -38q-38 0 -65 24.5t-27 69.5z" />
-<glyph unicode="&#xfb04;" horiz-adv-x="1815" d="M1520 0h-168l331 1556h168zM545 -492q-71 0 -125 21v141q61 -22 115 -22q68 0 111 57.5t69 181.5l227 1082h-481l-232 -1098q-39 -189 -120 -276t-213 -87q-69 0 -125 21v141q64 -22 112 -22q70 0 114 58t69 181l227 1082h-193l13 67l206 66l23 100q46 200 127.5 282.5 t241.5 82.5q40 0 98 -11.5t90 -25.5l-43 -129q-76 29 -137 29q-87 0 -133.5 -48.5t-75.5 -177.5l-25 -108h482l24 108q45 197 126 280t243 83q41 0 97.5 -11t92.5 -26l-45 -129q-76 29 -137 29q-89 0 -135 -51t-74 -175l-24 -108h239l-26 -127h-238l-231 -1098 q-43 -195 -123.5 -279t-210.5 -84z" />
-<glyph horiz-adv-x="2048" />
-<glyph horiz-adv-x="2048" />
-<glyph unicode="&#xd;" horiz-adv-x="1044" />
-<glyph unicode=" " horiz-adv-x="532" />
-<glyph unicode="&#x09;" horiz-adv-x="532" />
-<glyph unicode="&#xa0;" horiz-adv-x="532" />
-<glyph unicode="!" horiz-adv-x="530" d="M555 1462l-274 -1059h-109q49 307 176 1059h207zM43 78q0 76 39.5 120t107.5 44q45 0 73 -27.5t28 -81.5q0 -68 -39 -115t-105 -47q-49 0 -76.5 28t-27.5 79z" />
-<glyph unicode="&#x22;" horiz-adv-x="791" d="M485 1462l-153 -528h-107l72 528h188zM834 1462l-154 -528h-107l72 528h189z" />
-<glyph unicode="#" horiz-adv-x="1323" d="M1036 899l-98 -340h285l-13 -129h-309l-125 -430h-139l129 430h-303l-127 -430h-133l121 430h-261l13 129h284l101 340h-277l13 127h301l123 436h139l-125 -436h305l127 436h133l-125 -436h264l-12 -127h-291zM500 559h303l96 340h-303z" />
-<glyph unicode="$" d="M942 492q0 -162 -112.5 -263t-309.5 -123l-49 -225h-133l49 223q-195 14 -315 72v154q82 -41 175.5 -63.5t166.5 -22.5l98 452q-139 49 -201.5 123.5t-62.5 188.5q0 159 108 255t299 113l39 176h133l-39 -178q159 -12 283 -76l-63 -135q-121 63 -248 72l-94 -440 q149 -55 212.5 -125t63.5 -178zM549 250q107 13 170 75t63 154q0 54 -33 96t-114 74zM627 1235q-108 -11 -167 -69t-59 -156q0 -53 34.5 -97.5t107.5 -70.5z" />
-<glyph unicode="%" horiz-adv-x="1624" d="M1468 1462l-1085 -1462h-152l1086 1462h151zM1284 772q-67 0 -119.5 -64.5t-84 -188.5t-31.5 -240q0 -173 106 -173q65 0 117 65t86.5 198.5t34.5 236.5q0 166 -109 166zM1532 621q0 -107 -31.5 -236t-82 -217.5t-121 -138t-156.5 -49.5q-110 0 -171 74.5t-61 219.5 q0 166 50.5 318.5t136.5 228.5t200 76q116 0 176 -71.5t60 -204.5zM543 1358q-66 0 -119 -63t-85 -187.5t-32 -243.5q0 -172 107 -172q52 0 94 39.5t73.5 114t50.5 175t19 171.5q0 166 -108 166zM791 1206q0 -108 -32 -237.5t-82.5 -217.5t-120.5 -137t-157 -49 q-109 0 -170 75t-61 220q0 166 50.5 318.5t136.5 228.5t200 76q116 0 176 -72t60 -205z" />
-<glyph unicode="&#x26;" horiz-adv-x="1372" d="M737 1348q-105 0 -163 -60t-58 -170q0 -120 82 -235q139 71 191 110t83 85t31 104q0 77 -42.5 121.5t-123.5 44.5zM471 119q87 0 168 33t195 124l-306 433q-128 -67 -184 -116t-85.5 -107.5t-29.5 -131.5q0 -106 66.5 -170.5t175.5 -64.5zM66 342q0 148 90 257.5 t303 211.5q-103 165 -103 309q0 164 106 264.5t281 100.5q149 0 236.5 -79t87.5 -212q0 -78 -32.5 -137t-87.5 -108t-127.5 -90t-153.5 -83l278 -389q127 110 199 295h168q-101 -236 -283 -412l203 -270h-201l-117 166q-120 -100 -230 -143t-247 -43q-168 0 -269 96 t-101 266z" />
-<glyph unicode="'" horiz-adv-x="444" d="M485 1462l-153 -528h-107l72 528h188z" />
-<glyph unicode="(" horiz-adv-x="584" d="M82 272q0 339 120 627t384 563h157q-246 -270 -371.5 -570t-125.5 -618q0 -339 114 -598h-131q-147 266 -147 596z" />
-<glyph unicode=")" horiz-adv-x="584" d="M500 864q0 -341 -121.5 -629.5t-382.5 -558.5h-156q496 551 496 1188q0 341 -113 598h131q146 -269 146 -598z" />
-<glyph unicode="*" horiz-adv-x="1130" d="M854 1528l-123 -383l422 18l-8 -157l-393 47l180 -383l-166 -52l-113 406l-258 -344l-116 121l309 284l-373 109l55 154l371 -185l41 400z" />
-<glyph unicode="+" d="M516 651h-389v142h389v391h141v-391h390v-142h-390v-387h-141v387z" />
-<glyph unicode="," horiz-adv-x="492" d="M291 238l8 -23q-113 -235 -270 -479h-129q126 286 204 502h187z" />
-<glyph unicode="-" horiz-adv-x="639" d="M55 469l35 158h479l-34 -158h-480z" />
-<glyph unicode="." horiz-adv-x="518" d="M43 74q0 77 40.5 122.5t111.5 45.5q43 0 69.5 -26t26.5 -79q0 -71 -40 -118.5t-108 -47.5q-46 0 -73 26t-27 77z" />
-<glyph unicode="/" horiz-adv-x="717" d="M893 1462l-813 -1462h-174l813 1462h174z" />
-<glyph unicode="0" d="M1092 1014q0 -295 -78.5 -539t-214 -369.5t-314.5 -125.5q-176 0 -270 127.5t-94 369.5q0 270 82 514.5t216.5 369t307.5 124.5q365 0 365 -471zM717 1341q-113 0 -209 -115.5t-155.5 -323t-59.5 -423.5q0 -172 50 -264t161 -92q115 0 209 114t150.5 328t56.5 453 q0 323 -203 323z" />
-<glyph unicode="1" d="M588 0h-172l196 913q59 261 88 359q-50 -53 -139 -111l-178 -110l-80 127l449 284h149z" />
-<glyph unicode="2" d="M911 0h-899l31 147l465 420q102 93 176.5 163.5t123 133t72 124t23.5 136.5q0 99 -60 157t-163 58q-77 0 -150.5 -28.5t-162.5 -96.5l-82 115q191 154 413 154q176 0 278.5 -88.5t102.5 -243.5q0 -111 -39.5 -204t-131 -197t-294.5 -281l-352 -307v-8h678z" />
-<glyph unicode="3" d="M1073 1159q0 -156 -101 -264.5t-280 -140.5v-9q124 -23 195 -106.5t71 -208.5q0 -133 -62 -234.5t-181 -158.5t-283 -57q-210 0 -385 79v164q94 -49 199 -75.5t190 -26.5q162 0 252 79.5t90 217.5q0 131 -79 198.5t-220 67.5h-131l31 143h139q165 0 274 87t109 227 q0 92 -58 146t-157 54q-80 0 -157 -27t-175 -93l-80 118q195 144 424 144q179 0 277 -87t98 -237z" />
-<glyph unicode="4" d="M1067 334h-233l-72 -334h-164l74 334h-656l29 158l834 978h196l-207 -983h232zM705 487q46 220 78 373t116 445h-8q-17 -29 -66.5 -96.5t-72.5 -96.5l-533 -625h486z" />
-<glyph unicode="5" d="M598 893q182 0 289.5 -104.5t107.5 -282.5q0 -161 -73 -283t-204 -182.5t-308 -60.5q-193 0 -330 79v164q164 -102 334 -102q191 0 298 96t107 268q0 126 -73.5 199.5t-204.5 73.5q-48 0 -97 -6.5t-139 -30.5l-74 57l197 684h668l-33 -153h-522l-127 -439q87 23 184 23z " />
-<glyph unicode="6" d="M133 424q0 209 60.5 415t163.5 351.5t246 219t327 73.5q111 0 184 -23l-35 -145q-68 22 -170 22q-212 0 -356.5 -149t-212.5 -443h8q59 79 146.5 126t193.5 47q154 0 244 -98.5t90 -270.5q0 -161 -66.5 -294.5t-180.5 -204t-261 -70.5q-182 0 -281.5 115t-99.5 329z M532 121q94 0 167.5 54t114 149t40.5 208q0 248 -221 248q-66 0 -128 -28.5t-110 -76t-72 -104.5t-24 -155q0 -137 60.5 -216t172.5 -79z" />
-<glyph unicode="7" d="M174 0l768 1313h-719l31 149h891l-27 -139l-764 -1323h-180z" />
-<glyph unicode="8" d="M741 1485q174 0 271.5 -86.5t97.5 -235.5q0 -129 -78 -225t-266 -176q127 -78 180 -165t53 -202q0 -122 -60 -217.5t-172.5 -146.5t-264.5 -51q-190 0 -298 98.5t-108 267.5q0 148 95 256t296 184q-95 69 -135.5 144.5t-40.5 171.5q0 111 54.5 198.5t153.5 136t222 48.5z M608 700q-185 -60 -261.5 -143.5t-76.5 -202.5q0 -107 69 -170t181 -63q139 0 222 74t83 196q0 99 -52 174t-165 135zM729 1341q-114 0 -182 -65.5t-68 -175.5q0 -82 39 -144t127 -116q161 60 228 131.5t67 173.5q0 90 -57.5 143t-153.5 53z" />
-<glyph unicode="9" d="M1067 1034q0 -194 -56 -406.5t-147.5 -360t-221.5 -217.5t-302 -70q-136 0 -242 34v158q134 -47 246 -47q202 0 327 141t189 441h-10q-51 -75 -132.5 -118.5t-180.5 -43.5q-169 0 -261 98.5t-92 288.5q0 153 64.5 280.5t180 199t259.5 71.5q180 0 279.5 -114.5 t99.5 -334.5zM682 1341q-150 0 -241 -113t-91 -290q0 -124 54.5 -190t162.5 -66q76 0 140 28.5t108.5 81.5t65 114t20.5 151q0 131 -59 207.5t-160 76.5z" />
-<glyph unicode=":" horiz-adv-x="518" d="M43 74q0 77 40.5 122.5t111.5 45.5q43 0 69.5 -26t26.5 -79q0 -71 -40 -118.5t-108 -47.5q-46 0 -73 26t-27 77zM203 956q0 77 40 122.5t111 45.5q97 0 97 -104q0 -73 -41.5 -119.5t-106.5 -46.5q-46 0 -73 26.5t-27 75.5z" />
-<glyph unicode=";" horiz-adv-x="518" d="M291 238l8 -23q-113 -235 -270 -479h-129q126 286 204 502h187zM203 956q0 77 40 122.5t111 45.5q97 0 97 -104q0 -73 -41.5 -119.5t-106.5 -46.5q-46 0 -73 26.5t-27 75.5z" />
-<glyph unicode="&#x3c;" d="M1040 242l-919 422v98l919 479v-149l-747 -371l747 -328v-151z" />
-<glyph unicode="=" d="M127 858v139h920v-139h-920zM127 444v142h920v-142h-920z" />
-<glyph unicode="&#x3e;" d="M121 393l745 328l-745 371v149l919 -479v-98l-919 -422v151z" />
-<glyph unicode="?" horiz-adv-x="874" d="M260 403q22 130 72.5 213.5t165.5 174.5q128 100 168 144t63 94t23 112q0 93 -51.5 143.5t-147.5 50.5q-81 0 -155 -25.5t-140 -56.5l-61 129q92 51 192 76t182 25q167 0 259 -84t92 -238q0 -123 -65.5 -226.5t-225.5 -223.5q-125 -91 -169 -147.5t-67 -160.5h-135z M158 74q0 77 40 122.5t111 45.5q44 0 70.5 -26t26.5 -79q0 -73 -41.5 -119.5t-106.5 -46.5q-46 0 -73 26t-27 77z" />
-<glyph unicode="@" horiz-adv-x="1735" d="M1679 852q0 -179 -55 -324t-155 -227t-222 -82q-197 0 -213 184h-8q-111 -184 -291 -184q-115 0 -180.5 75.5t-65.5 209.5q0 157 68 284t188.5 199t260.5 72q65 0 127.5 -12t150.5 -48q-64 -242 -98 -368t-31 -172q0 -117 102 -117q78 0 141.5 67t100.5 183.5t37 243.5 q0 239 -128 367t-370 128q-228 0 -406.5 -107t-277 -295.5t-98.5 -416.5q0 -270 143.5 -418.5t409.5 -148.5q197 0 420 86v-127q-219 -90 -443 -90q-314 0 -494.5 184.5t-180.5 505.5q0 261 126.5 485.5t343.5 347.5t486 123q191 0 329 -75.5t210.5 -213.5t72.5 -319z M985 938q-94 0 -174 -55t-126 -153t-46 -212q0 -93 33 -134.5t98 -41.5q187 0 272 315l70 258q-63 23 -127 23z" />
-<glyph unicode="A" horiz-adv-x="1137" d="M813 465h-496l-245 -465h-189l799 1462h174l184 -1462h-170zM795 621l-35 299q-24 179 -29 350q-37 -88 -80.5 -175t-249.5 -474h394z" />
-<glyph unicode="B" horiz-adv-x="1225" d="M770 1462q432 0 432 -336q0 -141 -87 -238t-245 -126v-10q115 -32 176.5 -110.5t61.5 -188.5q0 -212 -152 -332.5t-407 -120.5h-463l309 1462h375zM434 836h248q156 0 249 73t93 199q0 104 -66.5 155.5t-209.5 51.5h-211zM287 145h266q181 0 278 80.5t97 227.5 q0 116 -74.5 177.5t-214.5 61.5h-236z" />
-<glyph unicode="C" horiz-adv-x="1198" d="M942 1331q-174 0 -311.5 -97t-218 -284.5t-80.5 -408.5q0 -187 97.5 -298.5t268.5 -111.5q139 0 322 57v-149q-86 -31 -164 -45t-188 -14q-242 0 -380 149.5t-138 407.5q0 261 105.5 485.5t283.5 342.5t403 118q197 0 348 -80l-69 -141q-138 69 -279 69z" />
-<glyph unicode="D" horiz-adv-x="1364" d="M1300 877q0 -261 -105 -461t-300 -308t-457 -108h-352l309 1462h342q276 0 419.5 -149.5t143.5 -435.5zM449 147q202 0 355 91.5t234.5 258.5t81.5 382t-103 325.5t-302 110.5h-178l-250 -1168h162z" />
-<glyph unicode="E" horiz-adv-x="1047" d="M821 0h-735l309 1462h735l-32 -153h-566l-98 -469h527l-29 -152h-529l-114 -536h565z" />
-<glyph unicode="F" horiz-adv-x="967" d="M258 0h-172l309 1462h735l-30 -153h-568l-110 -533h528l-32 -153h-529z" />
-<glyph unicode="G" horiz-adv-x="1386" d="M821 766h459l-154 -711q-216 -75 -419 -75q-264 0 -410.5 144.5t-146.5 403.5q0 269 101.5 489.5t281.5 343t399 122.5q117 0 219.5 -20t206.5 -64l-66 -152q-77 34 -165.5 59t-194.5 25q-169 0 -307.5 -101.5t-215.5 -283.5t-77 -407q0 -190 102.5 -299t286.5 -109 q154 0 260 39l96 444h-289z" />
-<glyph unicode="H" horiz-adv-x="1389" d="M1085 0h-167l143 688h-660l-145 -688h-170l309 1462h170l-131 -622h660l133 622h168z" />
-<glyph unicode="I" horiz-adv-x="559" d="M86 0l311 1462h168l-311 -1462h-168z" />
-<glyph unicode="J" horiz-adv-x="547" d="M-166 -385q-105 0 -153 25l6 147q69 -20 145 -20q100 0 165.5 62.5t90.5 182.5l307 1450h170l-309 -1468q-79 -379 -422 -379z" />
-<glyph unicode="K" horiz-adv-x="1141" d="M1034 0h-186q-72 181 -146.5 359.5t-146.5 361.5l-174 -131l-125 -590h-170l309 1462h170l-151 -710l700 710h209l-639 -637z" />
-<glyph unicode="L" horiz-adv-x="971" d="M86 0l309 1462h170l-276 -1308h565l-33 -154h-735z" />
-<glyph unicode="M" horiz-adv-x="1714" d="M676 0l-166 1296h-8q-7 -72 -28.5 -197.5t-37.5 -199.5l-190 -899h-162l309 1462h244l149 -1204h9l659 1204h266l-303 -1462h-174q126 590 193 905.5t94 392.5h-6l-717 -1298h-131z" />
-<glyph unicode="N" horiz-adv-x="1438" d="M1139 0h-181l-460 1223h-6q-32 -221 -74 -418l-172 -805h-162l309 1462h180l459 -1220h6q30 224 72 405l174 815h164z" />
-<glyph unicode="O" horiz-adv-x="1475" d="M1411 907q0 -269 -88 -481.5t-252 -329t-379 -116.5q-256 0 -399 149.5t-143 419.5q0 264 96 482t263.5 336t377.5 118q244 0 384 -154t140 -424zM874 1333q-157 0 -281 -101t-192.5 -281t-68.5 -398q0 -199 98 -310.5t266 -111.5q152 0 272.5 97.5t190.5 279.5t70 403 q0 199 -94 310.5t-261 111.5z" />
-<glyph unicode="P" horiz-adv-x="1159" d="M1159 1085q0 -248 -164 -379t-481 -131h-135l-123 -575h-170l309 1462h330q214 0 324 -94.5t110 -282.5zM410 721h133q216 0 328 91t112 267q0 125 -69.5 180.5t-213.5 55.5h-163z" />
-<glyph unicode="Q" horiz-adv-x="1475" d="M874 1333q-157 0 -281 -101t-192.5 -281t-68.5 -398q0 -199 98 -310.5t266 -111.5q158 0 279 100t187.5 280.5t66.5 399.5q0 199 -94 310.5t-261 111.5zM725 -18l-17 -2h-16q-256 0 -399 149.5t-143 419.5q0 264 96 482t263.5 336t377.5 118q244 0 384 -154t140 -424 q0 -333 -139 -576t-375 -321l274 -358h-219z" />
-<glyph unicode="R" horiz-adv-x="1165" d="M385 608l-129 -608h-170l309 1462h320q446 0 446 -366q0 -348 -368 -449l239 -647h-186l-209 608h-252zM532 1313q-102 -494 -116 -559h168q193 0 297 85t104 244q0 121 -67.5 175.5t-219.5 54.5h-166z" />
-<glyph unicode="S" horiz-adv-x="1028" d="M913 424q0 -211 -140.5 -327.5t-395.5 -116.5q-106 0 -186.5 14.5t-151.5 48.5v170q162 -84 340 -84q162 0 257 75.5t95 207.5q0 78 -52.5 137.5t-195.5 140.5q-151 85 -209.5 170t-58.5 201q0 187 132 304.5t347 117.5q99 0 184.5 -19t180.5 -65l-66 -150 q-66 38 -148 60t-151 22q-134 0 -215.5 -69.5t-81.5 -188.5q0 -54 17 -92.5t54 -72.5t142 -95q147 -88 198.5 -138t78 -110.5t26.5 -140.5z" />
-<glyph unicode="T" horiz-adv-x="1020" d="M487 0h-172l277 1311h-406l33 151h985l-30 -151h-408z" />
-<glyph unicode="U" horiz-adv-x="1384" d="M1407 1462l-205 -966q-55 -263 -197.5 -389.5t-388.5 -126.5q-230 0 -341 104t-111 299q0 81 24 201l189 878h170l-191 -891q-22 -106 -22 -188q0 -117 73 -184.5t218 -67.5q172 0 267.5 87.5t139.5 289.5l205 954h170z" />
-<glyph unicode="V" horiz-adv-x="1122" d="M479 197q61 144 162 338l479 927h191l-781 -1462h-180l-162 1462h170l97 -930q20 -196 20 -335h4z" />
-<glyph unicode="W" horiz-adv-x="1745" d="M1257 0h-170l-49 965q-8 136 -8 282h-6q-25 -72 -61 -154.5t-504 -1092.5h-174l-62 1462h170l31 -901l2 -88q0 -98 -10 -258h6q89 243 156 383l405 864h178l43 -860q9 -153 9 -304l-1 -83h9q75 224 131 354l387 893h182z" />
-<glyph unicode="X" horiz-adv-x="1063" d="M956 0h-180l-213 641l-481 -641h-186l596 776l-263 686h172l203 -563l443 563h186l-555 -694z" />
-<glyph unicode="Y" horiz-adv-x="1030" d="M537 715l489 747h193l-627 -921l-113 -541h-172l119 549l-238 913h170z" />
-<glyph unicode="Z" horiz-adv-x="1087" d="M885 0h-901l28 137l924 1170h-655l32 155h858l-26 -139l-924 -1169h697z" />
-<glyph unicode="[" horiz-adv-x="586" d="M371 -324h-387l381 1786h387l-31 -141h-227l-318 -1503h227z" />
-<glyph unicode="\" horiz-adv-x="717" d="M375 1462l217 -1462h-154l-217 1462h154z" />
-<glyph unicode="]" horiz-adv-x="586" d="M-119 -182h225l320 1503h-227l30 141h389l-380 -1786h-388z" />
-<glyph unicode="^" horiz-adv-x="1059" d="M53 553l598 920h109l266 -920h-145l-201 747l-467 -747h-160z" />
-<glyph unicode="_" horiz-adv-x="807" d="M623 -324h-811l30 140h811z" />
-<glyph unicode="`" horiz-adv-x="1135" d="M903 1241h-104q-61 61 -128.5 154t-95.5 153v21h181q43 -136 147 -303v-25z" />
-<glyph unicode="a" horiz-adv-x="1157" d="M639 1116q92 0 164 -49.5t112 -142.5h11l67 172h127l-233 -1096h-133l26 209h-8q-179 -229 -377 -229q-139 0 -218 99t-79 271q0 208 71 386t196 279t274 101zM449 119q97 0 193 92.5t156 241t60 297.5q0 103 -56 164t-147 61q-104 0 -193.5 -86t-140.5 -233t-51 -310 q0 -114 47 -170.5t132 -56.5z" />
-<glyph unicode="b" horiz-adv-x="1182" d="M545 -20q-97 0 -170.5 51t-110.5 139h-10l-70 -170h-125l330 1556h168q-51 -242 -78.5 -370.5t-75.5 -300.5h9q93 118 183.5 173.5t186.5 55.5q141 0 220 -99t79 -272q0 -209 -68.5 -386.5t-191 -277t-276.5 -99.5zM731 975q-96 0 -195.5 -95t-158 -239t-58.5 -295 q0 -110 55.5 -168.5t160.5 -58.5q99 0 184.5 81t137.5 230.5t52 317.5q0 227 -178 227z" />
-<glyph unicode="c" horiz-adv-x="922" d="M506 -20q-194 0 -301 107t-107 302q0 200 74 369t204.5 263.5t293.5 94.5q137 0 268 -51l-47 -141q-120 51 -219 51q-112 0 -204.5 -76.5t-145 -213t-52.5 -296.5q0 -128 66.5 -199t183.5 -71q72 0 136 20t126 47v-143q-124 -63 -276 -63z" />
-<glyph unicode="d" horiz-adv-x="1182" d="M639 1114q194 0 281 -190h10q17 155 45 274l78 358h166l-330 -1556h-139l22 209h-8q-101 -125 -189 -177t-182 -52q-139 0 -217 98t-78 272q0 214 72 392t194.5 275t274.5 97zM449 119q94 0 194 93.5t158.5 239t58.5 296.5q0 111 -54 169t-157 58q-101 0 -187.5 -82.5 t-139 -232t-52.5 -314.5q0 -227 179 -227z" />
-<glyph unicode="e" horiz-adv-x="1010" d="M492 -20q-184 0 -289 109t-105 302q0 188 74.5 360.5t197.5 268.5t271 96q153 0 230 -66.5t77 -185.5q0 -180 -166 -282.5t-475 -102.5h-33l-4 -80q0 -131 61.5 -204.5t190.5 -73.5q63 0 129.5 18t165.5 66v-146q-94 -44 -166 -61.5t-159 -17.5zM631 973 q-103 0 -193.5 -94t-138.5 -261h12q228 0 349.5 59.5t121.5 172.5q0 53 -36.5 88t-114.5 35z" />
-<glyph unicode="f" horiz-adv-x="641" d="M-104 -492q-69 0 -125 21v141q64 -22 112 -22q76 0 117 62t66 177l227 1082h-193l13 67l206 66l23 100q46 200 127.5 282.5t241.5 82.5q40 0 98 -11.5t90 -25.5l-43 -129q-76 29 -137 29q-87 0 -133.5 -48.5t-75.5 -177.5l-25 -108h238l-25 -127h-237l-232 -1098 q-39 -189 -120 -276t-213 -87z" />
-<glyph unicode="g" horiz-adv-x="1026" d="M1100 1096l-25 -107l-211 -24q41 -62 41 -158q0 -191 -116.5 -304.5t-311.5 -113.5q-55 0 -84 8q-139 -53 -139 -131q0 -41 33 -54.5t96 -21.5l117 -14q181 -22 262.5 -88t81.5 -194q0 -184 -146 -285t-411 -101q-194 0 -304 73.5t-110 207.5q0 105 72 182t233 131 q-78 41 -78 121q0 69 51 118.5t142 92.5q-63 32 -103 94.5t-40 145.5q0 194 119.5 318t305.5 124q78 0 154 -20h371zM35 -195q0 -77 65 -122t193 -45q182 0 284.5 63.5t102.5 179.5q0 62 -54 98t-184 50l-159 16q-120 -25 -184 -88t-64 -152zM313 680q0 -85 45 -129.5 t125 -44.5q79 0 138 42t90.5 115.5t31.5 159.5q0 82 -44 125t-126 43q-78 0 -136.5 -40.5t-91 -113t-32.5 -157.5z" />
-<glyph unicode="h" horiz-adv-x="1182" d="M729 0l148 692q18 94 18 135q0 148 -147 148q-89 0 -173.5 -59t-149 -171.5t-97.5 -271.5l-101 -473h-168l330 1556h168q-18 -82 -34.5 -159t-34 -156.5t-38 -166.5t-47.5 -189h11q94 123 185.5 176t191.5 53q131 0 202.5 -72t71.5 -204q0 -62 -23 -166 q-39 -193 -145 -672h-168z" />
-<glyph unicode="i" horiz-adv-x="520" d="M227 0h-168l234 1096h168zM340 1376q0 56 32 91.5t83 35.5q88 0 88 -90q0 -55 -33.5 -93t-77.5 -38q-40 0 -66 24.5t-26 69.5z" />
-<glyph unicode="j" horiz-adv-x="520" d="M-135 -492q-69 0 -123 21v141q61 -22 119 -22q125 0 168 205l264 1243h166l-266 -1258q-36 -171 -114.5 -250.5t-213.5 -79.5zM340 1376q0 56 32 91.5t83 35.5q86 0 86 -90q0 -55 -33.5 -93t-77.5 -38q-38 0 -64 24.5t-26 69.5z" />
-<glyph unicode="k" horiz-adv-x="999" d="M330 559l526 537h201l-469 -467l295 -629h-187l-235 524l-152 -123l-82 -401h-170l330 1556h170l-129 -602t-102 -395h4z" />
-<glyph unicode="l" horiz-adv-x="520" d="M225 0h-168l332 1556h168z" />
-<glyph unicode="m" horiz-adv-x="1786" d="M696 0l148 692q18 94 18 135q0 70 -31 109t-106 39q-84 0 -163.5 -60t-140 -171.5t-93.5 -268.5l-101 -475h-168l234 1096h139l-22 -203h10q87 119 173.5 171t178.5 52q113 0 174 -65t72 -181h8q86 125 183 185.5t196 60.5q127 0 196.5 -68t69.5 -198q0 -68 -22 -178 l-144 -672h-170l148 692q20 104 20 146q0 62 -34.5 99.5t-108.5 37.5q-81 0 -160 -58t-138.5 -164.5t-90.5 -252.5l-107 -500h-168z" />
-<glyph unicode="n" horiz-adv-x="1182" d="M729 0l148 692q20 104 20 144q0 63 -35.5 101t-113.5 38q-89 0 -173.5 -60t-149 -171t-97.5 -269l-101 -475h-168l234 1096h139l-22 -203h10q96 122 185.5 172.5t185.5 50.5q127 0 200.5 -69.5t73.5 -194.5q0 -79 -23 -180l-143 -672h-170z" />
-<glyph unicode="o" horiz-adv-x="1149" d="M643 1110q190 0 300 -112.5t110 -309.5q0 -188 -72 -355t-195 -258t-278 -91q-192 0 -301 113t-109 309q0 190 73 357.5t197 257t275 89.5zM879 711q0 115 -62.5 186.5t-169.5 71.5q-109 0 -195.5 -74t-134 -205.5t-47.5 -292.5q0 -131 63.5 -202.5t182.5 -71.5 q104 0 187 73t129.5 207.5t46.5 307.5z" />
-<glyph unicode="p" horiz-adv-x="1182" d="M545 -20q-97 0 -170 50t-113 140h-10l-4 -38q-3 -25 -10.5 -70t-114.5 -554h-166l336 1588h139l-26 -209h8q179 227 372 227q137 0 216 -97.5t79 -273.5q0 -212 -69 -389t-191 -275.5t-276 -98.5zM731 975q-96 0 -195.5 -95t-158 -239t-58.5 -295q0 -110 55.5 -168.5 t160.5 -58.5q99 0 184.5 81t137.5 230.5t52 317.5q0 227 -178 227z" />
-<glyph unicode="q" horiz-adv-x="1182" d="M641 1116q94 0 165.5 -50.5t108.5 -141.5h13l67 172h125l-336 -1588h-166l101 480q9 45 57 221h-8q-95 -121 -185 -175t-186 -54q-140 0 -219.5 97.5t-79.5 272.5q0 212 72.5 392t196 277t274.5 97zM449 119q92 0 190 92t158.5 237t60.5 300q0 105 -54.5 166t-152.5 61 q-101 0 -189 -84.5t-140 -233t-52 -311.5q0 -227 179 -227z" />
-<glyph unicode="r" horiz-adv-x="811" d="M752 1116q69 0 120 -14l-36 -150q-53 13 -105 13q-91 0 -170.5 -60t-139 -166.5t-87.5 -236.5l-107 -502h-168l234 1096h139l-22 -203h10q72 95 119 136.5t98.5 64t114.5 22.5z" />
-<glyph unicode="s" horiz-adv-x="877" d="M735 311q0 -156 -110.5 -243.5t-311.5 -87.5q-169 0 -305 69v158q70 -42 151 -65t150 -23q126 0 190 50t64 128q0 57 -35 96t-151 107q-130 73 -184 143t-54 166q0 138 101 222.5t266 84.5q171 0 330 -74l-54 -137l-56 25q-101 43 -220 43q-93 0 -146 -43.5t-53 -112.5 q0 -56 35.5 -96t146.5 -103q107 -60 153.5 -103t69.5 -92.5t23 -111.5z" />
-<glyph unicode="t" horiz-adv-x="664" d="M395 117q55 0 144 26v-129q-34 -14 -84 -24t-80 -10q-125 0 -191.5 59.5t-66.5 177.5q0 66 18 150l127 602h-172l14 73l185 78l125 228h98l-55 -252h274l-26 -127h-273l-129 -604q-18 -87 -18 -132q0 -56 29 -86t81 -30z" />
-<glyph unicode="u" horiz-adv-x="1182" d="M451 1096l-150 -695q-18 -89 -18 -139q0 -143 147 -143q88 0 173 60t150 172t99 270l100 475h166l-231 -1096h-139l22 203h-12q-98 -125 -187 -174t-184 -49q-128 0 -201 69.5t-73 198.5q0 62 22 172l146 676h170z" />
-<glyph unicode="v" horiz-adv-x="946" d="M223 0l-125 1096h168l64 -613q24 -258 24 -362h6q127 275 179 371l325 604h178l-591 -1096h-228z" />
-<glyph unicode="w" horiz-adv-x="1468" d="M831 0l-32 602q-4 94 -4 172v156h-9l-50 -118l-83 -189l-291 -623h-202l-43 1096h164l18 -594v-88q0 -147 -8 -269h6q47 124 137 322l295 629h182l37 -594q6 -168 6 -262v-53l-2 -42h6q28 86 83 218.5t323 732.5h178l-506 -1096h-205z" />
-<glyph unicode="x" horiz-adv-x="979" d="M467 434l-346 -434h-195l475 565l-239 531h170l174 -412l330 412h194l-455 -539l252 -557h-168z" />
-<glyph unicode="y" horiz-adv-x="946" d="M98 1096h168l74 -545q10 -69 19.5 -203.5t9.5 -216.5h6q35 87 87 200t77 156l325 609h178l-696 -1282q-93 -172 -184 -239t-219 -67q-72 0 -140 21v135q63 -18 131 -18q82 0 140.5 50.5t113.5 149.5l76 136z" />
-<glyph unicode="z" horiz-adv-x="909" d="M690 0h-719l23 117l694 854h-479l27 125h657l-29 -140l-680 -831h531z" />
-<glyph unicode="{" horiz-adv-x="715" d="M442 -324q-141 0 -216.5 52.5t-75.5 171.5q0 52 20 141q33 146 51.5 227.5t14.5 102.5q0 143 -209 143l32 143q118 0 189.5 43.5t93.5 147.5l68 326q34 160 117.5 224t254.5 64h33l-31 -141q-105 0 -151 -36.5t-66 -123.5l-71 -321q-28 -123 -91 -184t-167 -78v-5 q151 -41 151 -213q0 -59 -18 -131l-47 -211q-15 -58 -15 -98q0 -53 36.5 -77.5t119.5 -24.5v-142h-23z" />
-<glyph unicode="|" d="M541 1556h139v-2052h-139v2052z" />
-<glyph unicode="}" horiz-adv-x="715" d="M285 1462q144 0 220.5 -52.5t76.5 -170.5q0 -48 -21 -141l-49 -219q-16 -68 -16 -111q0 -143 209 -143l-33 -144q-119 0 -190 -43t-93 -147l-67 -326q-36 -164 -119 -226.5t-264 -62.5h-13v142q115 0 167 36t71 123l72 322q25 117 88 179.5t170 80.5v6q-150 42 -150 211 q0 59 18 131l50 213q14 65 14 99q0 53 -40.5 77.5t-139.5 24.5l28 141h11z" />
-<glyph unicode="~" d="M348 713q-54 0 -118.5 -34.5t-114.5 -86.5v151q98 109 243 109q69 0 127 -14.5t144 -51.5q64 -27 112.5 -41t98.5 -14q55 0 119.5 33t115.5 88v-150q-100 -110 -244 -110q-72 0 -135 16.5t-135 48.5q-75 32 -120 44t-93 12z" />
-<glyph unicode="&#xa1;" horiz-adv-x="530" d="M260 684h109l-176 -1057h-207zM250 950q0 76 40.5 122t110.5 46q44 0 70.5 -26t26.5 -80q0 -71 -40.5 -117.5t-105.5 -46.5q-48 0 -75 25.5t-27 76.5z" />
-<glyph unicode="&#xa2;" d="M582 -20h-125l43 215q-132 34 -203.5 137.5t-71.5 257.5q0 185 63.5 344t178.5 258.5t260 120.5l35 170h123l-37 -168q119 -9 217 -49l-47 -142q-109 52 -219 52q-112 0 -204.5 -76.5t-145 -213t-52.5 -296.5q0 -125 66 -198t184 -73q72 0 136 20t126 48v-143 q-123 -62 -286 -66z" />
-<glyph unicode="&#xa3;" d="M842 1481q184 0 336 -86l-66 -133q-146 79 -278 79q-213 0 -263 -237l-69 -326h370l-26 -127h-371l-47 -219q-22 -98 -66 -166.5t-124 -111.5h725l-33 -154h-953l27 141q205 46 258 289l47 221h-200l26 127h201l76 350q75 353 430 353z" />
-<glyph unicode="&#xa4;" d="M229 723q0 117 68 215l-129 129l92 92l127 -129q103 70 217 70t215 -70l129 129l92 -90l-129 -129q70 -104 70 -217q0 -119 -70 -217l127 -127l-90 -90l-129 127q-98 -68 -215 -68q-119 0 -217 70l-127 -127l-90 90l127 127q-68 96 -68 215zM358 723q0 -103 71.5 -174.5 t174.5 -71.5q104 0 177 71.5t73 174.5q0 104 -73 177t-177 73q-102 0 -174 -72.5t-72 -177.5z" />
-<glyph unicode="&#xa5;" d="M582 715l491 747h187l-533 -770h231l-28 -133h-297l-33 -160h297l-29 -133h-295l-57 -266h-154l56 266h-291l29 133h290l33 160h-291l29 133h225l-202 770h163z" />
-<glyph unicode="&#xa6;" d="M541 1556h139v-776h-139v776zM541 281h139v-777h-139v777z" />
-<glyph unicode="&#xa7;" horiz-adv-x="995" d="M174 770q0 201 238 307q-119 70 -119 203q0 127 103.5 206t279.5 79q189 0 321 -68l-53 -123q-148 60 -266 60q-102 0 -162.5 -40.5t-60.5 -109.5q0 -49 38 -83.5t162 -90.5q100 -44 149 -83.5t75 -89.5t26 -114q0 -97 -61 -180t-172 -139q114 -71 114 -189 q0 -152 -114 -237.5t-318 -85.5q-176 0 -295 61v148q56 -34 136.5 -56t156.5 -22q133 0 204 44.5t71 129.5q0 48 -50.5 89t-152.5 87q-138 61 -194 130.5t-56 166.5zM514 1010q-82 -26 -135 -87.5t-53 -131.5t50.5 -117t198.5 -111q80 44 127.5 107t47.5 131 q0 60 -49.5 105.5t-186.5 103.5z" />
-<glyph unicode="&#xa8;" horiz-adv-x="1135" d="M457 1378q0 46 28 79.5t74 33.5q78 0 78 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM821 1378q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62z" />
-<glyph unicode="&#xa9;" horiz-adv-x="1704" d="M928 1059q-125 0 -191.5 -87t-66.5 -241q0 -169 65 -249.5t193 -80.5q82 0 211 43v-122q-66 -28 -113 -38t-104 -10q-192 0 -297 119.5t-105 339.5q0 208 110 330.5t300 122.5q130 0 248 -60l-60 -120q-106 53 -190 53zM139 731q0 200 100 375t275 276t377 101 q197 0 370 -97t277 -272t104 -383q0 -204 -100.5 -376.5t-273 -273.5t-377.5 -101q-207 0 -382 103.5t-272.5 276.5t-97.5 371zM244 731q0 -173 87 -323.5t237.5 -237t322.5 -86.5q174 0 323 87t236.5 235.5t87.5 324.5q0 174 -87 323t-235.5 236.5t-324.5 87.5 q-174 0 -323 -87t-236.5 -235.5t-87.5 -324.5z" />
-<glyph unicode="&#xaa;" horiz-adv-x="686" d="M498 1479q114 0 153 -103h6l37 90h86l-139 -665h-92l14 117h-4q-40 -56 -90 -93t-123 -37q-77 0 -126.5 60t-49.5 166q0 127 41.5 234.5t116.5 169t170 61.5zM381 891q61 0 112.5 49t86 137.5t34.5 167.5q0 62 -28.5 96.5t-85.5 34.5q-92 0 -154.5 -103t-62.5 -243 q0 -139 98 -139z" />
-<glyph unicode="&#xab;" horiz-adv-x="958" d="M88 584l391 374l78 -81l-297 -328l172 -387l-113 -49l-231 442v29zM483 541l367 405l86 -69l-283 -365l158 -350l-113 -49l-215 397v31z" />
-<glyph unicode="&#xac;" d="M1047 793v-529h-140v387h-780v142h920z" />
-<glyph unicode="&#xad;" horiz-adv-x="639" d="M55 469zM55 469l35 158h479l-34 -158h-480z" />
-<glyph unicode="&#xae;" horiz-adv-x="1704" d="M139 731q0 200 100 375t275 276t377 101q197 0 370 -97t277 -272t104 -383q0 -204 -100.5 -376.5t-273 -273.5t-377.5 -101q-207 0 -382 103.5t-272.5 276.5t-97.5 371zM244 731q0 -173 87 -323.5t237.5 -237t322.5 -86.5q174 0 323 87t236.5 235.5t87.5 324.5 q0 174 -87 323t-235.5 236.5t-324.5 87.5q-174 0 -323 -87t-236.5 -235.5t-87.5 -324.5zM1194 915q0 -78 -47.5 -141t-132.5 -98l227 -385h-149l-207 352h-113v-352h-127v880h229q163 0 241.5 -63t78.5 -193zM772 762h92q195 0 195 149q0 76 -47.5 107t-149.5 31h-90v-287z " />
-<glyph unicode="&#xaf;" horiz-adv-x="782" d="M1012 1556h-785l33 132h787z" />
-<glyph unicode="&#xb0;" horiz-adv-x="877" d="M215 1171q0 128 90.5 220t220.5 92q83 0 155.5 -41.5t114.5 -114t42 -156.5q0 -128 -90.5 -218.5t-221.5 -90.5t-221 90.5t-90 218.5zM328 1171q0 -80 58 -138t140 -58q83 0 140 58.5t57 137.5q0 82 -57.5 140.5t-139.5 58.5q-80 0 -139 -58.5t-59 -140.5z" />
-<glyph unicode="&#xb1;" d="M516 643h-389v141h389v392h141v-392h390v-141h-390v-387h-141v387zM127 0v141h920v-141h-920z" />
-<glyph unicode="&#xb2;" horiz-adv-x="717" d="M657 586h-561l23 106l264 228q115 100 158.5 149.5t63.5 93t20 90.5q0 53 -31 85t-90 32q-90 0 -195 -80l-59 90q125 101 274 101q109 0 171.5 -56.5t62.5 -150.5q0 -99 -52.5 -179.5t-197.5 -205.5l-221 -187h395z" />
-<glyph unicode="&#xb3;" horiz-adv-x="717" d="M549 1036q69 -17 108 -68t39 -120q0 -132 -91 -205.5t-253 -73.5q-125 0 -233 56v127q125 -72 239 -72q205 0 205 170q0 137 -178 137h-90l22 107h95q97 0 155 41t58 112q0 60 -34.5 90.5t-93.5 30.5q-102 0 -196 -68l-55 93q109 88 268 88q114 0 178 -56t64 -151 q0 -180 -207 -234v-4z" />
-<glyph unicode="&#xb4;" horiz-adv-x="1135" d="M532 1268q56 60 125.5 151.5t106.5 149.5h190v-21q-38 -49 -140 -151t-177 -156h-105v27z" />
-<glyph unicode="&#xb5;" horiz-adv-x="1194" d="M295 266q0 -147 147 -147q89 0 172 59t148.5 171t99.5 269l105 478h163l-233 -1096h-139l24 205h-12q-93 -121 -183 -173t-188 -52q-112 0 -163 96h-9q-11 -78 -22.5 -148t-83.5 -420h-164l336 1588h168l-148 -695q-18 -92 -18 -135z" />
-<glyph unicode="&#xb6;" horiz-adv-x="1341" d="M1206 -260h-114v1661h-213v-1661h-115v819q-62 -18 -146 -18q-216 0 -317.5 125t-101.5 376q0 260 109 387t341 127h557v-1816z" />
-<glyph unicode="&#xb7;" horiz-adv-x="518" d="M170 587zM170 690q0 77 40.5 122.5t111.5 45.5q43 0 69.5 -26t26.5 -79q0 -71 -40 -118.5t-108 -47.5q-46 0 -73 26t-27 77z" />
-<glyph unicode="&#xb8;" horiz-adv-x="420" d="M211 -276q0 -98 -81 -157t-214 -59q-41 0 -86 9v100q38 -6 68 -6q174 0 174 110q0 46 -39 67.5t-99 29.5l101 182h106l-61 -121q131 -38 131 -155z" />
-<glyph unicode="&#xb9;" horiz-adv-x="717" d="M537 1462h118l-186 -876h-135l112 526q25 103 58 225q-25 -25 -50 -46.5t-145 -100.5l-51 90z" />
-<glyph unicode="&#xba;" horiz-adv-x="688" d="M745 1219q0 -191 -88.5 -311t-240.5 -120q-113 0 -180.5 71t-67.5 196q0 117 42 215.5t117.5 153.5t174.5 55q117 0 180 -67t63 -193zM500 1376q-102 0 -160.5 -87.5t-58.5 -229.5q0 -85 38 -127.5t107 -42.5q94 0 152.5 88.5t58.5 232.5q0 166 -137 166z" />
-<glyph unicode="&#xbb;" horiz-adv-x="958" d="M872 485l-393 -370l-78 82l297 323l-172 391l113 50l233 -447v-29zM477 528l-368 -401l-86 70l282 360l-158 354l113 50l217 -402v-31z" />
-<glyph unicode="&#xbc;" horiz-adv-x="1518" d="M123 0zM1362 1462l-1086 -1462h-153l1085 1462h154zM483 1462h118l-186 -876h-135l112 526q25 103 58 225q-25 -25 -50 -46.5t-145 -100.5l-51 90zM1327 203h-129l-43 -202h-127l43 202h-365l23 101l481 579h133l-121 -563h127zM1095 320q69 322 90 395 q-20 -36 -110 -149l-205 -246h225z" />
-<glyph unicode="&#xbd;" horiz-adv-x="1518" d="M66 0zM427 1462h118l-186 -876h-135l112 526q25 103 58 225q-25 -25 -50 -46.5t-145 -100.5l-51 90zM1305 1462l-1086 -1462h-153l1085 1462h154zM1343 1h-561l23 106l264 228q115 100 158.5 149.5t63.5 93t20 90.5q0 53 -31 85t-90 32q-90 0 -195 -80l-59 90 q125 101 274 101q109 0 171.5 -56.5t62.5 -150.5q0 -99 -52.5 -179.5t-197.5 -205.5l-221 -187h395z" />
-<glyph unicode="&#xbe;" horiz-adv-x="1565" d="M87 0zM517 1036q69 -17 108 -68t39 -120q0 -132 -91 -205.5t-253 -73.5q-125 0 -233 56v127q125 -72 239 -72q205 0 205 170q0 137 -178 137h-90l22 107h95q97 0 155 41t58 112q0 60 -34.5 90.5t-93.5 30.5q-102 0 -196 -68l-55 93q109 88 268 88q114 0 178 -56t64 -151 q0 -180 -207 -234v-4zM1512 1462l-1086 -1462h-153l1085 1462h154zM1477 203h-129l-43 -202h-127l43 202h-365l23 101l481 579h133l-121 -563h127zM1245 320q69 322 90 395q-20 -36 -110 -149l-205 -246h225z" />
-<glyph unicode="&#xbf;" horiz-adv-x="874" d="M657 680q-22 -130 -72 -212t-165 -175l-95 -75q-159 -127 -159 -275q0 -93 51.5 -144t147.5 -51q80 0 154 25.5t140 56.5l62 -129q-90 -48 -189 -74t-186 -26q-168 0 -259 83.5t-91 237.5q0 124 66 228t225 223q132 98 172.5 152.5t62.5 154.5h135zM760 1010 q0 -77 -40.5 -122.5t-111.5 -45.5q-43 0 -69.5 26t-26.5 78q0 71 40 118.5t107 47.5q47 0 74 -25.5t27 -76.5z" />
-<glyph unicode="&#xc0;" horiz-adv-x="1137" d="M0 0zM813 465h-496l-245 -465h-189l799 1462h174l184 -1462h-170zM795 621l-35 299q-24 179 -29 350q-37 -88 -80.5 -175t-249.5 -474h394zM863 1579h-104q-61 61 -128.5 154t-95.5 153v21h181q43 -136 147 -303v-25z" />
-<glyph unicode="&#xc1;" horiz-adv-x="1137" d="M0 0zM813 465h-496l-245 -465h-189l799 1462h174l184 -1462h-170zM795 621l-35 299q-24 179 -29 350q-37 -88 -80.5 -175t-249.5 -474h394zM679 1606q56 60 125.5 151.5t106.5 149.5h190v-21q-38 -49 -140 -151t-177 -156h-105v27z" />
-<glyph unicode="&#xc2;" horiz-adv-x="1137" d="M0 0zM813 465h-496l-245 -465h-189l799 1462h174l184 -1462h-170zM795 621l-35 299q-24 179 -29 350q-37 -88 -80.5 -175t-249.5 -474h394zM1080 1579h-103q-57 48 -161 189q-134 -119 -242 -189h-109v27q145 133 204.5 197.5t82.5 103.5h158q37 -99 128 -235l42 -66v-27 z" />
-<glyph unicode="&#xc3;" horiz-adv-x="1137" d="M0 0zM813 465h-496l-245 -465h-189l799 1462h174l184 -1462h-170zM795 621l-35 299q-24 179 -29 350q-37 -88 -80.5 -175t-249.5 -474h394zM934 1581q-40 0 -77.5 17.5t-73 39t-69 39t-65.5 17.5q-44 0 -69.5 -28.5t-47.5 -86.5h-100q58 258 231 258q44 0 83.5 -18 t75 -39.5t66.5 -39.5t58 -18q44 0 69.5 27t51.5 90h100q-66 -258 -233 -258z" />
-<glyph unicode="&#xc4;" horiz-adv-x="1137" d="M0 0zM813 465h-496l-245 -465h-189l799 1462h174l184 -1462h-170zM795 621l-35 299q-24 179 -29 350q-37 -88 -80.5 -175t-249.5 -474h394zM523 1716q0 46 28 79.5t74 33.5q78 0 78 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM887 1716q0 46 28 79.5 t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62z" />
-<glyph unicode="&#xc5;" horiz-adv-x="1137" d="M0 0zM813 465h-496l-245 -465h-189l799 1462h174l184 -1462h-170zM795 621l-35 299q-24 179 -29 350q-37 -88 -80.5 -175t-249.5 -474h394zM991 1585q0 -99 -60 -157t-159 -58q-101 0 -160 57.5t-59 155.5q0 94 62 152.5t157 58.5q101 0 160 -57t59 -152zM887 1583 q0 53 -32 84t-83 31q-49 0 -82 -31t-33 -84q0 -54 29.5 -84.5t85.5 -30.5q51 0 83 30.5t32 84.5z" />
-<glyph unicode="&#xc6;" horiz-adv-x="1673" d="M1448 0h-737l98 465h-438l-293 -465h-197l938 1462h938l-33 -153h-565l-100 -469h528l-28 -150h-529l-115 -538h566zM840 621l147 688h-84l-434 -688h371z" />
-<glyph unicode="&#xc7;" horiz-adv-x="1198" d="M150 0zM942 1331q-174 0 -311.5 -97t-218 -284.5t-80.5 -408.5q0 -187 97.5 -298.5t268.5 -111.5q139 0 322 57v-149q-86 -31 -164 -45t-188 -14q-242 0 -380 149.5t-138 407.5q0 261 105.5 485.5t283.5 342.5t403 118q197 0 348 -80l-69 -141q-138 69 -279 69zM758 -276 q0 -98 -81 -157t-214 -59q-41 0 -86 9v100q38 -6 68 -6q174 0 174 110q0 46 -39 67.5t-99 29.5l101 182h106l-61 -121q131 -38 131 -155z" />
-<glyph unicode="&#xc8;" horiz-adv-x="1047" d="M86 0zM821 0h-735l309 1462h735l-32 -153h-566l-98 -469h527l-29 -152h-529l-114 -536h565zM898 1579h-104q-61 61 -128.5 154t-95.5 153v21h181q43 -136 147 -303v-25z" />
-<glyph unicode="&#xc9;" horiz-adv-x="1047" d="M86 0zM821 0h-735l309 1462h735l-32 -153h-566l-98 -469h527l-29 -152h-529l-114 -536h565zM657 1606q56 60 125.5 151.5t106.5 149.5h190v-21q-38 -49 -140 -151t-177 -156h-105v27z" />
-<glyph unicode="&#xca;" horiz-adv-x="1047" d="M86 0zM821 0h-735l309 1462h735l-32 -153h-566l-98 -469h527l-29 -152h-529l-114 -536h565zM1084 1579h-103q-57 48 -161 189q-134 -119 -242 -189h-109v27q145 133 204.5 197.5t82.5 103.5h158q37 -99 128 -235l42 -66v-27z" />
-<glyph unicode="&#xcb;" horiz-adv-x="1047" d="M86 0zM821 0h-735l309 1462h735l-32 -153h-566l-98 -469h527l-29 -152h-529l-114 -536h565zM523 1716q0 46 28 79.5t74 33.5q78 0 78 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM887 1716q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34 q-35 0 -58.5 22t-23.5 62z" />
-<glyph unicode="&#xcc;" horiz-adv-x="559" d="M86 0zM86 0l311 1462h168l-311 -1462h-168zM593 1579h-104q-61 61 -128.5 154t-95.5 153v21h181q43 -136 147 -303v-25z" />
-<glyph unicode="&#xcd;" horiz-adv-x="559" d="M86 0zM86 0l311 1462h168l-311 -1462h-168zM412 1606q56 60 125.5 151.5t106.5 149.5h190v-21q-38 -49 -140 -151t-177 -156h-105v27z" />
-<glyph unicode="&#xce;" horiz-adv-x="559" d="M86 0zM86 0l311 1462h168l-311 -1462h-168zM808 1579h-103q-57 48 -161 189q-134 -119 -242 -189h-109v27q145 133 204.5 197.5t82.5 103.5h158q37 -99 128 -235l42 -66v-27z" />
-<glyph unicode="&#xcf;" horiz-adv-x="559" d="M86 0zM86 0l311 1462h168l-311 -1462h-168zM265 1716q0 46 28 79.5t74 33.5q78 0 78 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM629 1716q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62z" />
-<glyph unicode="&#xd0;" horiz-adv-x="1364" d="M1300 877q0 -261 -105 -461t-300 -308t-457 -108h-352l135 649h-149l32 150h150l141 663h342q276 0 419.5 -149.5t143.5 -435.5zM449 147q202 0 355 91.5t234.5 258.5t81.5 382t-103 325.5t-302 110.5h-178l-111 -516h330l-33 -150h-330l-106 -502h162z" />
-<glyph unicode="&#xd1;" horiz-adv-x="1438" d="M84 0zM1139 0h-181l-460 1223h-6q-32 -221 -74 -418l-172 -805h-162l309 1462h180l459 -1220h6q30 224 72 405l174 815h164zM1102 1581q-40 0 -77.5 17.5t-73 39t-69 39t-65.5 17.5q-44 0 -69.5 -28.5t-47.5 -86.5h-100q58 258 231 258q44 0 83.5 -18t75 -39.5 t66.5 -39.5t58 -18q44 0 69.5 27t51.5 90h100q-66 -258 -233 -258z" />
-<glyph unicode="&#xd2;" horiz-adv-x="1475" d="M150 0zM1411 907q0 -269 -88 -481.5t-252 -329t-379 -116.5q-256 0 -399 149.5t-143 419.5q0 264 96 482t263.5 336t377.5 118q244 0 384 -154t140 -424zM874 1333q-157 0 -281 -101t-192.5 -281t-68.5 -398q0 -199 98 -310.5t266 -111.5q152 0 272.5 97.5t190.5 279.5 t70 403q0 199 -94 310.5t-261 111.5zM1007 1579h-104q-61 61 -128.5 154t-95.5 153v21h181q43 -136 147 -303v-25z" />
-<glyph unicode="&#xd3;" horiz-adv-x="1475" d="M150 0zM1411 907q0 -269 -88 -481.5t-252 -329t-379 -116.5q-256 0 -399 149.5t-143 419.5q0 264 96 482t263.5 336t377.5 118q244 0 384 -154t140 -424zM874 1333q-157 0 -281 -101t-192.5 -281t-68.5 -398q0 -199 98 -310.5t266 -111.5q152 0 272.5 97.5t190.5 279.5 t70 403q0 199 -94 310.5t-261 111.5zM821 1606q56 60 125.5 151.5t106.5 149.5h190v-21q-38 -49 -140 -151t-177 -156h-105v27z" />
-<glyph unicode="&#xd4;" horiz-adv-x="1475" d="M150 0zM1411 907q0 -269 -88 -481.5t-252 -329t-379 -116.5q-256 0 -399 149.5t-143 419.5q0 264 96 482t263.5 336t377.5 118q244 0 384 -154t140 -424zM874 1333q-157 0 -281 -101t-192.5 -281t-68.5 -398q0 -199 98 -310.5t266 -111.5q152 0 272.5 97.5t190.5 279.5 t70 403q0 199 -94 310.5t-261 111.5zM1227 1579h-103q-57 48 -161 189q-134 -119 -242 -189h-109v27q145 133 204.5 197.5t82.5 103.5h158q37 -99 128 -235l42 -66v-27z" />
-<glyph unicode="&#xd5;" horiz-adv-x="1475" d="M150 0zM1411 907q0 -269 -88 -481.5t-252 -329t-379 -116.5q-256 0 -399 149.5t-143 419.5q0 264 96 482t263.5 336t377.5 118q244 0 384 -154t140 -424zM874 1333q-157 0 -281 -101t-192.5 -281t-68.5 -398q0 -199 98 -310.5t266 -111.5q152 0 272.5 97.5t190.5 279.5 t70 403q0 199 -94 310.5t-261 111.5zM1067 1581q-40 0 -77.5 17.5t-73 39t-69 39t-65.5 17.5q-44 0 -69.5 -28.5t-47.5 -86.5h-100q58 258 231 258q44 0 83.5 -18t75 -39.5t66.5 -39.5t58 -18q44 0 69.5 27t51.5 90h100q-66 -258 -233 -258z" />
-<glyph unicode="&#xd6;" horiz-adv-x="1475" d="M150 0zM1411 907q0 -269 -88 -481.5t-252 -329t-379 -116.5q-256 0 -399 149.5t-143 419.5q0 264 96 482t263.5 336t377.5 118q244 0 384 -154t140 -424zM874 1333q-157 0 -281 -101t-192.5 -281t-68.5 -398q0 -199 98 -310.5t266 -111.5q152 0 272.5 97.5t190.5 279.5 t70 403q0 199 -94 310.5t-261 111.5zM664 1716q0 46 28 79.5t74 33.5q78 0 78 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM1028 1716q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62z" />
-<glyph unicode="&#xd7;" d="M487 723l-319 321l98 99l320 -320l323 320l99 -96l-324 -324l322 -322l-97 -96l-323 320l-320 -318l-96 96z" />
-<glyph unicode="&#xd8;" horiz-adv-x="1475" d="M1411 907q0 -269 -88 -481.5t-252 -329t-379 -116.5q-200 0 -332 96l-129 -160l-112 92l137 170q-106 136 -106 371q0 264 96 482t263.5 336t377.5 118q99 0 178.5 -27t151.5 -84l131 166l114 -92l-149 -184q48 -62 73 -156t25 -201zM874 1333q-157 0 -281 -101 t-192.5 -281t-68.5 -398q0 -135 41 -227l737 919q-90 88 -236 88zM1229 911q0 118 -33 205l-733 -911q91 -74 233 -74q152 0 272.5 97.5t190.5 279.5t70 403z" />
-<glyph unicode="&#xd9;" horiz-adv-x="1384" d="M164 0zM1407 1462l-205 -966q-55 -263 -197.5 -389.5t-388.5 -126.5q-230 0 -341 104t-111 299q0 81 24 201l189 878h170l-191 -891q-22 -106 -22 -188q0 -117 73 -184.5t218 -67.5q172 0 267.5 87.5t139.5 289.5l205 954h170zM991 1579h-104q-61 61 -128.5 154 t-95.5 153v21h181q43 -136 147 -303v-25z" />
-<glyph unicode="&#xda;" horiz-adv-x="1384" d="M164 0zM1407 1462l-205 -966q-55 -263 -197.5 -389.5t-388.5 -126.5q-230 0 -341 104t-111 299q0 81 24 201l189 878h170l-191 -891q-22 -106 -22 -188q0 -117 73 -184.5t218 -67.5q172 0 267.5 87.5t139.5 289.5l205 954h170zM823 1606q56 60 125.5 151.5t106.5 149.5 h190v-21q-38 -49 -140 -151t-177 -156h-105v27z" />
-<glyph unicode="&#xdb;" horiz-adv-x="1384" d="M164 0zM1407 1462l-205 -966q-55 -263 -197.5 -389.5t-388.5 -126.5q-230 0 -341 104t-111 299q0 81 24 201l189 878h170l-191 -891q-22 -106 -22 -188q0 -117 73 -184.5t218 -67.5q172 0 267.5 87.5t139.5 289.5l205 954h170zM1217 1579h-103q-57 48 -161 189 q-134 -119 -242 -189h-109v27q145 133 204.5 197.5t82.5 103.5h158q37 -99 128 -235l42 -66v-27z" />
-<glyph unicode="&#xdc;" horiz-adv-x="1384" d="M164 0zM1407 1462l-205 -966q-55 -263 -197.5 -389.5t-388.5 -126.5q-230 0 -341 104t-111 299q0 81 24 201l189 878h170l-191 -891q-22 -106 -22 -188q0 -117 73 -184.5t218 -67.5q172 0 267.5 87.5t139.5 289.5l205 954h170zM643 1716q0 46 28 79.5t74 33.5 q78 0 78 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM1007 1716q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62z" />
-<glyph unicode="&#xdd;" horiz-adv-x="1030" d="M188 0zM537 715l489 747h193l-627 -921l-113 -541h-172l119 549l-238 913h170zM616 1606q56 60 125.5 151.5t106.5 149.5h190v-21q-38 -49 -140 -151t-177 -156h-105v27z" />
-<glyph unicode="&#xde;" horiz-adv-x="1159" d="M1106 829q0 -248 -164 -379t-483 -131h-133l-70 -319h-170l309 1462h170l-53 -256h160q213 0 323.5 -95t110.5 -282zM354 465h135q215 0 328 91t113 267q0 126 -70 181t-215 55h-166z" />
-<glyph unicode="&#xdf;" horiz-adv-x="1182" d="M-133 -492q-69 0 -123 21v143q61 -22 111 -22q65 0 107 47.5t65 157.5l280 1314q43 200 156 299t307 99q162 0 252 -71t90 -196q0 -57 -21 -106.5t-61.5 -95t-178.5 -150.5q-110 -83 -110 -151q0 -56 95 -122q47 -34 101 -87.5t79.5 -110t25.5 -123.5 q0 -175 -108.5 -274.5t-292.5 -99.5q-175 0 -268 71v160q51 -41 118.5 -66.5t129.5 -25.5q113 0 181 58t68 159q0 40 -10.5 71t-33.5 59t-89 83q-88 69 -122.5 124t-34.5 115q0 53 18.5 96t49.5 78.5t124 104.5q80 56 111 87.5t48 65t17 70.5q0 64 -52.5 100.5t-141.5 36.5 q-119 0 -186 -62.5t-95 -190.5l-274 -1303q-40 -189 -121 -276t-211 -87z" />
-<glyph unicode="&#xe0;" horiz-adv-x="1157" d="M98 0zM639 1116q92 0 164 -49.5t112 -142.5h11l67 172h127l-233 -1096h-133l26 209h-8q-179 -229 -377 -229q-139 0 -218 99t-79 271q0 208 71 386t196 279t274 101zM449 119q97 0 193 92.5t156 241t60 297.5q0 103 -56 164t-147 61q-104 0 -193.5 -86t-140.5 -233 t-51 -310q0 -114 47 -170.5t132 -56.5zM824 1241h-104q-61 61 -128.5 154t-95.5 153v21h181q43 -136 147 -303v-25z" />
-<glyph unicode="&#xe1;" horiz-adv-x="1157" d="M98 0zM639 1116q92 0 164 -49.5t112 -142.5h11l67 172h127l-233 -1096h-133l26 209h-8q-179 -229 -377 -229q-139 0 -218 99t-79 271q0 208 71 386t196 279t274 101zM449 119q97 0 193 92.5t156 241t60 297.5q0 103 -56 164t-147 61q-104 0 -193.5 -86t-140.5 -233 t-51 -310q0 -114 47 -170.5t132 -56.5zM600 1268q56 60 125.5 151.5t106.5 149.5h190v-21q-38 -49 -140 -151t-177 -156h-105v27z" />
-<glyph unicode="&#xe2;" horiz-adv-x="1157" d="M98 0zM639 1116q92 0 164 -49.5t112 -142.5h11l67 172h127l-233 -1096h-133l26 209h-8q-179 -229 -377 -229q-139 0 -218 99t-79 271q0 208 71 386t196 279t274 101zM449 119q97 0 193 92.5t156 241t60 297.5q0 103 -56 164t-147 61q-104 0 -193.5 -86t-140.5 -233 t-51 -310q0 -114 47 -170.5t132 -56.5zM1005 1241h-103q-57 48 -161 189q-134 -119 -242 -189h-109v27q145 133 204.5 197.5t82.5 103.5h158q37 -99 128 -235l42 -66v-27z" />
-<glyph unicode="&#xe3;" horiz-adv-x="1157" d="M98 0zM639 1116q92 0 164 -49.5t112 -142.5h11l67 172h127l-233 -1096h-133l26 209h-8q-179 -229 -377 -229q-139 0 -218 99t-79 271q0 208 71 386t196 279t274 101zM449 119q97 0 193 92.5t156 241t60 297.5q0 103 -56 164t-147 61q-104 0 -193.5 -86t-140.5 -233 t-51 -310q0 -114 47 -170.5t132 -56.5zM856 1243q-40 0 -77.5 17.5t-73 39t-69 39t-65.5 17.5q-44 0 -69.5 -28.5t-47.5 -86.5h-100q58 258 231 258q44 0 83.5 -18t75 -39.5t66.5 -39.5t58 -18q44 0 69.5 27t51.5 90h100q-66 -258 -233 -258z" />
-<glyph unicode="&#xe4;" horiz-adv-x="1157" d="M98 0zM639 1116q92 0 164 -49.5t112 -142.5h11l67 172h127l-233 -1096h-133l26 209h-8q-179 -229 -377 -229q-139 0 -218 99t-79 271q0 208 71 386t196 279t274 101zM449 119q97 0 193 92.5t156 241t60 297.5q0 103 -56 164t-147 61q-104 0 -193.5 -86t-140.5 -233 t-51 -310q0 -114 47 -170.5t132 -56.5zM454 1378q0 46 28 79.5t74 33.5q78 0 78 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM818 1378q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62z" />
-<glyph unicode="&#xe5;" horiz-adv-x="1157" d="M98 0zM639 1116q92 0 164 -49.5t112 -142.5h11l67 172h127l-233 -1096h-133l26 209h-8q-179 -229 -377 -229q-139 0 -218 99t-79 271q0 208 71 386t196 279t274 101zM449 119q97 0 193 92.5t156 241t60 297.5q0 103 -56 164t-147 61q-104 0 -193.5 -86t-140.5 -233 t-51 -310q0 -114 47 -170.5t132 -56.5zM951 1456q0 -99 -60 -157t-159 -58q-101 0 -160 57.5t-59 155.5q0 94 62 152.5t157 58.5q101 0 160 -57t59 -152zM847 1454q0 53 -32 84t-83 31q-49 0 -82 -31t-33 -84q0 -54 29.5 -84.5t85.5 -30.5q51 0 83 30.5t32 84.5z" />
-<glyph unicode="&#xe6;" horiz-adv-x="1669" d="M1165 -20q-108 0 -189.5 39.5t-121.5 119.5l-31 -139h-114l26 209h-8q-109 -132 -191.5 -180.5t-177.5 -48.5q-122 0 -191 99t-69 269q0 206 70.5 385t191.5 281t263 102q82 0 145 -48.5t102 -143.5h11l67 172h109l-31 -146q123 166 332 166q119 0 192.5 -68t73.5 -184 q0 -182 -166.5 -283.5t-472.5 -101.5h-39l-4 -80q0 -131 62.5 -204.5t193.5 -73.5q55 0 116.5 16.5t178.5 67.5v-150q-164 -75 -328 -75zM412 119q95 0 188.5 91.5t153 240.5t59.5 299q0 103 -45.5 164t-122.5 61q-99 0 -187 -86.5t-138 -231.5t-50 -309q0 -114 37 -171.5 t105 -57.5zM1325 973q-117 0 -211 -94.5t-141 -260.5h14q226 0 348.5 58.5t122.5 169.5q0 61 -35 94t-98 33z" />
-<glyph unicode="&#xe7;" horiz-adv-x="922" d="M98 0zM506 -20q-194 0 -301 107t-107 302q0 200 74 369t204.5 263.5t293.5 94.5q137 0 268 -51l-47 -141q-120 51 -219 51q-112 0 -204.5 -76.5t-145 -213t-52.5 -296.5q0 -128 66.5 -199t183.5 -71q72 0 136 20t126 47v-143q-124 -63 -276 -63zM592 -276q0 -98 -81 -157 t-214 -59q-41 0 -86 9v100q38 -6 68 -6q174 0 174 110q0 46 -39 67.5t-99 29.5l101 182h106l-61 -121q131 -38 131 -155z" />
-<glyph unicode="&#xe8;" horiz-adv-x="1010" d="M98 0zM492 -20q-184 0 -289 109t-105 302q0 188 74.5 360.5t197.5 268.5t271 96q153 0 230 -66.5t77 -185.5q0 -180 -166 -282.5t-475 -102.5h-33l-4 -80q0 -131 61.5 -204.5t190.5 -73.5q63 0 129.5 18t165.5 66v-146q-94 -44 -166 -61.5t-159 -17.5zM631 973 q-103 0 -193.5 -94t-138.5 -261h12q228 0 349.5 59.5t121.5 172.5q0 53 -36.5 88t-114.5 35zM777 1241h-104q-61 61 -128.5 154t-95.5 153v21h181q43 -136 147 -303v-25z" />
-<glyph unicode="&#xe9;" horiz-adv-x="1010" d="M98 0zM492 -20q-184 0 -289 109t-105 302q0 188 74.5 360.5t197.5 268.5t271 96q153 0 230 -66.5t77 -185.5q0 -180 -166 -282.5t-475 -102.5h-33l-4 -80q0 -131 61.5 -204.5t190.5 -73.5q63 0 129.5 18t165.5 66v-146q-94 -44 -166 -61.5t-159 -17.5zM631 973 q-103 0 -193.5 -94t-138.5 -261h12q228 0 349.5 59.5t121.5 172.5q0 53 -36.5 88t-114.5 35zM585 1268q56 60 125.5 151.5t106.5 149.5h190v-21q-38 -49 -140 -151t-177 -156h-105v27z" />
-<glyph unicode="&#xea;" horiz-adv-x="1010" d="M98 0zM492 -20q-184 0 -289 109t-105 302q0 188 74.5 360.5t197.5 268.5t271 96q153 0 230 -66.5t77 -185.5q0 -180 -166 -282.5t-475 -102.5h-33l-4 -80q0 -131 61.5 -204.5t190.5 -73.5q63 0 129.5 18t165.5 66v-146q-94 -44 -166 -61.5t-159 -17.5zM631 973 q-103 0 -193.5 -94t-138.5 -261h12q228 0 349.5 59.5t121.5 172.5q0 53 -36.5 88t-114.5 35zM966 1241h-103q-57 48 -161 189q-134 -119 -242 -189h-109v27q145 133 204.5 197.5t82.5 103.5h158q37 -99 128 -235l42 -66v-27z" />
-<glyph unicode="&#xeb;" horiz-adv-x="1010" d="M98 0zM492 -20q-184 0 -289 109t-105 302q0 188 74.5 360.5t197.5 268.5t271 96q153 0 230 -66.5t77 -185.5q0 -180 -166 -282.5t-475 -102.5h-33l-4 -80q0 -131 61.5 -204.5t190.5 -73.5q63 0 129.5 18t165.5 66v-146q-94 -44 -166 -61.5t-159 -17.5zM631 973 q-103 0 -193.5 -94t-138.5 -261h12q228 0 349.5 59.5t121.5 172.5q0 53 -36.5 88t-114.5 35zM413 1378q0 46 28 79.5t74 33.5q78 0 78 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM777 1378q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34 q-35 0 -58.5 22t-23.5 62z" />
-<glyph unicode="&#xec;" horiz-adv-x="520" d="M59 0zM227 0h-168l234 1096h168zM492 1241h-104q-61 61 -128.5 154t-95.5 153v21h181q43 -136 147 -303v-25z" />
-<glyph unicode="&#xed;" horiz-adv-x="520" d="M59 0zM227 0h-168l234 1096h168zM324 1268q56 60 125.5 151.5t106.5 149.5h190v-21q-38 -49 -140 -151t-177 -156h-105v27z" />
-<glyph unicode="&#xee;" horiz-adv-x="520" d="M59 0zM227 0h-168l234 1096h168zM708 1241h-103q-57 48 -161 189q-134 -119 -242 -189h-109v27q145 133 204.5 197.5t82.5 103.5h158q37 -99 128 -235l42 -66v-27z" />
-<glyph unicode="&#xef;" horiz-adv-x="520" d="M59 0zM227 0h-168l234 1096h168zM161 1378q0 46 28 79.5t74 33.5q78 0 78 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM525 1378q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62z" />
-<glyph unicode="&#xf0;" horiz-adv-x="1165" d="M676 1343q-66 58 -146 113l95 117q118 -84 188 -154l260 146l64 -105l-240 -133q87 -115 126.5 -240.5t39.5 -269.5q0 -253 -71.5 -447t-203 -292t-311.5 -98q-182 0 -284.5 104t-102.5 289q0 160 67.5 298t187 217t267.5 79q105 0 181.5 -45.5t111.5 -124.5l6 2v17 q0 136 -36.5 240t-110.5 197l-270 -149l-56 108zM487 121q107 0 190 56t134 168t51 226q0 118 -65.5 187t-178.5 69q-109 0 -189 -57.5t-123.5 -161t-43.5 -231.5q0 -126 57.5 -191t167.5 -65z" />
-<glyph unicode="&#xf1;" horiz-adv-x="1182" d="M59 0zM729 0l148 692q20 104 20 144q0 63 -35.5 101t-113.5 38q-89 0 -173.5 -60t-149 -171t-97.5 -269l-101 -475h-168l234 1096h139l-22 -203h10q96 122 185.5 172.5t185.5 50.5q127 0 200.5 -69.5t73.5 -194.5q0 -79 -23 -180l-143 -672h-170zM871 1243 q-40 0 -77.5 17.5t-73 39t-69 39t-65.5 17.5q-44 0 -69.5 -28.5t-47.5 -86.5h-100q58 258 231 258q44 0 83.5 -18t75 -39.5t66.5 -39.5t58 -18q44 0 69.5 27t51.5 90h100q-66 -258 -233 -258z" />
-<glyph unicode="&#xf2;" horiz-adv-x="1149" d="M98 0zM643 1110q190 0 300 -112.5t110 -309.5q0 -188 -72 -355t-195 -258t-278 -91q-192 0 -301 113t-109 309q0 190 73 357.5t197 257t275 89.5zM879 711q0 115 -62.5 186.5t-169.5 71.5q-109 0 -195.5 -74t-134 -205.5t-47.5 -292.5q0 -131 63.5 -202.5t182.5 -71.5 q104 0 187 73t129.5 207.5t46.5 307.5zM798 1241h-104q-61 61 -128.5 154t-95.5 153v21h181q43 -136 147 -303v-25z" />
-<glyph unicode="&#xf3;" horiz-adv-x="1149" d="M98 0zM643 1110q190 0 300 -112.5t110 -309.5q0 -188 -72 -355t-195 -258t-278 -91q-192 0 -301 113t-109 309q0 190 73 357.5t197 257t275 89.5zM879 711q0 115 -62.5 186.5t-169.5 71.5q-109 0 -195.5 -74t-134 -205.5t-47.5 -292.5q0 -131 63.5 -202.5t182.5 -71.5 q104 0 187 73t129.5 207.5t46.5 307.5zM589 1268q56 60 125.5 151.5t106.5 149.5h190v-21q-38 -49 -140 -151t-177 -156h-105v27z" />
-<glyph unicode="&#xf4;" horiz-adv-x="1149" d="M98 0zM643 1110q190 0 300 -112.5t110 -309.5q0 -188 -72 -355t-195 -258t-278 -91q-192 0 -301 113t-109 309q0 190 73 357.5t197 257t275 89.5zM879 711q0 115 -62.5 186.5t-169.5 71.5q-109 0 -195.5 -74t-134 -205.5t-47.5 -292.5q0 -131 63.5 -202.5t182.5 -71.5 q104 0 187 73t129.5 207.5t46.5 307.5zM997 1241h-103q-57 48 -161 189q-134 -119 -242 -189h-109v27q145 133 204.5 197.5t82.5 103.5h158q37 -99 128 -235l42 -66v-27z" />
-<glyph unicode="&#xf5;" horiz-adv-x="1149" d="M98 0zM643 1110q190 0 300 -112.5t110 -309.5q0 -188 -72 -355t-195 -258t-278 -91q-192 0 -301 113t-109 309q0 190 73 357.5t197 257t275 89.5zM879 711q0 115 -62.5 186.5t-169.5 71.5q-109 0 -195.5 -74t-134 -205.5t-47.5 -292.5q0 -131 63.5 -202.5t182.5 -71.5 q104 0 187 73t129.5 207.5t46.5 307.5zM844 1243q-40 0 -77.5 17.5t-73 39t-69 39t-65.5 17.5q-44 0 -69.5 -28.5t-47.5 -86.5h-100q58 258 231 258q44 0 83.5 -18t75 -39.5t66.5 -39.5t58 -18q44 0 69.5 27t51.5 90h100q-66 -258 -233 -258z" />
-<glyph unicode="&#xf6;" horiz-adv-x="1149" d="M98 0zM643 1110q190 0 300 -112.5t110 -309.5q0 -188 -72 -355t-195 -258t-278 -91q-192 0 -301 113t-109 309q0 190 73 357.5t197 257t275 89.5zM879 711q0 115 -62.5 186.5t-169.5 71.5q-109 0 -195.5 -74t-134 -205.5t-47.5 -292.5q0 -131 63.5 -202.5t182.5 -71.5 q104 0 187 73t129.5 207.5t46.5 307.5zM433 1378q0 46 28 79.5t74 33.5q78 0 78 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM797 1378q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62z" />
-<glyph unicode="&#xf7;" d="M127 651v142h920v-142h-920zM475 373q0 121 111 121q53 0 82.5 -30.5t29.5 -90.5q0 -58 -30 -89.5t-82 -31.5t-81.5 31t-29.5 90zM475 1071q0 121 111 121q53 0 82.5 -30.5t29.5 -90.5q0 -58 -30 -89.5t-82 -31.5t-81.5 31t-29.5 90z" />
-<glyph unicode="&#xf8;" horiz-adv-x="1149" d="M1047 705q0 -189 -69.5 -360t-191.5 -266t-276 -95q-146 0 -246 65l-98 -125l-105 82l109 135q-68 103 -68 265q0 194 73.5 361t195.5 255t272 88q146 0 252 -68l104 129l105 -79l-119 -129q62 -97 62 -258zM647 971q-108 0 -195.5 -73t-137.5 -202t-50 -280 q0 -92 17 -137l518 645q-54 47 -152 47zM885 688q0 84 -13 119l-514 -641q57 -45 158 -45q103 0 188.5 71.5t133 200.5t47.5 295z" />
-<glyph unicode="&#xf9;" horiz-adv-x="1182" d="M113 0zM451 1096l-150 -695q-18 -89 -18 -139q0 -143 147 -143q88 0 173 60t150 172t99 270l100 475h166l-231 -1096h-139l22 203h-12q-98 -125 -187 -174t-184 -49q-128 0 -201 69.5t-73 198.5q0 62 22 172l146 676h170zM800 1241h-104q-61 61 -128.5 154t-95.5 153v21 h181q43 -136 147 -303v-25z" />
-<glyph unicode="&#xfa;" horiz-adv-x="1182" d="M113 0zM451 1096l-150 -695q-18 -89 -18 -139q0 -143 147 -143q88 0 173 60t150 172t99 270l100 475h166l-231 -1096h-139l22 203h-12q-98 -125 -187 -174t-184 -49q-128 0 -201 69.5t-73 198.5q0 62 22 172l146 676h170zM636 1268q56 60 125.5 151.5t106.5 149.5h190 v-21q-38 -49 -140 -151t-177 -156h-105v27z" />
-<glyph unicode="&#xfb;" horiz-adv-x="1182" d="M113 0zM451 1096l-150 -695q-18 -89 -18 -139q0 -143 147 -143q88 0 173 60t150 172t99 270l100 475h166l-231 -1096h-139l22 203h-12q-98 -125 -187 -174t-184 -49q-128 0 -201 69.5t-73 198.5q0 62 22 172l146 676h170zM1024 1241h-103q-57 48 -161 189 q-134 -119 -242 -189h-109v27q145 133 204.5 197.5t82.5 103.5h158q37 -99 128 -235l42 -66v-27z" />
-<glyph unicode="&#xfc;" horiz-adv-x="1182" d="M113 0zM451 1096l-150 -695q-18 -89 -18 -139q0 -143 147 -143q88 0 173 60t150 172t99 270l100 475h166l-231 -1096h-139l22 203h-12q-98 -125 -187 -174t-184 -49q-128 0 -201 69.5t-73 198.5q0 62 22 172l146 676h170zM457 1378q0 46 28 79.5t74 33.5q78 0 78 -80 q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM821 1378q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62z" />
-<glyph unicode="&#xfd;" horiz-adv-x="946" d="M0 0zM98 1096h168l74 -545q10 -69 19.5 -203.5t9.5 -216.5h6q35 87 87 200t77 156l325 609h178l-696 -1282q-93 -172 -184 -239t-219 -67q-72 0 -140 21v135q63 -18 131 -18q82 0 140.5 50.5t113.5 149.5l76 136zM500 1268q56 60 125.5 151.5t106.5 149.5h190v-21 q-38 -49 -140 -151t-177 -156h-105v27z" />
-<glyph unicode="&#xfe;" horiz-adv-x="1182" d="M545 -20q-98 0 -172 51t-113 139h-10q-8 -104 -25 -176l-102 -486h-166l432 2048h168q-95 -441 -115 -522t-39 -149h9q101 125 189 177t183 52q139 0 218 -97.5t79 -273.5q0 -212 -69 -389t-191 -275.5t-276 -98.5zM731 975q-96 0 -195.5 -95t-158 -239t-58.5 -295 q0 -110 55.5 -168.5t160.5 -58.5q99 0 184.5 81t137.5 230.5t52 317.5q0 227 -178 227z" />
-<glyph unicode="&#xff;" horiz-adv-x="946" d="M0 0zM98 1096h168l74 -545q10 -69 19.5 -203.5t9.5 -216.5h6q35 87 87 200t77 156l325 609h178l-696 -1282q-93 -172 -184 -239t-219 -67q-72 0 -140 21v135q63 -18 131 -18q82 0 140.5 50.5t113.5 149.5l76 136zM335 1378q0 46 28 79.5t74 33.5q78 0 78 -80 q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM699 1378q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62z" />
-<glyph unicode="&#x131;" horiz-adv-x="520" d="M227 0h-168l234 1096h168z" />
-<glyph unicode="&#x152;" horiz-adv-x="1751" d="M1524 0h-674q-78 -20 -158 -20q-256 0 -399 149.5t-143 419.5q0 264 96 482t263.5 336t377.5 118q152 0 237 -23h709l-31 -153h-565l-100 -469h528l-31 -150h-528l-115 -538h565zM696 131q69 0 123 19l246 1161q-76 22 -191 22q-157 0 -281 -101t-192.5 -281t-68.5 -398 q0 -199 98 -310.5t266 -111.5z" />
-<glyph unicode="&#x153;" horiz-adv-x="1769" d="M1251 -20q-270 0 -356 225q-69 -107 -171.5 -164t-225.5 -57q-184 0 -292 114t-108 308q0 193 75 360t201 255.5t281 88.5q270 0 359 -225q75 109 177.5 170t221.5 61q139 0 217 -65.5t78 -186.5q0 -183 -164.5 -284t-468.5 -101h-41l-4 -80q0 -131 61.5 -204.5 t190.5 -73.5q75 0 145 24.5t150 59.5v-150q-162 -75 -326 -75zM649 969q-109 0 -196 -73t-135 -202t-48 -284q0 -141 62 -214t172 -73q177 0 278 160.5t101 427.5q0 124 -59.5 191t-174.5 67zM1413 973q-125 0 -220.5 -94.5t-139.5 -260.5h18q231 0 351 61t120 177 q0 48 -32 82.5t-97 34.5z" />
-<glyph unicode="&#x178;" horiz-adv-x="1030" d="M188 0zM537 715l489 747h193l-627 -921l-113 -541h-172l119 549l-238 913h170zM452 1716q0 46 28 79.5t74 33.5q78 0 78 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22t-23.5 62zM816 1716q0 46 28 79.5t75 33.5q77 0 77 -80q0 -49 -29.5 -83t-68.5 -34q-35 0 -58.5 22 t-23.5 62z" />
-<glyph unicode="&#x2c6;" horiz-adv-x="1135" d="M1014 1241h-103q-57 48 -161 189q-134 -119 -242 -189h-109v27q145 133 204.5 197.5t82.5 103.5h158q37 -99 128 -235l42 -66v-27z" />
-<glyph unicode="&#x2da;" horiz-adv-x="1182" d="M989 1456q0 -99 -60 -157t-159 -58q-101 0 -160 57.5t-59 155.5q0 94 62 152.5t157 58.5q101 0 160 -57t59 -152zM885 1454q0 53 -32 84t-83 31q-49 0 -82 -31t-33 -84q0 -54 29.5 -84.5t85.5 -30.5q51 0 83 30.5t32 84.5z" />
-<glyph unicode="&#x2dc;" horiz-adv-x="1135" d="M838 1243q-40 0 -77.5 17.5t-73 39t-69 39t-65.5 17.5q-44 0 -69.5 -28.5t-47.5 -86.5h-100q58 258 231 258q44 0 83.5 -18t75 -39.5t66.5 -39.5t58 -18q44 0 69.5 27t51.5 90h100q-66 -258 -233 -258z" />
-<glyph unicode="&#x2000;" horiz-adv-x="953" />
-<glyph unicode="&#x2001;" horiz-adv-x="1907" />
-<glyph unicode="&#x2002;" horiz-adv-x="953" />
-<glyph unicode="&#x2003;" horiz-adv-x="1907" />
-<glyph unicode="&#x2004;" horiz-adv-x="635" />
-<glyph unicode="&#x2005;" horiz-adv-x="476" />
-<glyph unicode="&#x2006;" horiz-adv-x="317" />
-<glyph unicode="&#x2007;" horiz-adv-x="317" />
-<glyph unicode="&#x2008;" horiz-adv-x="238" />
-<glyph unicode="&#x2009;" horiz-adv-x="381" />
-<glyph unicode="&#x200a;" horiz-adv-x="105" />
-<glyph unicode="&#x2010;" horiz-adv-x="639" d="M55 469l35 158h479l-34 -158h-480z" />
-<glyph unicode="&#x2011;" horiz-adv-x="639" d="M55 469l35 158h479l-34 -158h-480z" />
-<glyph unicode="&#x2012;" horiz-adv-x="639" d="M55 469l35 158h479l-34 -158h-480z" />
-<glyph unicode="&#x2013;" horiz-adv-x="983" d="M55 469l35 160h823l-34 -160h-824z" />
-<glyph unicode="&#x2014;" horiz-adv-x="1966" d="M55 469l35 160h1806l-34 -160h-1807z" />
-<glyph unicode="&#x2018;" horiz-adv-x="348" d="M129 961l-6 22q98 211 270 479h127q-147 -345 -203 -501h-188z" />
-<glyph unicode="&#x2019;" horiz-adv-x="348" d="M516 1462l8 -22q-40 -91 -111 -218.5t-159 -260.5h-129q134 298 203 501h188z" />
-<glyph unicode="&#x201a;" horiz-adv-x="492" d="M291 238l8 -23q-113 -235 -270 -479h-129q126 286 204 502h187z" />
-<glyph unicode="&#x201c;" horiz-adv-x="719" d="M500 961l-8 22q80 181 272 479h127q-162 -379 -203 -501h-188zM129 961l-6 22q98 211 270 479h127q-147 -345 -203 -501h-188z" />
-<glyph unicode="&#x201d;" horiz-adv-x="719" d="M516 1462l8 -22q-40 -91 -111 -218.5t-159 -260.5h-129q134 298 203 501h188zM885 1462l10 -22q-94 -206 -274 -479h-127q57 126 115.5 272.5t86.5 228.5h189z" />
-<glyph unicode="&#x201e;" horiz-adv-x="858" d="M291 238l8 -23q-113 -235 -270 -479h-129q126 286 204 502h187zM659 238l9 -23q-95 -205 -271 -479h-129q140 316 203 502h188z" />
-<glyph unicode="&#x2022;" horiz-adv-x="774" d="M199 684q0 145 73.5 231t198.5 86q92 0 139 -49t47 -141q0 -141 -74 -230t-202 -89q-89 0 -135.5 49.5t-46.5 142.5z" />
-<glyph unicode="&#x2026;" horiz-adv-x="1563" d="M43 0zM563 74q0 77 40.5 122.5t111.5 45.5q43 0 69.5 -26t26.5 -79q0 -71 -40 -118.5t-108 -47.5q-46 0 -73 26t-27 77zM1085 74q0 77 40.5 122.5t111.5 45.5q43 0 69.5 -26t26.5 -79q0 -71 -40 -118.5t-108 -47.5q-46 0 -73 26t-27 77zM43 74q0 77 40.5 122.5 t111.5 45.5q43 0 69.5 -26t26.5 -79q0 -71 -40 -118.5t-108 -47.5q-46 0 -73 26t-27 77z" />
-<glyph unicode="&#x202f;" horiz-adv-x="381" />
-<glyph unicode="&#x2039;" horiz-adv-x="580" d="M88 578l391 380l78 -81l-297 -334l172 -381l-113 -49l-231 436v29z" />
-<glyph unicode="&#x203a;" horiz-adv-x="580" d="M492 496l-392 -381l-77 82l296 333l-172 381l113 50l232 -437v-28z" />
-<glyph unicode="&#x2044;" horiz-adv-x="268" d="M752 1462l-1086 -1462h-153l1085 1462h154z" />
-<glyph unicode="&#x205f;" horiz-adv-x="476" />
-<glyph unicode="&#x2074;" horiz-adv-x="717" d="M713 788h-129l-43 -202h-127l43 202h-365l23 101l481 579h133l-121 -563h127zM481 905q69 322 90 395q-20 -36 -110 -149l-205 -246h225z" />
-<glyph unicode="&#x20ac;" d="M928 1329q-140 0 -254 -99t-189 -298h426l-26 -133h-441q-21 -65 -32 -164h381l-29 -131h-361q0 -373 297 -373q123 0 256 55v-147q-127 -59 -278 -59q-212 0 -328.5 133.5t-116.5 378.5v12h-170l27 131h154q8 80 30 164h-151l27 133h159q97 267 259.5 408t369.5 141 q89 0 160 -21.5t141 -70.5l-80 -138q-113 78 -231 78z" />
-<glyph unicode="&#x2122;" horiz-adv-x="1534" d="M438 741h-121v617h-196v104h516v-104h-199v-617zM1014 741l-189 551h-6q4 -52 4 -121v-430h-118v721h180l182 -557l193 557h170v-721h-121v430q0 73 4 121h-6l-197 -551h-96z" />
-<glyph unicode="&#xe000;" horiz-adv-x="1095" d="M0 1095h1095v-1095h-1095v1095z" />
-<glyph horiz-adv-x="1182" d="M0 0z" />
-<hkern u1="&#x22;" u2="&#x178;" k="-20" />
-<hkern u1="&#x22;" u2="&#x153;" k="123" />
-<hkern u1="&#x22;" u2="&#xfc;" k="61" />
-<hkern u1="&#x22;" u2="&#xfb;" k="61" />
-<hkern u1="&#x22;" u2="&#xfa;" k="61" />
-<hkern u1="&#x22;" u2="&#xf9;" k="61" />
-<hkern u1="&#x22;" u2="&#xf8;" k="123" />
-<hkern u1="&#x22;" u2="&#xf6;" k="123" />
-<hkern u1="&#x22;" u2="&#xf5;" k="123" />
-<hkern u1="&#x22;" u2="&#xf4;" k="123" />
-<hkern u1="&#x22;" u2="&#xf3;" k="123" />
-<hkern u1="&#x22;" u2="&#xf2;" k="123" />
-<hkern u1="&#x22;" u2="&#xeb;" k="123" />
-<hkern u1="&#x22;" u2="&#xea;" k="123" />
-<hkern u1="&#x22;" u2="&#xe9;" k="123" />
-<hkern u1="&#x22;" u2="&#xe8;" k="123" />
-<hkern u1="&#x22;" u2="&#xe7;" k="123" />
-<hkern u1="&#x22;" u2="&#xe6;" k="82" />
-<hkern u1="&#x22;" u2="&#xe5;" k="82" />
-<hkern u1="&#x22;" u2="&#xe4;" k="82" />
-<hkern u1="&#x22;" u2="&#xe3;" k="82" />
-<hkern u1="&#x22;" u2="&#xe2;" k="82" />
-<hkern u1="&#x22;" u2="&#xe1;" k="82" />
-<hkern u1="&#x22;" u2="&#xe0;" k="123" />
-<hkern u1="&#x22;" u2="&#xdd;" k="-20" />
-<hkern u1="&#x22;" u2="&#xc5;" k="143" />
-<hkern u1="&#x22;" u2="&#xc4;" k="143" />
-<hkern u1="&#x22;" u2="&#xc3;" k="143" />
-<hkern u1="&#x22;" u2="&#xc2;" k="143" />
-<hkern u1="&#x22;" u2="&#xc1;" k="143" />
-<hkern u1="&#x22;" u2="&#xc0;" k="143" />
-<hkern u1="&#x22;" u2="u" k="61" />
-<hkern u1="&#x22;" u2="s" k="61" />
-<hkern u1="&#x22;" u2="r" k="61" />
-<hkern u1="&#x22;" u2="q" k="123" />
-<hkern u1="&#x22;" u2="p" k="61" />
-<hkern u1="&#x22;" u2="o" k="123" />
-<hkern u1="&#x22;" u2="n" k="61" />
-<hkern u1="&#x22;" u2="m" k="61" />
-<hkern u1="&#x22;" u2="g" k="61" />
-<hkern u1="&#x22;" u2="e" k="123" />
-<hkern u1="&#x22;" u2="d" k="123" />
-<hkern u1="&#x22;" u2="c" k="123" />
-<hkern u1="&#x22;" u2="a" k="82" />
-<hkern u1="&#x22;" u2="Y" k="-20" />
-<hkern u1="&#x22;" u2="W" k="-41" />
-<hkern u1="&#x22;" u2="V" k="-41" />
-<hkern u1="&#x22;" u2="T" k="-41" />
-<hkern u1="&#x22;" u2="A" k="143" />
-<hkern u1="&#x27;" u2="&#x178;" k="-20" />
-<hkern u1="&#x27;" u2="&#x153;" k="123" />
-<hkern u1="&#x27;" u2="&#xfc;" k="61" />
-<hkern u1="&#x27;" u2="&#xfb;" k="61" />
-<hkern u1="&#x27;" u2="&#xfa;" k="61" />
-<hkern u1="&#x27;" u2="&#xf9;" k="61" />
-<hkern u1="&#x27;" u2="&#xf8;" k="123" />
-<hkern u1="&#x27;" u2="&#xf6;" k="123" />
-<hkern u1="&#x27;" u2="&#xf5;" k="123" />
-<hkern u1="&#x27;" u2="&#xf4;" k="123" />
-<hkern u1="&#x27;" u2="&#xf3;" k="123" />
-<hkern u1="&#x27;" u2="&#xf2;" k="123" />
-<hkern u1="&#x27;" u2="&#xeb;" k="123" />
-<hkern u1="&#x27;" u2="&#xea;" k="123" />
-<hkern u1="&#x27;" u2="&#xe9;" k="123" />
-<hkern u1="&#x27;" u2="&#xe8;" k="123" />
-<hkern u1="&#x27;" u2="&#xe7;" k="123" />
-<hkern u1="&#x27;" u2="&#xe6;" k="82" />
-<hkern u1="&#x27;" u2="&#xe5;" k="82" />
-<hkern u1="&#x27;" u2="&#xe4;" k="82" />
-<hkern u1="&#x27;" u2="&#xe3;" k="82" />
-<hkern u1="&#x27;" u2="&#xe2;" k="82" />
-<hkern u1="&#x27;" u2="&#xe1;" k="82" />
-<hkern u1="&#x27;" u2="&#xe0;" k="123" />
-<hkern u1="&#x27;" u2="&#xdd;" k="-20" />
-<hkern u1="&#x27;" u2="&#xc5;" k="143" />
-<hkern u1="&#x27;" u2="&#xc4;" k="143" />
-<hkern u1="&#x27;" u2="&#xc3;" k="143" />
-<hkern u1="&#x27;" u2="&#xc2;" k="143" />
-<hkern u1="&#x27;" u2="&#xc1;" k="143" />
-<hkern u1="&#x27;" u2="&#xc0;" k="143" />
-<hkern u1="&#x27;" u2="u" k="61" />
-<hkern u1="&#x27;" u2="s" k="61" />
-<hkern u1="&#x27;" u2="r" k="61" />
-<hkern u1="&#x27;" u2="q" k="123" />
-<hkern u1="&#x27;" u2="p" k="61" />
-<hkern u1="&#x27;" u2="o" k="123" />
-<hkern u1="&#x27;" u2="n" k="61" />
-<hkern u1="&#x27;" u2="m" k="61" />
-<hkern u1="&#x27;" u2="g" k="61" />
-<hkern u1="&#x27;" u2="e" k="123" />
-<hkern u1="&#x27;" u2="d" k="123" />
-<hkern u1="&#x27;" u2="c" k="123" />
-<hkern u1="&#x27;" u2="a" k="82" />
-<hkern u1="&#x27;" u2="Y" k="-20" />
-<hkern u1="&#x27;" u2="W" k="-41" />
-<hkern u1="&#x27;" u2="V" k="-41" />
-<hkern u1="&#x27;" u2="T" k="-41" />
-<hkern u1="&#x27;" u2="A" k="143" />
-<hkern u1="&#x28;" u2="J" k="-184" />
-<hkern u1="&#x2c;" u2="&#x178;" k="123" />
-<hkern u1="&#x2c;" u2="&#x152;" k="102" />
-<hkern u1="&#x2c;" u2="&#xdd;" k="123" />
-<hkern u1="&#x2c;" u2="&#xdc;" k="41" />
-<hkern u1="&#x2c;" u2="&#xdb;" k="41" />
-<hkern u1="&#x2c;" u2="&#xda;" k="41" />
-<hkern u1="&#x2c;" u2="&#xd9;" k="41" />
-<hkern u1="&#x2c;" u2="&#xd8;" k="102" />
-<hkern u1="&#x2c;" u2="&#xd6;" k="102" />
-<hkern u1="&#x2c;" u2="&#xd5;" k="102" />
-<hkern u1="&#x2c;" u2="&#xd4;" k="102" />
-<hkern u1="&#x2c;" u2="&#xd3;" k="102" />
-<hkern u1="&#x2c;" u2="&#xd2;" k="102" />
-<hkern u1="&#x2c;" u2="&#xc7;" k="102" />
-<hkern u1="&#x2c;" u2="Y" k="123" />
-<hkern u1="&#x2c;" u2="W" k="123" />
-<hkern u1="&#x2c;" u2="V" k="123" />
-<hkern u1="&#x2c;" u2="U" k="41" />
-<hkern u1="&#x2c;" u2="T" k="143" />
-<hkern u1="&#x2c;" u2="Q" k="102" />
-<hkern u1="&#x2c;" u2="O" k="102" />
-<hkern u1="&#x2c;" u2="G" k="102" />
-<hkern u1="&#x2c;" u2="C" k="102" />
-<hkern u1="&#x2d;" u2="T" k="82" />
-<hkern u1="&#x2e;" u2="&#x178;" k="123" />
-<hkern u1="&#x2e;" u2="&#x152;" k="102" />
-<hkern u1="&#x2e;" u2="&#xdd;" k="123" />
-<hkern u1="&#x2e;" u2="&#xdc;" k="41" />
-<hkern u1="&#x2e;" u2="&#xdb;" k="41" />
-<hkern u1="&#x2e;" u2="&#xda;" k="41" />
-<hkern u1="&#x2e;" u2="&#xd9;" k="41" />
-<hkern u1="&#x2e;" u2="&#xd8;" k="102" />
-<hkern u1="&#x2e;" u2="&#xd6;" k="102" />
-<hkern u1="&#x2e;" u2="&#xd5;" k="102" />
-<hkern u1="&#x2e;" u2="&#xd4;" k="102" />
-<hkern u1="&#x2e;" u2="&#xd3;" k="102" />
-<hkern u1="&#x2e;" u2="&#xd2;" k="102" />
-<hkern u1="&#x2e;" u2="&#xc7;" k="102" />
-<hkern u1="&#x2e;" u2="Y" k="123" />
-<hkern u1="&#x2e;" u2="W" k="123" />
-<hkern u1="&#x2e;" u2="V" k="123" />
-<hkern u1="&#x2e;" u2="U" k="41" />
-<hkern u1="&#x2e;" u2="T" k="143" />
-<hkern u1="&#x2e;" u2="Q" k="102" />
-<hkern u1="&#x2e;" u2="O" k="102" />
-<hkern u1="&#x2e;" u2="G" k="102" />
-<hkern u1="&#x2e;" u2="C" k="102" />
-<hkern u1="A" u2="&#x201d;" k="143" />
-<hkern u1="A" u2="&#x2019;" k="143" />
-<hkern u1="A" u2="&#x178;" k="123" />
-<hkern u1="A" u2="&#x152;" k="41" />
-<hkern u1="A" u2="&#xdd;" k="123" />
-<hkern u1="A" u2="&#xd8;" k="41" />
-<hkern u1="A" u2="&#xd6;" k="41" />
-<hkern u1="A" u2="&#xd5;" k="41" />
-<hkern u1="A" u2="&#xd4;" k="41" />
-<hkern u1="A" u2="&#xd3;" k="41" />
-<hkern u1="A" u2="&#xd2;" k="41" />
-<hkern u1="A" u2="&#xc7;" k="41" />
-<hkern u1="A" u2="Y" k="123" />
-<hkern u1="A" u2="W" k="82" />
-<hkern u1="A" u2="V" k="82" />
-<hkern u1="A" u2="T" k="143" />
-<hkern u1="A" u2="Q" k="41" />
-<hkern u1="A" u2="O" k="41" />
-<hkern u1="A" u2="J" k="-266" />
-<hkern u1="A" u2="G" k="41" />
-<hkern u1="A" u2="C" k="41" />
-<hkern u1="A" u2="&#x27;" k="143" />
-<hkern u1="A" u2="&#x22;" k="143" />
-<hkern u1="B" u2="&#x201e;" k="82" />
-<hkern u1="B" u2="&#x201a;" k="82" />
-<hkern u1="B" u2="&#x178;" k="20" />
-<hkern u1="B" u2="&#xdd;" k="20" />
-<hkern u1="B" u2="&#xc5;" k="41" />
-<hkern u1="B" u2="&#xc4;" k="41" />
-<hkern u1="B" u2="&#xc3;" k="41" />
-<hkern u1="B" u2="&#xc2;" k="41" />
-<hkern u1="B" u2="&#xc1;" k="41" />
-<hkern u1="B" u2="&#xc0;" k="41" />
-<hkern u1="B" u2="Z" k="20" />
-<hkern u1="B" u2="Y" k="20" />
-<hkern u1="B" u2="X" k="41" />
-<hkern u1="B" u2="W" k="20" />
-<hkern u1="B" u2="V" k="20" />
-<hkern u1="B" u2="T" k="61" />
-<hkern u1="B" u2="A" k="41" />
-<hkern u1="B" u2="&#x2e;" k="82" />
-<hkern u1="B" u2="&#x2c;" k="82" />
-<hkern u1="C" u2="&#x152;" k="41" />
-<hkern u1="C" u2="&#xd8;" k="41" />
-<hkern u1="C" u2="&#xd6;" k="41" />
-<hkern u1="C" u2="&#xd5;" k="41" />
-<hkern u1="C" u2="&#xd4;" k="41" />
-<hkern u1="C" u2="&#xd3;" k="41" />
-<hkern u1="C" u2="&#xd2;" k="41" />
-<hkern u1="C" u2="&#xc7;" k="41" />
-<hkern u1="C" u2="Q" k="41" />
-<hkern u1="C" u2="O" k="41" />
-<hkern u1="C" u2="G" k="41" />
-<hkern u1="C" u2="C" k="41" />
-<hkern u1="D" u2="&#x201e;" k="82" />
-<hkern u1="D" u2="&#x201a;" k="82" />
-<hkern u1="D" u2="&#x178;" k="20" />
-<hkern u1="D" u2="&#xdd;" k="20" />
-<hkern u1="D" u2="&#xc5;" k="41" />
-<hkern u1="D" u2="&#xc4;" k="41" />
-<hkern u1="D" u2="&#xc3;" k="41" />
-<hkern u1="D" u2="&#xc2;" k="41" />
-<hkern u1="D" u2="&#xc1;" k="41" />
-<hkern u1="D" u2="&#xc0;" k="41" />
-<hkern u1="D" u2="Z" k="20" />
-<hkern u1="D" u2="Y" k="20" />
-<hkern u1="D" u2="X" k="41" />
-<hkern u1="D" u2="W" k="20" />
-<hkern u1="D" u2="V" k="20" />
-<hkern u1="D" u2="T" k="61" />
-<hkern u1="D" u2="A" k="41" />
-<hkern u1="D" u2="&#x2e;" k="82" />
-<hkern u1="D" u2="&#x2c;" k="82" />
-<hkern u1="E" u2="J" k="-123" />
-<hkern u1="F" u2="&#x201e;" k="123" />
-<hkern u1="F" u2="&#x201a;" k="123" />
-<hkern u1="F" u2="&#xc5;" k="41" />
-<hkern u1="F" u2="&#xc4;" k="41" />
-<hkern u1="F" u2="&#xc3;" k="41" />
-<hkern u1="F" u2="&#xc2;" k="41" />
-<hkern u1="F" u2="&#xc1;" k="41" />
-<hkern u1="F" u2="&#xc0;" k="41" />
-<hkern u1="F" u2="A" k="41" />
-<hkern u1="F" u2="&#x3f;" k="-41" />
-<hkern u1="F" u2="&#x2e;" k="123" />
-<hkern u1="F" u2="&#x2c;" k="123" />
-<hkern u1="K" u2="&#x152;" k="41" />
-<hkern u1="K" u2="&#xd8;" k="41" />
-<hkern u1="K" u2="&#xd6;" k="41" />
-<hkern u1="K" u2="&#xd5;" k="41" />
-<hkern u1="K" u2="&#xd4;" k="41" />
-<hkern u1="K" u2="&#xd3;" k="41" />
-<hkern u1="K" u2="&#xd2;" k="41" />
-<hkern u1="K" u2="&#xc7;" k="41" />
-<hkern u1="K" u2="Q" k="41" />
-<hkern u1="K" u2="O" k="41" />
-<hkern u1="K" u2="G" k="41" />
-<hkern u1="K" u2="C" k="41" />
-<hkern u1="L" u2="&#x201d;" k="164" />
-<hkern u1="L" u2="&#x2019;" k="164" />
-<hkern u1="L" u2="&#x178;" k="61" />
-<hkern u1="L" u2="&#x152;" k="41" />
-<hkern u1="L" u2="&#xdd;" k="61" />
-<hkern u1="L" u2="&#xdc;" k="20" />
-<hkern u1="L" u2="&#xdb;" k="20" />
-<hkern u1="L" u2="&#xda;" k="20" />
-<hkern u1="L" u2="&#xd9;" k="20" />
-<hkern u1="L" u2="&#xd8;" k="41" />
-<hkern u1="L" u2="&#xd6;" k="41" />
-<hkern u1="L" u2="&#xd5;" k="41" />
-<hkern u1="L" u2="&#xd4;" k="41" />
-<hkern u1="L" u2="&#xd3;" k="41" />
-<hkern u1="L" u2="&#xd2;" k="41" />
-<hkern u1="L" u2="&#xc7;" k="41" />
-<hkern u1="L" u2="Y" k="61" />
-<hkern u1="L" u2="W" k="41" />
-<hkern u1="L" u2="V" k="41" />
-<hkern u1="L" u2="U" k="20" />
-<hkern u1="L" u2="T" k="41" />
-<hkern u1="L" u2="Q" k="41" />
-<hkern u1="L" u2="O" k="41" />
-<hkern u1="L" u2="G" k="41" />
-<hkern u1="L" u2="C" k="41" />
-<hkern u1="L" u2="&#x27;" k="164" />
-<hkern u1="L" u2="&#x22;" k="164" />
-<hkern u1="O" u2="&#x201e;" k="82" />
-<hkern u1="O" u2="&#x201a;" k="82" />
-<hkern u1="O" u2="&#x178;" k="20" />
-<hkern u1="O" u2="&#xdd;" k="20" />
-<hkern u1="O" u2="&#xc5;" k="41" />
-<hkern u1="O" u2="&#xc4;" k="41" />
-<hkern u1="O" u2="&#xc3;" k="41" />
-<hkern u1="O" u2="&#xc2;" k="41" />
-<hkern u1="O" u2="&#xc1;" k="41" />
-<hkern u1="O" u2="&#xc0;" k="41" />
-<hkern u1="O" u2="Z" k="20" />
-<hkern u1="O" u2="Y" k="20" />
-<hkern u1="O" u2="X" k="41" />
-<hkern u1="O" u2="W" k="20" />
-<hkern u1="O" u2="V" k="20" />
-<hkern u1="O" u2="T" k="61" />
-<hkern u1="O" u2="A" k="41" />
-<hkern u1="O" u2="&#x2e;" k="82" />
-<hkern u1="O" u2="&#x2c;" k="82" />
-<hkern u1="P" u2="&#x201e;" k="266" />
-<hkern u1="P" u2="&#x201a;" k="266" />
-<hkern u1="P" u2="&#xc5;" k="102" />
-<hkern u1="P" u2="&#xc4;" k="102" />
-<hkern u1="P" u2="&#xc3;" k="102" />
-<hkern u1="P" u2="&#xc2;" k="102" />
-<hkern u1="P" u2="&#xc1;" k="102" />
-<hkern u1="P" u2="&#xc0;" k="102" />
-<hkern u1="P" u2="Z" k="20" />
-<hkern u1="P" u2="X" k="41" />
-<hkern u1="P" u2="A" k="102" />
-<hkern u1="P" u2="&#x2e;" k="266" />
-<hkern u1="P" u2="&#x2c;" k="266" />
-<hkern u1="Q" u2="&#x201e;" k="82" />
-<hkern u1="Q" u2="&#x201a;" k="82" />
-<hkern u1="Q" u2="&#x178;" k="20" />
-<hkern u1="Q" u2="&#xdd;" k="20" />
-<hkern u1="Q" u2="&#xc5;" k="41" />
-<hkern u1="Q" u2="&#xc4;" k="41" />
-<hkern u1="Q" u2="&#xc3;" k="41" />
-<hkern u1="Q" u2="&#xc2;" k="41" />
-<hkern u1="Q" u2="&#xc1;" k="41" />
-<hkern u1="Q" u2="&#xc0;" k="41" />
-<hkern u1="Q" u2="Z" k="20" />
-<hkern u1="Q" u2="Y" k="20" />
-<hkern u1="Q" u2="X" k="41" />
-<hkern u1="Q" u2="W" k="20" />
-<hkern u1="Q" u2="V" k="20" />
-<hkern u1="Q" u2="T" k="61" />
-<hkern u1="Q" u2="A" k="41" />
-<hkern u1="Q" u2="&#x2e;" k="82" />
-<hkern u1="Q" u2="&#x2c;" k="82" />
-<hkern u1="T" u2="&#x201e;" k="123" />
-<hkern u1="T" u2="&#x201a;" k="123" />
-<hkern u1="T" u2="&#x2014;" k="82" />
-<hkern u1="T" u2="&#x2013;" k="82" />
-<hkern u1="T" u2="&#x153;" k="143" />
-<hkern u1="T" u2="&#x152;" k="41" />
-<hkern u1="T" u2="&#xfd;" k="41" />
-<hkern u1="T" u2="&#xfc;" k="102" />
-<hkern u1="T" u2="&#xfb;" k="102" />
-<hkern u1="T" u2="&#xfa;" k="102" />
-<hkern u1="T" u2="&#xf9;" k="102" />
-<hkern u1="T" u2="&#xf8;" k="143" />
-<hkern u1="T" u2="&#xf6;" k="143" />
-<hkern u1="T" u2="&#xf5;" k="143" />
-<hkern u1="T" u2="&#xf4;" k="143" />
-<hkern u1="T" u2="&#xf3;" k="143" />
-<hkern u1="T" u2="&#xf2;" k="143" />
-<hkern u1="T" u2="&#xeb;" k="143" />
-<hkern u1="T" u2="&#xea;" k="143" />
-<hkern u1="T" u2="&#xe9;" k="143" />
-<hkern u1="T" u2="&#xe8;" k="143" />
-<hkern u1="T" u2="&#xe7;" k="143" />
-<hkern u1="T" u2="&#xe6;" k="164" />
-<hkern u1="T" u2="&#xe5;" k="164" />
-<hkern u1="T" u2="&#xe4;" k="164" />
-<hkern u1="T" u2="&#xe3;" k="164" />
-<hkern u1="T" u2="&#xe2;" k="164" />
-<hkern u1="T" u2="&#xe1;" k="164" />
-<hkern u1="T" u2="&#xe0;" k="143" />
-<hkern u1="T" u2="&#xd8;" k="41" />
-<hkern u1="T" u2="&#xd6;" k="41" />
-<hkern u1="T" u2="&#xd5;" k="41" />
-<hkern u1="T" u2="&#xd4;" k="41" />
-<hkern u1="T" u2="&#xd3;" k="41" />
-<hkern u1="T" u2="&#xd2;" k="41" />
-<hkern u1="T" u2="&#xc7;" k="41" />
-<hkern u1="T" u2="&#xc5;" k="143" />
-<hkern u1="T" u2="&#xc4;" k="143" />
-<hkern u1="T" u2="&#xc3;" k="143" />
-<hkern u1="T" u2="&#xc2;" k="143" />
-<hkern u1="T" u2="&#xc1;" k="143" />
-<hkern u1="T" u2="&#xc0;" k="143" />
-<hkern u1="T" u2="z" k="82" />
-<hkern u1="T" u2="y" k="41" />
-<hkern u1="T" u2="x" k="41" />
-<hkern u1="T" u2="w" k="41" />
-<hkern u1="T" u2="v" k="41" />
-<hkern u1="T" u2="u" k="102" />
-<hkern u1="T" u2="s" k="123" />
-<hkern u1="T" u2="r" k="102" />
-<hkern u1="T" u2="q" k="143" />
-<hkern u1="T" u2="p" k="102" />
-<hkern u1="T" u2="o" k="143" />
-<hkern u1="T" u2="n" k="102" />
-<hkern u1="T" u2="m" k="102" />
-<hkern u1="T" u2="g" k="143" />
-<hkern u1="T" u2="e" k="143" />
-<hkern u1="T" u2="d" k="143" />
-<hkern u1="T" u2="c" k="143" />
-<hkern u1="T" u2="a" k="164" />
-<hkern u1="T" u2="T" k="-41" />
-<hkern u1="T" u2="Q" k="41" />
-<hkern u1="T" u2="O" k="41" />
-<hkern u1="T" u2="G" k="41" />
-<hkern u1="T" u2="C" k="41" />
-<hkern u1="T" u2="A" k="143" />
-<hkern u1="T" u2="&#x3f;" k="-41" />
-<hkern u1="T" u2="&#x2e;" k="123" />
-<hkern u1="T" u2="&#x2d;" k="82" />
-<hkern u1="T" u2="&#x2c;" k="123" />
-<hkern u1="U" u2="&#x201e;" k="41" />
-<hkern u1="U" u2="&#x201a;" k="41" />
-<hkern u1="U" u2="&#xc5;" k="20" />
-<hkern u1="U" u2="&#xc4;" k="20" />
-<hkern u1="U" u2="&#xc3;" k="20" />
-<hkern u1="U" u2="&#xc2;" k="20" />
-<hkern u1="U" u2="&#xc1;" k="20" />
-<hkern u1="U" u2="&#xc0;" k="20" />
-<hkern u1="U" u2="A" k="20" />
-<hkern u1="U" u2="&#x2e;" k="41" />
-<hkern u1="U" u2="&#x2c;" k="41" />
-<hkern u1="V" u2="&#x201e;" k="102" />
-<hkern u1="V" u2="&#x201a;" k="102" />
-<hkern u1="V" u2="&#x153;" k="41" />
-<hkern u1="V" u2="&#x152;" k="20" />
-<hkern u1="V" u2="&#xfc;" k="20" />
-<hkern u1="V" u2="&#xfb;" k="20" />
-<hkern u1="V" u2="&#xfa;" k="20" />
-<hkern u1="V" u2="&#xf9;" k="20" />
-<hkern u1="V" u2="&#xf8;" k="41" />
-<hkern u1="V" u2="&#xf6;" k="41" />
-<hkern u1="V" u2="&#xf5;" k="41" />
-<hkern u1="V" u2="&#xf4;" k="41" />
-<hkern u1="V" u2="&#xf3;" k="41" />
-<hkern u1="V" u2="&#xf2;" k="41" />
-<hkern u1="V" u2="&#xeb;" k="41" />
-<hkern u1="V" u2="&#xea;" k="41" />
-<hkern u1="V" u2="&#xe9;" k="41" />
-<hkern u1="V" u2="&#xe8;" k="41" />
-<hkern u1="V" u2="&#xe7;" k="41" />
-<hkern u1="V" u2="&#xe6;" k="41" />
-<hkern u1="V" u2="&#xe5;" k="41" />
-<hkern u1="V" u2="&#xe4;" k="41" />
-<hkern u1="V" u2="&#xe3;" k="41" />
-<hkern u1="V" u2="&#xe2;" k="41" />
-<hkern u1="V" u2="&#xe1;" k="41" />
-<hkern u1="V" u2="&#xe0;" k="41" />
-<hkern u1="V" u2="&#xd8;" k="20" />
-<hkern u1="V" u2="&#xd6;" k="20" />
-<hkern u1="V" u2="&#xd5;" k="20" />
-<hkern u1="V" u2="&#xd4;" k="20" />
-<hkern u1="V" u2="&#xd3;" k="20" />
-<hkern u1="V" u2="&#xd2;" k="20" />
-<hkern u1="V" u2="&#xc7;" k="20" />
-<hkern u1="V" u2="&#xc5;" k="82" />
-<hkern u1="V" u2="&#xc4;" k="82" />
-<hkern u1="V" u2="&#xc3;" k="82" />
-<hkern u1="V" u2="&#xc2;" k="82" />
-<hkern u1="V" u2="&#xc1;" k="82" />
-<hkern u1="V" u2="&#xc0;" k="82" />
-<hkern u1="V" u2="u" k="20" />
-<hkern u1="V" u2="s" k="20" />
-<hkern u1="V" u2="r" k="20" />
-<hkern u1="V" u2="q" k="41" />
-<hkern u1="V" u2="p" k="20" />
-<hkern u1="V" u2="o" k="41" />
-<hkern u1="V" u2="n" k="20" />
-<hkern u1="V" u2="m" k="20" />
-<hkern u1="V" u2="g" k="20" />
-<hkern u1="V" u2="e" k="41" />
-<hkern u1="V" u2="d" k="41" />
-<hkern u1="V" u2="c" k="41" />
-<hkern u1="V" u2="a" k="41" />
-<hkern u1="V" u2="Q" k="20" />
-<hkern u1="V" u2="O" k="20" />
-<hkern u1="V" u2="G" k="20" />
-<hkern u1="V" u2="C" k="20" />
-<hkern u1="V" u2="A" k="82" />
-<hkern u1="V" u2="&#x3f;" k="-41" />
-<hkern u1="V" u2="&#x2e;" k="102" />
-<hkern u1="V" u2="&#x2c;" k="102" />
-<hkern u1="W" u2="&#x201e;" k="102" />
-<hkern u1="W" u2="&#x201a;" k="102" />
-<hkern u1="W" u2="&#x153;" k="41" />
-<hkern u1="W" u2="&#x152;" k="20" />
-<hkern u1="W" u2="&#xfc;" k="20" />
-<hkern u1="W" u2="&#xfb;" k="20" />
-<hkern u1="W" u2="&#xfa;" k="20" />
-<hkern u1="W" u2="&#xf9;" k="20" />
-<hkern u1="W" u2="&#xf8;" k="41" />
-<hkern u1="W" u2="&#xf6;" k="41" />
-<hkern u1="W" u2="&#xf5;" k="41" />
-<hkern u1="W" u2="&#xf4;" k="41" />
-<hkern u1="W" u2="&#xf3;" k="41" />
-<hkern u1="W" u2="&#xf2;" k="41" />
-<hkern u1="W" u2="&#xeb;" k="41" />
-<hkern u1="W" u2="&#xea;" k="41" />
-<hkern u1="W" u2="&#xe9;" k="41" />
-<hkern u1="W" u2="&#xe8;" k="41" />
-<hkern u1="W" u2="&#xe7;" k="41" />
-<hkern u1="W" u2="&#xe6;" k="41" />
-<hkern u1="W" u2="&#xe5;" k="41" />
-<hkern u1="W" u2="&#xe4;" k="41" />
-<hkern u1="W" u2="&#xe3;" k="41" />
-<hkern u1="W" u2="&#xe2;" k="41" />
-<hkern u1="W" u2="&#xe1;" k="41" />
-<hkern u1="W" u2="&#xe0;" k="41" />
-<hkern u1="W" u2="&#xd8;" k="20" />
-<hkern u1="W" u2="&#xd6;" k="20" />
-<hkern u1="W" u2="&#xd5;" k="20" />
-<hkern u1="W" u2="&#xd4;" k="20" />
-<hkern u1="W" u2="&#xd3;" k="20" />
-<hkern u1="W" u2="&#xd2;" k="20" />
-<hkern u1="W" u2="&#xc7;" k="20" />
-<hkern u1="W" u2="&#xc5;" k="82" />
-<hkern u1="W" u2="&#xc4;" k="82" />
-<hkern u1="W" u2="&#xc3;" k="82" />
-<hkern u1="W" u2="&#xc2;" k="82" />
-<hkern u1="W" u2="&#xc1;" k="82" />
-<hkern u1="W" u2="&#xc0;" k="82" />
-<hkern u1="W" u2="u" k="20" />
-<hkern u1="W" u2="s" k="20" />
-<hkern u1="W" u2="r" k="20" />
-<hkern u1="W" u2="q" k="41" />
-<hkern u1="W" u2="p" k="20" />
-<hkern u1="W" u2="o" k="41" />
-<hkern u1="W" u2="n" k="20" />
-<hkern u1="W" u2="m" k="20" />
-<hkern u1="W" u2="g" k="20" />
-<hkern u1="W" u2="e" k="41" />
-<hkern u1="W" u2="d" k="41" />
-<hkern u1="W" u2="c" k="41" />
-<hkern u1="W" u2="a" k="41" />
-<hkern u1="W" u2="Q" k="20" />
-<hkern u1="W" u2="O" k="20" />
-<hkern u1="W" u2="G" k="20" />
-<hkern u1="W" u2="C" k="20" />
-<hkern u1="W" u2="A" k="82" />
-<hkern u1="W" u2="&#x3f;" k="-41" />
-<hkern u1="W" u2="&#x2e;" k="102" />
-<hkern u1="W" u2="&#x2c;" k="102" />
-<hkern u1="X" u2="&#x152;" k="41" />
-<hkern u1="X" u2="&#xd8;" k="41" />
-<hkern u1="X" u2="&#xd6;" k="41" />
-<hkern u1="X" u2="&#xd5;" k="41" />
-<hkern u1="X" u2="&#xd4;" k="41" />
-<hkern u1="X" u2="&#xd3;" k="41" />
-<hkern u1="X" u2="&#xd2;" k="41" />
-<hkern u1="X" u2="&#xc7;" k="41" />
-<hkern u1="X" u2="Q" k="41" />
-<hkern u1="X" u2="O" k="41" />
-<hkern u1="X" u2="G" k="41" />
-<hkern u1="X" u2="C" k="41" />
-<hkern u1="Y" u2="&#x201e;" k="123" />
-<hkern u1="Y" u2="&#x201a;" k="123" />
-<hkern u1="Y" u2="&#x153;" k="102" />
-<hkern u1="Y" u2="&#x152;" k="41" />
-<hkern u1="Y" u2="&#xfc;" k="61" />
-<hkern u1="Y" u2="&#xfb;" k="61" />
-<hkern u1="Y" u2="&#xfa;" k="61" />
-<hkern u1="Y" u2="&#xf9;" k="61" />
-<hkern u1="Y" u2="&#xf8;" k="102" />
-<hkern u1="Y" u2="&#xf6;" k="102" />
-<hkern u1="Y" u2="&#xf5;" k="102" />
-<hkern u1="Y" u2="&#xf4;" k="102" />
-<hkern u1="Y" u2="&#xf3;" k="102" />
-<hkern u1="Y" u2="&#xf2;" k="102" />
-<hkern u1="Y" u2="&#xeb;" k="102" />
-<hkern u1="Y" u2="&#xea;" k="102" />
-<hkern u1="Y" u2="&#xe9;" k="102" />
-<hkern u1="Y" u2="&#xe8;" k="102" />
-<hkern u1="Y" u2="&#xe7;" k="102" />
-<hkern u1="Y" u2="&#xe6;" k="102" />
-<hkern u1="Y" u2="&#xe5;" k="102" />
-<hkern u1="Y" u2="&#xe4;" k="102" />
-<hkern u1="Y" u2="&#xe3;" k="102" />
-<hkern u1="Y" u2="&#xe2;" k="102" />
-<hkern u1="Y" u2="&#xe1;" k="102" />
-<hkern u1="Y" u2="&#xe0;" k="102" />
-<hkern u1="Y" u2="&#xd8;" k="41" />
-<hkern u1="Y" u2="&#xd6;" k="41" />
-<hkern u1="Y" u2="&#xd5;" k="41" />
-<hkern u1="Y" u2="&#xd4;" k="41" />
-<hkern u1="Y" u2="&#xd3;" k="41" />
-<hkern u1="Y" u2="&#xd2;" k="41" />
-<hkern u1="Y" u2="&#xc7;" k="41" />
-<hkern u1="Y" u2="&#xc5;" k="123" />
-<hkern u1="Y" u2="&#xc4;" k="123" />
-<hkern u1="Y" u2="&#xc3;" k="123" />
-<hkern u1="Y" u2="&#xc2;" k="123" />
-<hkern u1="Y" u2="&#xc1;" k="123" />
-<hkern u1="Y" u2="&#xc0;" k="123" />
-<hkern u1="Y" u2="z" k="41" />
-<hkern u1="Y" u2="u" k="61" />
-<hkern u1="Y" u2="s" k="82" />
-<hkern u1="Y" u2="r" k="61" />
-<hkern u1="Y" u2="q" k="102" />
-<hkern u1="Y" u2="p" k="61" />
-<hkern u1="Y" u2="o" k="102" />
-<hkern u1="Y" u2="n" k="61" />
-<hkern u1="Y" u2="m" k="61" />
-<hkern u1="Y" u2="g" k="41" />
-<hkern u1="Y" u2="e" k="102" />
-<hkern u1="Y" u2="d" k="102" />
-<hkern u1="Y" u2="c" k="102" />
-<hkern u1="Y" u2="a" k="102" />
-<hkern u1="Y" u2="Q" k="41" />
-<hkern u1="Y" u2="O" k="41" />
-<hkern u1="Y" u2="G" k="41" />
-<hkern u1="Y" u2="C" k="41" />
-<hkern u1="Y" u2="A" k="123" />
-<hkern u1="Y" u2="&#x3f;" k="-41" />
-<hkern u1="Y" u2="&#x2e;" k="123" />
-<hkern u1="Y" u2="&#x2c;" k="123" />
-<hkern u1="Z" u2="&#x152;" k="20" />
-<hkern u1="Z" u2="&#xd8;" k="20" />
-<hkern u1="Z" u2="&#xd6;" k="20" />
-<hkern u1="Z" u2="&#xd5;" k="20" />
-<hkern u1="Z" u2="&#xd4;" k="20" />
-<hkern u1="Z" u2="&#xd3;" k="20" />
-<hkern u1="Z" u2="&#xd2;" k="20" />
-<hkern u1="Z" u2="&#xc7;" k="20" />
-<hkern u1="Z" u2="Q" k="20" />
-<hkern u1="Z" u2="O" k="20" />
-<hkern u1="Z" u2="G" k="20" />
-<hkern u1="Z" u2="C" k="20" />
-<hkern u1="[" u2="J" k="-184" />
-<hkern u1="a" u2="&#x201d;" k="20" />
-<hkern u1="a" u2="&#x2019;" k="20" />
-<hkern u1="a" u2="&#x27;" k="20" />
-<hkern u1="a" u2="&#x22;" k="20" />
-<hkern u1="b" u2="&#x201d;" k="20" />
-<hkern u1="b" u2="&#x2019;" k="20" />
-<hkern u1="b" u2="&#xfd;" k="41" />
-<hkern u1="b" u2="z" k="20" />
-<hkern u1="b" u2="y" k="41" />
-<hkern u1="b" u2="x" k="41" />
-<hkern u1="b" u2="w" k="41" />
-<hkern u1="b" u2="v" k="41" />
-<hkern u1="b" u2="&#x27;" k="20" />
-<hkern u1="b" u2="&#x22;" k="20" />
-<hkern u1="c" u2="&#x201d;" k="-41" />
-<hkern u1="c" u2="&#x2019;" k="-41" />
-<hkern u1="c" u2="&#x27;" k="-41" />
-<hkern u1="c" u2="&#x22;" k="-41" />
-<hkern u1="e" u2="&#x201d;" k="20" />
-<hkern u1="e" u2="&#x2019;" k="20" />
-<hkern u1="e" u2="&#xfd;" k="41" />
-<hkern u1="e" u2="z" k="20" />
-<hkern u1="e" u2="y" k="41" />
-<hkern u1="e" u2="x" k="41" />
-<hkern u1="e" u2="w" k="41" />
-<hkern u1="e" u2="v" k="41" />
-<hkern u1="e" u2="&#x27;" k="20" />
-<hkern u1="e" u2="&#x22;" k="20" />
-<hkern u1="f" u2="&#x201d;" k="-123" />
-<hkern u1="f" u2="&#x2019;" k="-123" />
-<hkern u1="f" u2="&#x27;" k="-123" />
-<hkern u1="f" u2="&#x22;" k="-123" />
-<hkern u1="h" u2="&#x201d;" k="20" />
-<hkern u1="h" u2="&#x2019;" k="20" />
-<hkern u1="h" u2="&#x27;" k="20" />
-<hkern u1="h" u2="&#x22;" k="20" />
-<hkern u1="k" u2="&#x153;" k="41" />
-<hkern u1="k" u2="&#xf8;" k="41" />
-<hkern u1="k" u2="&#xf6;" k="41" />
-<hkern u1="k" u2="&#xf5;" k="41" />
-<hkern u1="k" u2="&#xf4;" k="41" />
-<hkern u1="k" u2="&#xf3;" k="41" />
-<hkern u1="k" u2="&#xf2;" k="41" />
-<hkern u1="k" u2="&#xeb;" k="41" />
-<hkern u1="k" u2="&#xea;" k="41" />
-<hkern u1="k" u2="&#xe9;" k="41" />
-<hkern u1="k" u2="&#xe8;" k="41" />
-<hkern u1="k" u2="&#xe7;" k="41" />
-<hkern u1="k" u2="&#xe0;" k="41" />
-<hkern u1="k" u2="q" k="41" />
-<hkern u1="k" u2="o" k="41" />
-<hkern u1="k" u2="e" k="41" />
-<hkern u1="k" u2="d" k="41" />
-<hkern u1="k" u2="c" k="41" />
-<hkern u1="m" u2="&#x201d;" k="20" />
-<hkern u1="m" u2="&#x2019;" k="20" />
-<hkern u1="m" u2="&#x27;" k="20" />
-<hkern u1="m" u2="&#x22;" k="20" />
-<hkern u1="n" u2="&#x201d;" k="20" />
-<hkern u1="n" u2="&#x2019;" k="20" />
-<hkern u1="n" u2="&#x27;" k="20" />
-<hkern u1="n" u2="&#x22;" k="20" />
-<hkern u1="o" u2="&#x201d;" k="20" />
-<hkern u1="o" u2="&#x2019;" k="20" />
-<hkern u1="o" u2="&#xfd;" k="41" />
-<hkern u1="o" u2="z" k="20" />
-<hkern u1="o" u2="y" k="41" />
-<hkern u1="o" u2="x" k="41" />
-<hkern u1="o" u2="w" k="41" />
-<hkern u1="o" u2="v" k="41" />
-<hkern u1="o" u2="&#x27;" k="20" />
-<hkern u1="o" u2="&#x22;" k="20" />
-<hkern u1="p" u2="&#x201d;" k="20" />
-<hkern u1="p" u2="&#x2019;" k="20" />
-<hkern u1="p" u2="&#xfd;" k="41" />
-<hkern u1="p" u2="z" k="20" />
-<hkern u1="p" u2="y" k="41" />
-<hkern u1="p" u2="x" k="41" />
-<hkern u1="p" u2="w" k="41" />
-<hkern u1="p" u2="v" k="41" />
-<hkern u1="p" u2="&#x27;" k="20" />
-<hkern u1="p" u2="&#x22;" k="20" />
-<hkern u1="r" u2="&#x201d;" k="-82" />
-<hkern u1="r" u2="&#x2019;" k="-82" />
-<hkern u1="r" u2="&#x153;" k="41" />
-<hkern u1="r" u2="&#xf8;" k="41" />
-<hkern u1="r" u2="&#xf6;" k="41" />
-<hkern u1="r" u2="&#xf5;" k="41" />
-<hkern u1="r" u2="&#xf4;" k="41" />
-<hkern u1="r" u2="&#xf3;" k="41" />
-<hkern u1="r" u2="&#xf2;" k="41" />
-<hkern u1="r" u2="&#xeb;" k="41" />
-<hkern u1="r" u2="&#xea;" k="41" />
-<hkern u1="r" u2="&#xe9;" k="41" />
-<hkern u1="r" u2="&#xe8;" k="41" />
-<hkern u1="r" u2="&#xe7;" k="41" />
-<hkern u1="r" u2="&#xe6;" k="41" />
-<hkern u1="r" u2="&#xe5;" k="41" />
-<hkern u1="r" u2="&#xe4;" k="41" />
-<hkern u1="r" u2="&#xe3;" k="41" />
-<hkern u1="r" u2="&#xe2;" k="41" />
-<hkern u1="r" u2="&#xe1;" k="41" />
-<hkern u1="r" u2="&#xe0;" k="41" />
-<hkern u1="r" u2="q" k="41" />
-<hkern u1="r" u2="o" k="41" />
-<hkern u1="r" u2="g" k="20" />
-<hkern u1="r" u2="e" k="41" />
-<hkern u1="r" u2="d" k="41" />
-<hkern u1="r" u2="c" k="41" />
-<hkern u1="r" u2="a" k="41" />
-<hkern u1="r" u2="&#x27;" k="-82" />
-<hkern u1="r" u2="&#x22;" k="-82" />
-<hkern u1="t" u2="&#x201d;" k="-41" />
-<hkern u1="t" u2="&#x2019;" k="-41" />
-<hkern u1="t" u2="&#x27;" k="-41" />
-<hkern u1="t" u2="&#x22;" k="-41" />
-<hkern u1="v" u2="&#x201e;" k="82" />
-<hkern u1="v" u2="&#x201d;" k="-82" />
-<hkern u1="v" u2="&#x201a;" k="82" />
-<hkern u1="v" u2="&#x2019;" k="-82" />
-<hkern u1="v" u2="&#x3f;" k="-41" />
-<hkern u1="v" u2="&#x2e;" k="82" />
-<hkern u1="v" u2="&#x2c;" k="82" />
-<hkern u1="v" u2="&#x27;" k="-82" />
-<hkern u1="v" u2="&#x22;" k="-82" />
-<hkern u1="w" u2="&#x201e;" k="82" />
-<hkern u1="w" u2="&#x201d;" k="-82" />
-<hkern u1="w" u2="&#x201a;" k="82" />
-<hkern u1="w" u2="&#x2019;" k="-82" />
-<hkern u1="w" u2="&#x3f;" k="-41" />
-<hkern u1="w" u2="&#x2e;" k="82" />
-<hkern u1="w" u2="&#x2c;" k="82" />
-<hkern u1="w" u2="&#x27;" k="-82" />
-<hkern u1="w" u2="&#x22;" k="-82" />
-<hkern u1="x" u2="&#x153;" k="41" />
-<hkern u1="x" u2="&#xf8;" k="41" />
-<hkern u1="x" u2="&#xf6;" k="41" />
-<hkern u1="x" u2="&#xf5;" k="41" />
-<hkern u1="x" u2="&#xf4;" k="41" />
-<hkern u1="x" u2="&#xf3;" k="41" />
-<hkern u1="x" u2="&#xf2;" k="41" />
-<hkern u1="x" u2="&#xeb;" k="41" />
-<hkern u1="x" u2="&#xea;" k="41" />
-<hkern u1="x" u2="&#xe9;" k="41" />
-<hkern u1="x" u2="&#xe8;" k="41" />
-<hkern u1="x" u2="&#xe7;" k="41" />
-<hkern u1="x" u2="&#xe0;" k="41" />
-<hkern u1="x" u2="q" k="41" />
-<hkern u1="x" u2="o" k="41" />
-<hkern u1="x" u2="e" k="41" />
-<hkern u1="x" u2="d" k="41" />
-<hkern u1="x" u2="c" k="41" />
-<hkern u1="y" u2="&#x201e;" k="82" />
-<hkern u1="y" u2="&#x201d;" k="-82" />
-<hkern u1="y" u2="&#x201a;" k="82" />
-<hkern u1="y" u2="&#x2019;" k="-82" />
-<hkern u1="y" u2="&#x3f;" k="-41" />
-<hkern u1="y" u2="&#x2e;" k="82" />
-<hkern u1="y" u2="&#x2c;" k="82" />
-<hkern u1="y" u2="&#x27;" k="-82" />
-<hkern u1="y" u2="&#x22;" k="-82" />
-<hkern u1="&#x7b;" u2="J" k="-184" />
-<hkern u1="&#xc0;" u2="&#x201d;" k="143" />
-<hkern u1="&#xc0;" u2="&#x2019;" k="143" />
-<hkern u1="&#xc0;" u2="&#x178;" k="123" />
-<hkern u1="&#xc0;" u2="&#x152;" k="41" />
-<hkern u1="&#xc0;" u2="&#xdd;" k="123" />
-<hkern u1="&#xc0;" u2="&#xd8;" k="41" />
-<hkern u1="&#xc0;" u2="&#xd6;" k="41" />
-<hkern u1="&#xc0;" u2="&#xd5;" k="41" />
-<hkern u1="&#xc0;" u2="&#xd4;" k="41" />
-<hkern u1="&#xc0;" u2="&#xd3;" k="41" />
-<hkern u1="&#xc0;" u2="&#xd2;" k="41" />
-<hkern u1="&#xc0;" u2="&#xc7;" k="41" />
-<hkern u1="&#xc0;" u2="Y" k="123" />
-<hkern u1="&#xc0;" u2="W" k="82" />
-<hkern u1="&#xc0;" u2="V" k="82" />
-<hkern u1="&#xc0;" u2="T" k="143" />
-<hkern u1="&#xc0;" u2="Q" k="41" />
-<hkern u1="&#xc0;" u2="O" k="41" />
-<hkern u1="&#xc0;" u2="J" k="-266" />
-<hkern u1="&#xc0;" u2="G" k="41" />
-<hkern u1="&#xc0;" u2="C" k="41" />
-<hkern u1="&#xc0;" u2="&#x27;" k="143" />
-<hkern u1="&#xc0;" u2="&#x22;" k="143" />
-<hkern u1="&#xc1;" u2="&#x201d;" k="143" />
-<hkern u1="&#xc1;" u2="&#x2019;" k="143" />
-<hkern u1="&#xc1;" u2="&#x178;" k="123" />
-<hkern u1="&#xc1;" u2="&#x152;" k="41" />
-<hkern u1="&#xc1;" u2="&#xdd;" k="123" />
-<hkern u1="&#xc1;" u2="&#xd8;" k="41" />
-<hkern u1="&#xc1;" u2="&#xd6;" k="41" />
-<hkern u1="&#xc1;" u2="&#xd5;" k="41" />
-<hkern u1="&#xc1;" u2="&#xd4;" k="41" />
-<hkern u1="&#xc1;" u2="&#xd3;" k="41" />
-<hkern u1="&#xc1;" u2="&#xd2;" k="41" />
-<hkern u1="&#xc1;" u2="&#xc7;" k="41" />
-<hkern u1="&#xc1;" u2="Y" k="123" />
-<hkern u1="&#xc1;" u2="W" k="82" />
-<hkern u1="&#xc1;" u2="V" k="82" />
-<hkern u1="&#xc1;" u2="T" k="143" />
-<hkern u1="&#xc1;" u2="Q" k="41" />
-<hkern u1="&#xc1;" u2="O" k="41" />
-<hkern u1="&#xc1;" u2="J" k="-266" />
-<hkern u1="&#xc1;" u2="G" k="41" />
-<hkern u1="&#xc1;" u2="C" k="41" />
-<hkern u1="&#xc1;" u2="&#x27;" k="143" />
-<hkern u1="&#xc1;" u2="&#x22;" k="143" />
-<hkern u1="&#xc2;" u2="&#x201d;" k="143" />
-<hkern u1="&#xc2;" u2="&#x2019;" k="143" />
-<hkern u1="&#xc2;" u2="&#x178;" k="123" />
-<hkern u1="&#xc2;" u2="&#x152;" k="41" />
-<hkern u1="&#xc2;" u2="&#xdd;" k="123" />
-<hkern u1="&#xc2;" u2="&#xd8;" k="41" />
-<hkern u1="&#xc2;" u2="&#xd6;" k="41" />
-<hkern u1="&#xc2;" u2="&#xd5;" k="41" />
-<hkern u1="&#xc2;" u2="&#xd4;" k="41" />
-<hkern u1="&#xc2;" u2="&#xd3;" k="41" />
-<hkern u1="&#xc2;" u2="&#xd2;" k="41" />
-<hkern u1="&#xc2;" u2="&#xc7;" k="41" />
-<hkern u1="&#xc2;" u2="Y" k="123" />
-<hkern u1="&#xc2;" u2="W" k="82" />
-<hkern u1="&#xc2;" u2="V" k="82" />
-<hkern u1="&#xc2;" u2="T" k="143" />
-<hkern u1="&#xc2;" u2="Q" k="41" />
-<hkern u1="&#xc2;" u2="O" k="41" />
-<hkern u1="&#xc2;" u2="J" k="-266" />
-<hkern u1="&#xc2;" u2="G" k="41" />
-<hkern u1="&#xc2;" u2="C" k="41" />
-<hkern u1="&#xc2;" u2="&#x27;" k="143" />
-<hkern u1="&#xc2;" u2="&#x22;" k="143" />
-<hkern u1="&#xc3;" u2="&#x201d;" k="143" />
-<hkern u1="&#xc3;" u2="&#x2019;" k="143" />
-<hkern u1="&#xc3;" u2="&#x178;" k="123" />
-<hkern u1="&#xc3;" u2="&#x152;" k="41" />
-<hkern u1="&#xc3;" u2="&#xdd;" k="123" />
-<hkern u1="&#xc3;" u2="&#xd8;" k="41" />
-<hkern u1="&#xc3;" u2="&#xd6;" k="41" />
-<hkern u1="&#xc3;" u2="&#xd5;" k="41" />
-<hkern u1="&#xc3;" u2="&#xd4;" k="41" />
-<hkern u1="&#xc3;" u2="&#xd3;" k="41" />
-<hkern u1="&#xc3;" u2="&#xd2;" k="41" />
-<hkern u1="&#xc3;" u2="&#xc7;" k="41" />
-<hkern u1="&#xc3;" u2="Y" k="123" />
-<hkern u1="&#xc3;" u2="W" k="82" />
-<hkern u1="&#xc3;" u2="V" k="82" />
-<hkern u1="&#xc3;" u2="T" k="143" />
-<hkern u1="&#xc3;" u2="Q" k="41" />
-<hkern u1="&#xc3;" u2="O" k="41" />
-<hkern u1="&#xc3;" u2="J" k="-266" />
-<hkern u1="&#xc3;" u2="G" k="41" />
-<hkern u1="&#xc3;" u2="C" k="41" />
-<hkern u1="&#xc3;" u2="&#x27;" k="143" />
-<hkern u1="&#xc3;" u2="&#x22;" k="143" />
-<hkern u1="&#xc4;" u2="&#x201d;" k="143" />
-<hkern u1="&#xc4;" u2="&#x2019;" k="143" />
-<hkern u1="&#xc4;" u2="&#x178;" k="123" />
-<hkern u1="&#xc4;" u2="&#x152;" k="41" />
-<hkern u1="&#xc4;" u2="&#xdd;" k="123" />
-<hkern u1="&#xc4;" u2="&#xd8;" k="41" />
-<hkern u1="&#xc4;" u2="&#xd6;" k="41" />
-<hkern u1="&#xc4;" u2="&#xd5;" k="41" />
-<hkern u1="&#xc4;" u2="&#xd4;" k="41" />
-<hkern u1="&#xc4;" u2="&#xd3;" k="41" />
-<hkern u1="&#xc4;" u2="&#xd2;" k="41" />
-<hkern u1="&#xc4;" u2="&#xc7;" k="41" />
-<hkern u1="&#xc4;" u2="Y" k="123" />
-<hkern u1="&#xc4;" u2="W" k="82" />
-<hkern u1="&#xc4;" u2="V" k="82" />
-<hkern u1="&#xc4;" u2="T" k="143" />
-<hkern u1="&#xc4;" u2="Q" k="41" />
-<hkern u1="&#xc4;" u2="O" k="41" />
-<hkern u1="&#xc4;" u2="J" k="-266" />
-<hkern u1="&#xc4;" u2="G" k="41" />
-<hkern u1="&#xc4;" u2="C" k="41" />
-<hkern u1="&#xc4;" u2="&#x27;" k="143" />
-<hkern u1="&#xc4;" u2="&#x22;" k="143" />
-<hkern u1="&#xc5;" u2="&#x201d;" k="143" />
-<hkern u1="&#xc5;" u2="&#x2019;" k="143" />
-<hkern u1="&#xc5;" u2="&#x178;" k="123" />
-<hkern u1="&#xc5;" u2="&#x152;" k="41" />
-<hkern u1="&#xc5;" u2="&#xdd;" k="123" />
-<hkern u1="&#xc5;" u2="&#xd8;" k="41" />
-<hkern u1="&#xc5;" u2="&#xd6;" k="41" />
-<hkern u1="&#xc5;" u2="&#xd5;" k="41" />
-<hkern u1="&#xc5;" u2="&#xd4;" k="41" />
-<hkern u1="&#xc5;" u2="&#xd3;" k="41" />
-<hkern u1="&#xc5;" u2="&#xd2;" k="41" />
-<hkern u1="&#xc5;" u2="&#xc7;" k="41" />
-<hkern u1="&#xc5;" u2="Y" k="123" />
-<hkern u1="&#xc5;" u2="W" k="82" />
-<hkern u1="&#xc5;" u2="V" k="82" />
-<hkern u1="&#xc5;" u2="T" k="143" />
-<hkern u1="&#xc5;" u2="Q" k="41" />
-<hkern u1="&#xc5;" u2="O" k="41" />
-<hkern u1="&#xc5;" u2="J" k="-266" />
-<hkern u1="&#xc5;" u2="G" k="41" />
-<hkern u1="&#xc5;" u2="C" k="41" />
-<hkern u1="&#xc5;" u2="&#x27;" k="143" />
-<hkern u1="&#xc5;" u2="&#x22;" k="143" />
-<hkern u1="&#xc6;" u2="J" k="-123" />
-<hkern u1="&#xc7;" u2="&#x152;" k="41" />
-<hkern u1="&#xc7;" u2="&#xd8;" k="41" />
-<hkern u1="&#xc7;" u2="&#xd6;" k="41" />
-<hkern u1="&#xc7;" u2="&#xd5;" k="41" />
-<hkern u1="&#xc7;" u2="&#xd4;" k="41" />
-<hkern u1="&#xc7;" u2="&#xd3;" k="41" />
-<hkern u1="&#xc7;" u2="&#xd2;" k="41" />
-<hkern u1="&#xc7;" u2="&#xc7;" k="41" />
-<hkern u1="&#xc7;" u2="Q" k="41" />
-<hkern u1="&#xc7;" u2="O" k="41" />
-<hkern u1="&#xc7;" u2="G" k="41" />
-<hkern u1="&#xc7;" u2="C" k="41" />
-<hkern u1="&#xc8;" u2="J" k="-123" />
-<hkern u1="&#xc9;" u2="J" k="-123" />
-<hkern u1="&#xca;" u2="J" k="-123" />
-<hkern u1="&#xcb;" u2="J" k="-123" />
-<hkern u1="&#xd0;" u2="&#x201e;" k="82" />
-<hkern u1="&#xd0;" u2="&#x201a;" k="82" />
-<hkern u1="&#xd0;" u2="&#x178;" k="20" />
-<hkern u1="&#xd0;" u2="&#xdd;" k="20" />
-<hkern u1="&#xd0;" u2="&#xc5;" k="41" />
-<hkern u1="&#xd0;" u2="&#xc4;" k="41" />
-<hkern u1="&#xd0;" u2="&#xc3;" k="41" />
-<hkern u1="&#xd0;" u2="&#xc2;" k="41" />
-<hkern u1="&#xd0;" u2="&#xc1;" k="41" />
-<hkern u1="&#xd0;" u2="&#xc0;" k="41" />
-<hkern u1="&#xd0;" u2="Z" k="20" />
-<hkern u1="&#xd0;" u2="Y" k="20" />
-<hkern u1="&#xd0;" u2="X" k="41" />
-<hkern u1="&#xd0;" u2="W" k="20" />
-<hkern u1="&#xd0;" u2="V" k="20" />
-<hkern u1="&#xd0;" u2="T" k="61" />
-<hkern u1="&#xd0;" u2="A" k="41" />
-<hkern u1="&#xd0;" u2="&#x2e;" k="82" />
-<hkern u1="&#xd0;" u2="&#x2c;" k="82" />
-<hkern u1="&#xd2;" u2="&#x201e;" k="82" />
-<hkern u1="&#xd2;" u2="&#x201a;" k="82" />
-<hkern u1="&#xd2;" u2="&#x178;" k="20" />
-<hkern u1="&#xd2;" u2="&#xdd;" k="20" />
-<hkern u1="&#xd2;" u2="&#xc5;" k="41" />
-<hkern u1="&#xd2;" u2="&#xc4;" k="41" />
-<hkern u1="&#xd2;" u2="&#xc3;" k="41" />
-<hkern u1="&#xd2;" u2="&#xc2;" k="41" />
-<hkern u1="&#xd2;" u2="&#xc1;" k="41" />
-<hkern u1="&#xd2;" u2="&#xc0;" k="41" />
-<hkern u1="&#xd2;" u2="Z" k="20" />
-<hkern u1="&#xd2;" u2="Y" k="20" />
-<hkern u1="&#xd2;" u2="X" k="41" />
-<hkern u1="&#xd2;" u2="W" k="20" />
-<hkern u1="&#xd2;" u2="V" k="20" />
-<hkern u1="&#xd2;" u2="T" k="61" />
-<hkern u1="&#xd2;" u2="A" k="41" />
-<hkern u1="&#xd2;" u2="&#x2e;" k="82" />
-<hkern u1="&#xd2;" u2="&#x2c;" k="82" />
-<hkern u1="&#xd3;" u2="&#x201e;" k="82" />
-<hkern u1="&#xd3;" u2="&#x201a;" k="82" />
-<hkern u1="&#xd3;" u2="&#x178;" k="20" />
-<hkern u1="&#xd3;" u2="&#xdd;" k="20" />
-<hkern u1="&#xd3;" u2="&#xc5;" k="41" />
-<hkern u1="&#xd3;" u2="&#xc4;" k="41" />
-<hkern u1="&#xd3;" u2="&#xc3;" k="41" />
-<hkern u1="&#xd3;" u2="&#xc2;" k="41" />
-<hkern u1="&#xd3;" u2="&#xc1;" k="41" />
-<hkern u1="&#xd3;" u2="&#xc0;" k="41" />
-<hkern u1="&#xd3;" u2="Z" k="20" />
-<hkern u1="&#xd3;" u2="Y" k="20" />
-<hkern u1="&#xd3;" u2="X" k="41" />
-<hkern u1="&#xd3;" u2="W" k="20" />
-<hkern u1="&#xd3;" u2="V" k="20" />
-<hkern u1="&#xd3;" u2="T" k="61" />
-<hkern u1="&#xd3;" u2="A" k="41" />
-<hkern u1="&#xd3;" u2="&#x2e;" k="82" />
-<hkern u1="&#xd3;" u2="&#x2c;" k="82" />
-<hkern u1="&#xd4;" u2="&#x201e;" k="82" />
-<hkern u1="&#xd4;" u2="&#x201a;" k="82" />
-<hkern u1="&#xd4;" u2="&#x178;" k="20" />
-<hkern u1="&#xd4;" u2="&#xdd;" k="20" />
-<hkern u1="&#xd4;" u2="&#xc5;" k="41" />
-<hkern u1="&#xd4;" u2="&#xc4;" k="41" />
-<hkern u1="&#xd4;" u2="&#xc3;" k="41" />
-<hkern u1="&#xd4;" u2="&#xc2;" k="41" />
-<hkern u1="&#xd4;" u2="&#xc1;" k="41" />
-<hkern u1="&#xd4;" u2="&#xc0;" k="41" />
-<hkern u1="&#xd4;" u2="Z" k="20" />
-<hkern u1="&#xd4;" u2="Y" k="20" />
-<hkern u1="&#xd4;" u2="X" k="41" />
-<hkern u1="&#xd4;" u2="W" k="20" />
-<hkern u1="&#xd4;" u2="V" k="20" />
-<hkern u1="&#xd4;" u2="T" k="61" />
-<hkern u1="&#xd4;" u2="A" k="41" />
-<hkern u1="&#xd4;" u2="&#x2e;" k="82" />
-<hkern u1="&#xd4;" u2="&#x2c;" k="82" />
-<hkern u1="&#xd5;" u2="&#x201e;" k="82" />
-<hkern u1="&#xd5;" u2="&#x201a;" k="82" />
-<hkern u1="&#xd5;" u2="&#x178;" k="20" />
-<hkern u1="&#xd5;" u2="&#xdd;" k="20" />
-<hkern u1="&#xd5;" u2="&#xc5;" k="41" />
-<hkern u1="&#xd5;" u2="&#xc4;" k="41" />
-<hkern u1="&#xd5;" u2="&#xc3;" k="41" />
-<hkern u1="&#xd5;" u2="&#xc2;" k="41" />
-<hkern u1="&#xd5;" u2="&#xc1;" k="41" />
-<hkern u1="&#xd5;" u2="&#xc0;" k="41" />
-<hkern u1="&#xd5;" u2="Z" k="20" />
-<hkern u1="&#xd5;" u2="Y" k="20" />
-<hkern u1="&#xd5;" u2="X" k="41" />
-<hkern u1="&#xd5;" u2="W" k="20" />
-<hkern u1="&#xd5;" u2="V" k="20" />
-<hkern u1="&#xd5;" u2="T" k="61" />
-<hkern u1="&#xd5;" u2="A" k="41" />
-<hkern u1="&#xd5;" u2="&#x2e;" k="82" />
-<hkern u1="&#xd5;" u2="&#x2c;" k="82" />
-<hkern u1="&#xd6;" u2="&#x201e;" k="82" />
-<hkern u1="&#xd6;" u2="&#x201a;" k="82" />
-<hkern u1="&#xd6;" u2="&#x178;" k="20" />
-<hkern u1="&#xd6;" u2="&#xdd;" k="20" />
-<hkern u1="&#xd6;" u2="&#xc5;" k="41" />
-<hkern u1="&#xd6;" u2="&#xc4;" k="41" />
-<hkern u1="&#xd6;" u2="&#xc3;" k="41" />
-<hkern u1="&#xd6;" u2="&#xc2;" k="41" />
-<hkern u1="&#xd6;" u2="&#xc1;" k="41" />
-<hkern u1="&#xd6;" u2="&#xc0;" k="41" />
-<hkern u1="&#xd6;" u2="Z" k="20" />
-<hkern u1="&#xd6;" u2="Y" k="20" />
-<hkern u1="&#xd6;" u2="X" k="41" />
-<hkern u1="&#xd6;" u2="W" k="20" />
-<hkern u1="&#xd6;" u2="V" k="20" />
-<hkern u1="&#xd6;" u2="T" k="61" />
-<hkern u1="&#xd6;" u2="A" k="41" />
-<hkern u1="&#xd6;" u2="&#x2e;" k="82" />
-<hkern u1="&#xd6;" u2="&#x2c;" k="82" />
-<hkern u1="&#xd8;" u2="&#x201e;" k="82" />
-<hkern u1="&#xd8;" u2="&#x201a;" k="82" />
-<hkern u1="&#xd8;" u2="&#x178;" k="20" />
-<hkern u1="&#xd8;" u2="&#xdd;" k="20" />
-<hkern u1="&#xd8;" u2="&#xc5;" k="41" />
-<hkern u1="&#xd8;" u2="&#xc4;" k="41" />
-<hkern u1="&#xd8;" u2="&#xc3;" k="41" />
-<hkern u1="&#xd8;" u2="&#xc2;" k="41" />
-<hkern u1="&#xd8;" u2="&#xc1;" k="41" />
-<hkern u1="&#xd8;" u2="&#xc0;" k="41" />
-<hkern u1="&#xd8;" u2="Z" k="20" />
-<hkern u1="&#xd8;" u2="Y" k="20" />
-<hkern u1="&#xd8;" u2="X" k="41" />
-<hkern u1="&#xd8;" u2="W" k="20" />
-<hkern u1="&#xd8;" u2="V" k="20" />
-<hkern u1="&#xd8;" u2="T" k="61" />
-<hkern u1="&#xd8;" u2="A" k="41" />
-<hkern u1="&#xd8;" u2="&#x2e;" k="82" />
-<hkern u1="&#xd8;" u2="&#x2c;" k="82" />
-<hkern u1="&#xd9;" u2="&#x201e;" k="41" />
-<hkern u1="&#xd9;" u2="&#x201a;" k="41" />
-<hkern u1="&#xd9;" u2="&#xc5;" k="20" />
-<hkern u1="&#xd9;" u2="&#xc4;" k="20" />
-<hkern u1="&#xd9;" u2="&#xc3;" k="20" />
-<hkern u1="&#xd9;" u2="&#xc2;" k="20" />
-<hkern u1="&#xd9;" u2="&#xc1;" k="20" />
-<hkern u1="&#xd9;" u2="&#xc0;" k="20" />
-<hkern u1="&#xd9;" u2="A" k="20" />
-<hkern u1="&#xd9;" u2="&#x2e;" k="41" />
-<hkern u1="&#xd9;" u2="&#x2c;" k="41" />
-<hkern u1="&#xda;" u2="&#x201e;" k="41" />
-<hkern u1="&#xda;" u2="&#x201a;" k="41" />
-<hkern u1="&#xda;" u2="&#xc5;" k="20" />
-<hkern u1="&#xda;" u2="&#xc4;" k="20" />
-<hkern u1="&#xda;" u2="&#xc3;" k="20" />
-<hkern u1="&#xda;" u2="&#xc2;" k="20" />
-<hkern u1="&#xda;" u2="&#xc1;" k="20" />
-<hkern u1="&#xda;" u2="&#xc0;" k="20" />
-<hkern u1="&#xda;" u2="A" k="20" />
-<hkern u1="&#xda;" u2="&#x2e;" k="41" />
-<hkern u1="&#xda;" u2="&#x2c;" k="41" />
-<hkern u1="&#xdb;" u2="&#x201e;" k="41" />
-<hkern u1="&#xdb;" u2="&#x201a;" k="41" />
-<hkern u1="&#xdb;" u2="&#xc5;" k="20" />
-<hkern u1="&#xdb;" u2="&#xc4;" k="20" />
-<hkern u1="&#xdb;" u2="&#xc3;" k="20" />
-<hkern u1="&#xdb;" u2="&#xc2;" k="20" />
-<hkern u1="&#xdb;" u2="&#xc1;" k="20" />
-<hkern u1="&#xdb;" u2="&#xc0;" k="20" />
-<hkern u1="&#xdb;" u2="A" k="20" />
-<hkern u1="&#xdb;" u2="&#x2e;" k="41" />
-<hkern u1="&#xdb;" u2="&#x2c;" k="41" />
-<hkern u1="&#xdc;" u2="&#x201e;" k="41" />
-<hkern u1="&#xdc;" u2="&#x201a;" k="41" />
-<hkern u1="&#xdc;" u2="&#xc5;" k="20" />
-<hkern u1="&#xdc;" u2="&#xc4;" k="20" />
-<hkern u1="&#xdc;" u2="&#xc3;" k="20" />
-<hkern u1="&#xdc;" u2="&#xc2;" k="20" />
-<hkern u1="&#xdc;" u2="&#xc1;" k="20" />
-<hkern u1="&#xdc;" u2="&#xc0;" k="20" />
-<hkern u1="&#xdc;" u2="A" k="20" />
-<hkern u1="&#xdc;" u2="&#x2e;" k="41" />
-<hkern u1="&#xdc;" u2="&#x2c;" k="41" />
-<hkern u1="&#xdd;" u2="&#x201e;" k="123" />
-<hkern u1="&#xdd;" u2="&#x201a;" k="123" />
-<hkern u1="&#xdd;" u2="&#x153;" k="102" />
-<hkern u1="&#xdd;" u2="&#x152;" k="41" />
-<hkern u1="&#xdd;" u2="&#xfc;" k="61" />
-<hkern u1="&#xdd;" u2="&#xfb;" k="61" />
-<hkern u1="&#xdd;" u2="&#xfa;" k="61" />
-<hkern u1="&#xdd;" u2="&#xf9;" k="61" />
-<hkern u1="&#xdd;" u2="&#xf8;" k="102" />
-<hkern u1="&#xdd;" u2="&#xf6;" k="102" />
-<hkern u1="&#xdd;" u2="&#xf5;" k="102" />
-<hkern u1="&#xdd;" u2="&#xf4;" k="102" />
-<hkern u1="&#xdd;" u2="&#xf3;" k="102" />
-<hkern u1="&#xdd;" u2="&#xf2;" k="102" />
-<hkern u1="&#xdd;" u2="&#xeb;" k="102" />
-<hkern u1="&#xdd;" u2="&#xea;" k="102" />
-<hkern u1="&#xdd;" u2="&#xe9;" k="102" />
-<hkern u1="&#xdd;" u2="&#xe8;" k="102" />
-<hkern u1="&#xdd;" u2="&#xe7;" k="102" />
-<hkern u1="&#xdd;" u2="&#xe6;" k="102" />
-<hkern u1="&#xdd;" u2="&#xe5;" k="102" />
-<hkern u1="&#xdd;" u2="&#xe4;" k="102" />
-<hkern u1="&#xdd;" u2="&#xe3;" k="102" />
-<hkern u1="&#xdd;" u2="&#xe2;" k="102" />
-<hkern u1="&#xdd;" u2="&#xe1;" k="102" />
-<hkern u1="&#xdd;" u2="&#xe0;" k="102" />
-<hkern u1="&#xdd;" u2="&#xd8;" k="41" />
-<hkern u1="&#xdd;" u2="&#xd6;" k="41" />
-<hkern u1="&#xdd;" u2="&#xd5;" k="41" />
-<hkern u1="&#xdd;" u2="&#xd4;" k="41" />
-<hkern u1="&#xdd;" u2="&#xd3;" k="41" />
-<hkern u1="&#xdd;" u2="&#xd2;" k="41" />
-<hkern u1="&#xdd;" u2="&#xc7;" k="41" />
-<hkern u1="&#xdd;" u2="&#xc5;" k="123" />
-<hkern u1="&#xdd;" u2="&#xc4;" k="123" />
-<hkern u1="&#xdd;" u2="&#xc3;" k="123" />
-<hkern u1="&#xdd;" u2="&#xc2;" k="123" />
-<hkern u1="&#xdd;" u2="&#xc1;" k="123" />
-<hkern u1="&#xdd;" u2="&#xc0;" k="123" />
-<hkern u1="&#xdd;" u2="z" k="41" />
-<hkern u1="&#xdd;" u2="u" k="61" />
-<hkern u1="&#xdd;" u2="s" k="82" />
-<hkern u1="&#xdd;" u2="r" k="61" />
-<hkern u1="&#xdd;" u2="q" k="102" />
-<hkern u1="&#xdd;" u2="p" k="61" />
-<hkern u1="&#xdd;" u2="o" k="102" />
-<hkern u1="&#xdd;" u2="n" k="61" />
-<hkern u1="&#xdd;" u2="m" k="61" />
-<hkern u1="&#xdd;" u2="g" k="41" />
-<hkern u1="&#xdd;" u2="e" k="102" />
-<hkern u1="&#xdd;" u2="d" k="102" />
-<hkern u1="&#xdd;" u2="c" k="102" />
-<hkern u1="&#xdd;" u2="a" k="102" />
-<hkern u1="&#xdd;" u2="Q" k="41" />
-<hkern u1="&#xdd;" u2="O" k="41" />
-<hkern u1="&#xdd;" u2="G" k="41" />
-<hkern u1="&#xdd;" u2="C" k="41" />
-<hkern u1="&#xdd;" u2="A" k="123" />
-<hkern u1="&#xdd;" u2="&#x3f;" k="-41" />
-<hkern u1="&#xdd;" u2="&#x2e;" k="123" />
-<hkern u1="&#xdd;" u2="&#x2c;" k="123" />
-<hkern u1="&#xde;" u2="&#x201e;" k="266" />
-<hkern u1="&#xde;" u2="&#x201a;" k="266" />
-<hkern u1="&#xde;" u2="&#xc5;" k="102" />
-<hkern u1="&#xde;" u2="&#xc4;" k="102" />
-<hkern u1="&#xde;" u2="&#xc3;" k="102" />
-<hkern u1="&#xde;" u2="&#xc2;" k="102" />
-<hkern u1="&#xde;" u2="&#xc1;" k="102" />
-<hkern u1="&#xde;" u2="&#xc0;" k="102" />
-<hkern u1="&#xde;" u2="Z" k="20" />
-<hkern u1="&#xde;" u2="X" k="41" />
-<hkern u1="&#xde;" u2="A" k="102" />
-<hkern u1="&#xde;" u2="&#x2e;" k="266" />
-<hkern u1="&#xde;" u2="&#x2c;" k="266" />
-<hkern u1="&#xe0;" u2="&#x201d;" k="20" />
-<hkern u1="&#xe0;" u2="&#x2019;" k="20" />
-<hkern u1="&#xe0;" u2="&#x27;" k="20" />
-<hkern u1="&#xe0;" u2="&#x22;" k="20" />
-<hkern u1="&#xe1;" u2="&#x201d;" k="20" />
-<hkern u1="&#xe1;" u2="&#x2019;" k="20" />
-<hkern u1="&#xe1;" u2="&#x27;" k="20" />
-<hkern u1="&#xe1;" u2="&#x22;" k="20" />
-<hkern u1="&#xe2;" u2="&#x201d;" k="20" />
-<hkern u1="&#xe2;" u2="&#x2019;" k="20" />
-<hkern u1="&#xe2;" u2="&#x27;" k="20" />
-<hkern u1="&#xe2;" u2="&#x22;" k="20" />
-<hkern u1="&#xe3;" u2="&#x201d;" k="20" />
-<hkern u1="&#xe3;" u2="&#x2019;" k="20" />
-<hkern u1="&#xe3;" u2="&#x27;" k="20" />
-<hkern u1="&#xe3;" u2="&#x22;" k="20" />
-<hkern u1="&#xe4;" u2="&#x201d;" k="20" />
-<hkern u1="&#xe4;" u2="&#x2019;" k="20" />
-<hkern u1="&#xe4;" u2="&#x27;" k="20" />
-<hkern u1="&#xe4;" u2="&#x22;" k="20" />
-<hkern u1="&#xe5;" u2="&#x201d;" k="20" />
-<hkern u1="&#xe5;" u2="&#x2019;" k="20" />
-<hkern u1="&#xe5;" u2="&#x27;" k="20" />
-<hkern u1="&#xe5;" u2="&#x22;" k="20" />
-<hkern u1="&#xe8;" u2="&#x201d;" k="20" />
-<hkern u1="&#xe8;" u2="&#x2019;" k="20" />
-<hkern u1="&#xe8;" u2="&#xfd;" k="41" />
-<hkern u1="&#xe8;" u2="z" k="20" />
-<hkern u1="&#xe8;" u2="y" k="41" />
-<hkern u1="&#xe8;" u2="x" k="41" />
-<hkern u1="&#xe8;" u2="w" k="41" />
-<hkern u1="&#xe8;" u2="v" k="41" />
-<hkern u1="&#xe8;" u2="&#x27;" k="20" />
-<hkern u1="&#xe8;" u2="&#x22;" k="20" />
-<hkern u1="&#xe9;" u2="&#x201d;" k="20" />
-<hkern u1="&#xe9;" u2="&#x2019;" k="20" />
-<hkern u1="&#xe9;" u2="&#xfd;" k="41" />
-<hkern u1="&#xe9;" u2="z" k="20" />
-<hkern u1="&#xe9;" u2="y" k="41" />
-<hkern u1="&#xe9;" u2="x" k="41" />
-<hkern u1="&#xe9;" u2="w" k="41" />
-<hkern u1="&#xe9;" u2="v" k="41" />
-<hkern u1="&#xe9;" u2="&#x27;" k="20" />
-<hkern u1="&#xe9;" u2="&#x22;" k="20" />
-<hkern u1="&#xea;" u2="&#x201d;" k="20" />
-<hkern u1="&#xea;" u2="&#x2019;" k="20" />
-<hkern u1="&#xea;" u2="&#xfd;" k="41" />
-<hkern u1="&#xea;" u2="z" k="20" />
-<hkern u1="&#xea;" u2="y" k="41" />
-<hkern u1="&#xea;" u2="x" k="41" />
-<hkern u1="&#xea;" u2="w" k="41" />
-<hkern u1="&#xea;" u2="v" k="41" />
-<hkern u1="&#xea;" u2="&#x27;" k="20" />
-<hkern u1="&#xea;" u2="&#x22;" k="20" />
-<hkern u1="&#xeb;" u2="&#x201d;" k="20" />
-<hkern u1="&#xeb;" u2="&#x2019;" k="20" />
-<hkern u1="&#xeb;" u2="&#xfd;" k="41" />
-<hkern u1="&#xeb;" u2="z" k="20" />
-<hkern u1="&#xeb;" u2="y" k="41" />
-<hkern u1="&#xeb;" u2="x" k="41" />
-<hkern u1="&#xeb;" u2="w" k="41" />
-<hkern u1="&#xeb;" u2="v" k="41" />
-<hkern u1="&#xeb;" u2="&#x27;" k="20" />
-<hkern u1="&#xeb;" u2="&#x22;" k="20" />
-<hkern u1="&#xf0;" u2="&#x201d;" k="20" />
-<hkern u1="&#xf0;" u2="&#x2019;" k="20" />
-<hkern u1="&#xf0;" u2="&#xfd;" k="41" />
-<hkern u1="&#xf0;" u2="z" k="20" />
-<hkern u1="&#xf0;" u2="y" k="41" />
-<hkern u1="&#xf0;" u2="x" k="41" />
-<hkern u1="&#xf0;" u2="w" k="41" />
-<hkern u1="&#xf0;" u2="v" k="41" />
-<hkern u1="&#xf0;" u2="&#x27;" k="20" />
-<hkern u1="&#xf0;" u2="&#x22;" k="20" />
-<hkern u1="&#xf2;" u2="&#x201d;" k="20" />
-<hkern u1="&#xf2;" u2="&#x2019;" k="20" />
-<hkern u1="&#xf2;" u2="&#xfd;" k="41" />
-<hkern u1="&#xf2;" u2="z" k="20" />
-<hkern u1="&#xf2;" u2="y" k="41" />
-<hkern u1="&#xf2;" u2="x" k="41" />
-<hkern u1="&#xf2;" u2="w" k="41" />
-<hkern u1="&#xf2;" u2="v" k="41" />
-<hkern u1="&#xf2;" u2="&#x27;" k="20" />
-<hkern u1="&#xf2;" u2="&#x22;" k="20" />
-<hkern u1="&#xf3;" u2="&#x201d;" k="20" />
-<hkern u1="&#xf3;" u2="&#x2019;" k="20" />
-<hkern u1="&#xf3;" u2="&#xfd;" k="41" />
-<hkern u1="&#xf3;" u2="z" k="20" />
-<hkern u1="&#xf3;" u2="y" k="41" />
-<hkern u1="&#xf3;" u2="x" k="41" />
-<hkern u1="&#xf3;" u2="w" k="41" />
-<hkern u1="&#xf3;" u2="v" k="41" />
-<hkern u1="&#xf3;" u2="&#x27;" k="20" />
-<hkern u1="&#xf3;" u2="&#x22;" k="20" />
-<hkern u1="&#xf4;" u2="&#x201d;" k="20" />
-<hkern u1="&#xf4;" u2="&#x2019;" k="20" />
-<hkern u1="&#xf4;" u2="&#xfd;" k="41" />
-<hkern u1="&#xf4;" u2="z" k="20" />
-<hkern u1="&#xf4;" u2="y" k="41" />
-<hkern u1="&#xf4;" u2="x" k="41" />
-<hkern u1="&#xf4;" u2="w" k="41" />
-<hkern u1="&#xf4;" u2="v" k="41" />
-<hkern u1="&#xf4;" u2="&#x27;" k="20" />
-<hkern u1="&#xf4;" u2="&#x22;" k="20" />
-<hkern u1="&#xf6;" u2="&#x201d;" k="41" />
-<hkern u1="&#xf6;" u2="&#x2019;" k="41" />
-<hkern u1="&#xf6;" u2="&#x27;" k="41" />
-<hkern u1="&#xf6;" u2="&#x22;" k="41" />
-<hkern u1="&#xf8;" u2="&#x201d;" k="20" />
-<hkern u1="&#xf8;" u2="&#x2019;" k="20" />
-<hkern u1="&#xf8;" u2="&#xfd;" k="41" />
-<hkern u1="&#xf8;" u2="z" k="20" />
-<hkern u1="&#xf8;" u2="y" k="41" />
-<hkern u1="&#xf8;" u2="x" k="41" />
-<hkern u1="&#xf8;" u2="w" k="41" />
-<hkern u1="&#xf8;" u2="v" k="41" />
-<hkern u1="&#xf8;" u2="&#x27;" k="20" />
-<hkern u1="&#xf8;" u2="&#x22;" k="20" />
-<hkern u1="&#xfd;" u2="&#x201e;" k="82" />
-<hkern u1="&#xfd;" u2="&#x201d;" k="-82" />
-<hkern u1="&#xfd;" u2="&#x201a;" k="82" />
-<hkern u1="&#xfd;" u2="&#x2019;" k="-82" />
-<hkern u1="&#xfd;" u2="&#x3f;" k="-41" />
-<hkern u1="&#xfd;" u2="&#x2e;" k="82" />
-<hkern u1="&#xfd;" u2="&#x2c;" k="82" />
-<hkern u1="&#xfd;" u2="&#x27;" k="-82" />
-<hkern u1="&#xfd;" u2="&#x22;" k="-82" />
-<hkern u1="&#xfe;" u2="&#x201d;" k="20" />
-<hkern u1="&#xfe;" u2="&#x2019;" k="20" />
-<hkern u1="&#xfe;" u2="&#xfd;" k="41" />
-<hkern u1="&#xfe;" u2="z" k="20" />
-<hkern u1="&#xfe;" u2="y" k="41" />
-<hkern u1="&#xfe;" u2="x" k="41" />
-<hkern u1="&#xfe;" u2="w" k="41" />
-<hkern u1="&#xfe;" u2="v" k="41" />
-<hkern u1="&#xfe;" u2="&#x27;" k="20" />
-<hkern u1="&#xfe;" u2="&#x22;" k="20" />
-<hkern u1="&#xff;" u2="&#x201e;" k="82" />
-<hkern u1="&#xff;" u2="&#x201d;" k="-82" />
-<hkern u1="&#xff;" u2="&#x201a;" k="82" />
-<hkern u1="&#xff;" u2="&#x2019;" k="-82" />
-<hkern u1="&#xff;" u2="&#x3f;" k="-41" />
-<hkern u1="&#xff;" u2="&#x2e;" k="82" />
-<hkern u1="&#xff;" u2="&#x2c;" k="82" />
-<hkern u1="&#xff;" u2="&#x27;" k="-82" />
-<hkern u1="&#xff;" u2="&#x22;" k="-82" />
-<hkern u1="&#x152;" u2="J" k="-123" />
-<hkern u1="&#x178;" u2="&#x201e;" k="123" />
-<hkern u1="&#x178;" u2="&#x201a;" k="123" />
-<hkern u1="&#x178;" u2="&#x153;" k="102" />
-<hkern u1="&#x178;" u2="&#x152;" k="41" />
-<hkern u1="&#x178;" u2="&#xfc;" k="61" />
-<hkern u1="&#x178;" u2="&#xfb;" k="61" />
-<hkern u1="&#x178;" u2="&#xfa;" k="61" />
-<hkern u1="&#x178;" u2="&#xf9;" k="61" />
-<hkern u1="&#x178;" u2="&#xf8;" k="102" />
-<hkern u1="&#x178;" u2="&#xf6;" k="102" />
-<hkern u1="&#x178;" u2="&#xf5;" k="102" />
-<hkern u1="&#x178;" u2="&#xf4;" k="102" />
-<hkern u1="&#x178;" u2="&#xf3;" k="102" />
-<hkern u1="&#x178;" u2="&#xf2;" k="102" />
-<hkern u1="&#x178;" u2="&#xeb;" k="102" />
-<hkern u1="&#x178;" u2="&#xea;" k="102" />
-<hkern u1="&#x178;" u2="&#xe9;" k="102" />
-<hkern u1="&#x178;" u2="&#xe8;" k="102" />
-<hkern u1="&#x178;" u2="&#xe7;" k="102" />
-<hkern u1="&#x178;" u2="&#xe6;" k="102" />
-<hkern u1="&#x178;" u2="&#xe5;" k="102" />
-<hkern u1="&#x178;" u2="&#xe4;" k="102" />
-<hkern u1="&#x178;" u2="&#xe3;" k="102" />
-<hkern u1="&#x178;" u2="&#xe2;" k="102" />
-<hkern u1="&#x178;" u2="&#xe1;" k="102" />
-<hkern u1="&#x178;" u2="&#xe0;" k="102" />
-<hkern u1="&#x178;" u2="&#xd8;" k="41" />
-<hkern u1="&#x178;" u2="&#xd6;" k="41" />
-<hkern u1="&#x178;" u2="&#xd5;" k="41" />
-<hkern u1="&#x178;" u2="&#xd4;" k="41" />
-<hkern u1="&#x178;" u2="&#xd3;" k="41" />
-<hkern u1="&#x178;" u2="&#xd2;" k="41" />
-<hkern u1="&#x178;" u2="&#xc7;" k="41" />
-<hkern u1="&#x178;" u2="&#xc5;" k="123" />
-<hkern u1="&#x178;" u2="&#xc4;" k="123" />
-<hkern u1="&#x178;" u2="&#xc3;" k="123" />
-<hkern u1="&#x178;" u2="&#xc2;" k="123" />
-<hkern u1="&#x178;" u2="&#xc1;" k="123" />
-<hkern u1="&#x178;" u2="&#xc0;" k="123" />
-<hkern u1="&#x178;" u2="z" k="41" />
-<hkern u1="&#x178;" u2="u" k="61" />
-<hkern u1="&#x178;" u2="s" k="82" />
-<hkern u1="&#x178;" u2="r" k="61" />
-<hkern u1="&#x178;" u2="q" k="102" />
-<hkern u1="&#x178;" u2="p" k="61" />
-<hkern u1="&#x178;" u2="o" k="102" />
-<hkern u1="&#x178;" u2="n" k="61" />
-<hkern u1="&#x178;" u2="m" k="61" />
-<hkern u1="&#x178;" u2="g" k="41" />
-<hkern u1="&#x178;" u2="e" k="102" />
-<hkern u1="&#x178;" u2="d" k="102" />
-<hkern u1="&#x178;" u2="c" k="102" />
-<hkern u1="&#x178;" u2="a" k="102" />
-<hkern u1="&#x178;" u2="Q" k="41" />
-<hkern u1="&#x178;" u2="O" k="41" />
-<hkern u1="&#x178;" u2="G" k="41" />
-<hkern u1="&#x178;" u2="C" k="41" />
-<hkern u1="&#x178;" u2="A" k="123" />
-<hkern u1="&#x178;" u2="&#x3f;" k="-41" />
-<hkern u1="&#x178;" u2="&#x2e;" k="123" />
-<hkern u1="&#x178;" u2="&#x2c;" k="123" />
-<hkern u1="&#x2013;" u2="T" k="82" />
-<hkern u1="&#x2014;" u2="T" k="82" />
-<hkern u1="&#x2018;" u2="&#x178;" k="-20" />
-<hkern u1="&#x2018;" u2="&#x153;" k="123" />
-<hkern u1="&#x2018;" u2="&#xfc;" k="61" />
-<hkern u1="&#x2018;" u2="&#xfb;" k="61" />
-<hkern u1="&#x2018;" u2="&#xfa;" k="61" />
-<hkern u1="&#x2018;" u2="&#xf9;" k="61" />
-<hkern u1="&#x2018;" u2="&#xf8;" k="123" />
-<hkern u1="&#x2018;" u2="&#xf6;" k="123" />
-<hkern u1="&#x2018;" u2="&#xf5;" k="123" />
-<hkern u1="&#x2018;" u2="&#xf4;" k="123" />
-<hkern u1="&#x2018;" u2="&#xf3;" k="123" />
-<hkern u1="&#x2018;" u2="&#xf2;" k="123" />
-<hkern u1="&#x2018;" u2="&#xeb;" k="123" />
-<hkern u1="&#x2018;" u2="&#xea;" k="123" />
-<hkern u1="&#x2018;" u2="&#xe9;" k="123" />
-<hkern u1="&#x2018;" u2="&#xe8;" k="123" />
-<hkern u1="&#x2018;" u2="&#xe7;" k="123" />
-<hkern u1="&#x2018;" u2="&#xe6;" k="82" />
-<hkern u1="&#x2018;" u2="&#xe5;" k="82" />
-<hkern u1="&#x2018;" u2="&#xe4;" k="82" />
-<hkern u1="&#x2018;" u2="&#xe3;" k="82" />
-<hkern u1="&#x2018;" u2="&#xe2;" k="82" />
-<hkern u1="&#x2018;" u2="&#xe1;" k="82" />
-<hkern u1="&#x2018;" u2="&#xe0;" k="123" />
-<hkern u1="&#x2018;" u2="&#xdd;" k="-20" />
-<hkern u1="&#x2018;" u2="&#xc5;" k="143" />
-<hkern u1="&#x2018;" u2="&#xc4;" k="143" />
-<hkern u1="&#x2018;" u2="&#xc3;" k="143" />
-<hkern u1="&#x2018;" u2="&#xc2;" k="143" />
-<hkern u1="&#x2018;" u2="&#xc1;" k="143" />
-<hkern u1="&#x2018;" u2="&#xc0;" k="143" />
-<hkern u1="&#x2018;" u2="u" k="61" />
-<hkern u1="&#x2018;" u2="s" k="61" />
-<hkern u1="&#x2018;" u2="r" k="61" />
-<hkern u1="&#x2018;" u2="q" k="123" />
-<hkern u1="&#x2018;" u2="p" k="61" />
-<hkern u1="&#x2018;" u2="o" k="123" />
-<hkern u1="&#x2018;" u2="n" k="61" />
-<hkern u1="&#x2018;" u2="m" k="61" />
-<hkern u1="&#x2018;" u2="g" k="61" />
-<hkern u1="&#x2018;" u2="e" k="123" />
-<hkern u1="&#x2018;" u2="d" k="123" />
-<hkern u1="&#x2018;" u2="c" k="123" />
-<hkern u1="&#x2018;" u2="a" k="82" />
-<hkern u1="&#x2018;" u2="Y" k="-20" />
-<hkern u1="&#x2018;" u2="W" k="-41" />
-<hkern u1="&#x2018;" u2="V" k="-41" />
-<hkern u1="&#x2018;" u2="T" k="-41" />
-<hkern u1="&#x2018;" u2="A" k="143" />
-<hkern u1="&#x2019;" u2="&#x178;" k="-20" />
-<hkern u1="&#x2019;" u2="&#x153;" k="123" />
-<hkern u1="&#x2019;" u2="&#xfc;" k="61" />
-<hkern u1="&#x2019;" u2="&#xfb;" k="61" />
-<hkern u1="&#x2019;" u2="&#xfa;" k="61" />
-<hkern u1="&#x2019;" u2="&#xf9;" k="61" />
-<hkern u1="&#x2019;" u2="&#xf8;" k="123" />
-<hkern u1="&#x2019;" u2="&#xf6;" k="123" />
-<hkern u1="&#x2019;" u2="&#xf5;" k="123" />
-<hkern u1="&#x2019;" u2="&#xf4;" k="123" />
-<hkern u1="&#x2019;" u2="&#xf3;" k="123" />
-<hkern u1="&#x2019;" u2="&#xf2;" k="123" />
-<hkern u1="&#x2019;" u2="&#xeb;" k="123" />
-<hkern u1="&#x2019;" u2="&#xea;" k="123" />
-<hkern u1="&#x2019;" u2="&#xe9;" k="123" />
-<hkern u1="&#x2019;" u2="&#xe8;" k="123" />
-<hkern u1="&#x2019;" u2="&#xe7;" k="123" />
-<hkern u1="&#x2019;" u2="&#xe6;" k="82" />
-<hkern u1="&#x2019;" u2="&#xe5;" k="82" />
-<hkern u1="&#x2019;" u2="&#xe4;" k="82" />
-<hkern u1="&#x2019;" u2="&#xe3;" k="82" />
-<hkern u1="&#x2019;" u2="&#xe2;" k="82" />
-<hkern u1="&#x2019;" u2="&#xe1;" k="82" />
-<hkern u1="&#x2019;" u2="&#xe0;" k="123" />
-<hkern u1="&#x2019;" u2="&#xdd;" k="-20" />
-<hkern u1="&#x2019;" u2="&#xc5;" k="143" />
-<hkern u1="&#x2019;" u2="&#xc4;" k="143" />
-<hkern u1="&#x2019;" u2="&#xc3;" k="143" />
-<hkern u1="&#x2019;" u2="&#xc2;" k="143" />
-<hkern u1="&#x2019;" u2="&#xc1;" k="143" />
-<hkern u1="&#x2019;" u2="&#xc0;" k="143" />
-<hkern u1="&#x2019;" u2="u" k="61" />
-<hkern u1="&#x2019;" u2="s" k="61" />
-<hkern u1="&#x2019;" u2="r" k="61" />
-<hkern u1="&#x2019;" u2="q" k="123" />
-<hkern u1="&#x2019;" u2="p" k="61" />
-<hkern u1="&#x2019;" u2="o" k="123" />
-<hkern u1="&#x2019;" u2="n" k="61" />
-<hkern u1="&#x2019;" u2="m" k="61" />
-<hkern u1="&#x2019;" u2="g" k="61" />
-<hkern u1="&#x2019;" u2="e" k="123" />
-<hkern u1="&#x2019;" u2="d" k="123" />
-<hkern u1="&#x2019;" u2="c" k="123" />
-<hkern u1="&#x2019;" u2="a" k="82" />
-<hkern u1="&#x2019;" u2="Y" k="-20" />
-<hkern u1="&#x2019;" u2="W" k="-41" />
-<hkern u1="&#x2019;" u2="V" k="-41" />
-<hkern u1="&#x2019;" u2="T" k="-41" />
-<hkern u1="&#x2019;" u2="A" k="143" />
-<hkern u1="&#x201a;" u2="&#x178;" k="123" />
-<hkern u1="&#x201a;" u2="&#x152;" k="102" />
-<hkern u1="&#x201a;" u2="&#xdd;" k="123" />
-<hkern u1="&#x201a;" u2="&#xdc;" k="41" />
-<hkern u1="&#x201a;" u2="&#xdb;" k="41" />
-<hkern u1="&#x201a;" u2="&#xda;" k="41" />
-<hkern u1="&#x201a;" u2="&#xd9;" k="41" />
-<hkern u1="&#x201a;" u2="&#xd8;" k="102" />
-<hkern u1="&#x201a;" u2="&#xd6;" k="102" />
-<hkern u1="&#x201a;" u2="&#xd5;" k="102" />
-<hkern u1="&#x201a;" u2="&#xd4;" k="102" />
-<hkern u1="&#x201a;" u2="&#xd3;" k="102" />
-<hkern u1="&#x201a;" u2="&#xd2;" k="102" />
-<hkern u1="&#x201a;" u2="&#xc7;" k="102" />
-<hkern u1="&#x201a;" u2="Y" k="123" />
-<hkern u1="&#x201a;" u2="W" k="123" />
-<hkern u1="&#x201a;" u2="V" k="123" />
-<hkern u1="&#x201a;" u2="U" k="41" />
-<hkern u1="&#x201a;" u2="T" k="143" />
-<hkern u1="&#x201a;" u2="Q" k="102" />
-<hkern u1="&#x201a;" u2="O" k="102" />
-<hkern u1="&#x201a;" u2="G" k="102" />
-<hkern u1="&#x201a;" u2="C" k="102" />
-<hkern u1="&#x201c;" u2="&#x178;" k="-20" />
-<hkern u1="&#x201c;" u2="&#x153;" k="123" />
-<hkern u1="&#x201c;" u2="&#xfc;" k="61" />
-<hkern u1="&#x201c;" u2="&#xfb;" k="61" />
-<hkern u1="&#x201c;" u2="&#xfa;" k="61" />
-<hkern u1="&#x201c;" u2="&#xf9;" k="61" />
-<hkern u1="&#x201c;" u2="&#xf8;" k="123" />
-<hkern u1="&#x201c;" u2="&#xf6;" k="123" />
-<hkern u1="&#x201c;" u2="&#xf5;" k="123" />
-<hkern u1="&#x201c;" u2="&#xf4;" k="123" />
-<hkern u1="&#x201c;" u2="&#xf3;" k="123" />
-<hkern u1="&#x201c;" u2="&#xf2;" k="123" />
-<hkern u1="&#x201c;" u2="&#xeb;" k="123" />
-<hkern u1="&#x201c;" u2="&#xea;" k="123" />
-<hkern u1="&#x201c;" u2="&#xe9;" k="123" />
-<hkern u1="&#x201c;" u2="&#xe8;" k="123" />
-<hkern u1="&#x201c;" u2="&#xe7;" k="123" />
-<hkern u1="&#x201c;" u2="&#xe6;" k="82" />
-<hkern u1="&#x201c;" u2="&#xe5;" k="82" />
-<hkern u1="&#x201c;" u2="&#xe4;" k="82" />
-<hkern u1="&#x201c;" u2="&#xe3;" k="82" />
-<hkern u1="&#x201c;" u2="&#xe2;" k="82" />
-<hkern u1="&#x201c;" u2="&#xe1;" k="82" />
-<hkern u1="&#x201c;" u2="&#xe0;" k="123" />
-<hkern u1="&#x201c;" u2="&#xdd;" k="-20" />
-<hkern u1="&#x201c;" u2="&#xc5;" k="143" />
-<hkern u1="&#x201c;" u2="&#xc4;" k="143" />
-<hkern u1="&#x201c;" u2="&#xc3;" k="143" />
-<hkern u1="&#x201c;" u2="&#xc2;" k="143" />
-<hkern u1="&#x201c;" u2="&#xc1;" k="143" />
-<hkern u1="&#x201c;" u2="&#xc0;" k="143" />
-<hkern u1="&#x201c;" u2="u" k="61" />
-<hkern u1="&#x201c;" u2="s" k="61" />
-<hkern u1="&#x201c;" u2="r" k="61" />
-<hkern u1="&#x201c;" u2="q" k="123" />
-<hkern u1="&#x201c;" u2="p" k="61" />
-<hkern u1="&#x201c;" u2="o" k="123" />
-<hkern u1="&#x201c;" u2="n" k="61" />
-<hkern u1="&#x201c;" u2="m" k="61" />
-<hkern u1="&#x201c;" u2="g" k="61" />
-<hkern u1="&#x201c;" u2="e" k="123" />
-<hkern u1="&#x201c;" u2="d" k="123" />
-<hkern u1="&#x201c;" u2="c" k="123" />
-<hkern u1="&#x201c;" u2="a" k="82" />
-<hkern u1="&#x201c;" u2="Y" k="-20" />
-<hkern u1="&#x201c;" u2="W" k="-41" />
-<hkern u1="&#x201c;" u2="V" k="-41" />
-<hkern u1="&#x201c;" u2="T" k="-41" />
-<hkern u1="&#x201c;" u2="A" k="143" />
-<hkern u1="&#x201e;" u2="&#x178;" k="123" />
-<hkern u1="&#x201e;" u2="&#x152;" k="102" />
-<hkern u1="&#x201e;" u2="&#xdd;" k="123" />
-<hkern u1="&#x201e;" u2="&#xdc;" k="41" />
-<hkern u1="&#x201e;" u2="&#xdb;" k="41" />
-<hkern u1="&#x201e;" u2="&#xda;" k="41" />
-<hkern u1="&#x201e;" u2="&#xd9;" k="41" />
-<hkern u1="&#x201e;" u2="&#xd8;" k="102" />
-<hkern u1="&#x201e;" u2="&#xd6;" k="102" />
-<hkern u1="&#x201e;" u2="&#xd5;" k="102" />
-<hkern u1="&#x201e;" u2="&#xd4;" k="102" />
-<hkern u1="&#x201e;" u2="&#xd3;" k="102" />
-<hkern u1="&#x201e;" u2="&#xd2;" k="102" />
-<hkern u1="&#x201e;" u2="&#xc7;" k="102" />
-<hkern u1="&#x201e;" u2="Y" k="123" />
-<hkern u1="&#x201e;" u2="W" k="123" />
-<hkern u1="&#x201e;" u2="V" k="123" />
-<hkern u1="&#x201e;" u2="U" k="41" />
-<hkern u1="&#x201e;" u2="T" k="143" />
-<hkern u1="&#x201e;" u2="Q" k="102" />
-<hkern u1="&#x201e;" u2="O" k="102" />
-<hkern u1="&#x201e;" u2="G" k="102" />
-<hkern u1="&#x201e;" u2="C" k="102" />
-</font>
-</defs></svg> \ No newline at end of file
diff --git a/documentation/jsapi/fonts/OpenSans-Italic-webfont.woff b/documentation/jsapi/fonts/OpenSans-Italic-webfont.woff
deleted file mode 100644
index ff652e6435..0000000000
--- a/documentation/jsapi/fonts/OpenSans-Italic-webfont.woff
+++ /dev/null
Binary files differ
diff --git a/documentation/jsapi/fonts/OpenSans-Light-webfont.eot b/documentation/jsapi/fonts/OpenSans-Light-webfont.eot
deleted file mode 100644
index 14868406aa..0000000000
--- a/documentation/jsapi/fonts/OpenSans-Light-webfont.eot
+++ /dev/null
Binary files differ
diff --git a/documentation/jsapi/fonts/OpenSans-Light-webfont.svg b/documentation/jsapi/fonts/OpenSans-Light-webfont.svg
deleted file mode 100644
index 11a472ca8a..0000000000
--- a/documentation/jsapi/fonts/OpenSans-Light-webfont.svg
+++ /dev/null
@@ -1,1831 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
-<svg xmlns="http://www.w3.org/2000/svg">
-<metadata></metadata>
-<defs>
-<font id="open_sanslight" horiz-adv-x="1169" >
-<font-face units-per-em="2048" ascent="1638" descent="-410" />
-<missing-glyph horiz-adv-x="532" />
-<glyph unicode="&#xfb01;" horiz-adv-x="1077" d="M29 0zM586 1001h-256v-1001h-99v1001h-202v58l202 37v84q0 200 73.5 293.5t240.5 93.5q90 0 180 -27l-23 -86q-80 25 -159 25q-116 0 -164.5 -68.5t-48.5 -222.5v-101h256v-86zM895 0h-99v1087h99v-1087zM782 1389q0 96 63 96q31 0 48.5 -25t17.5 -71q0 -45 -17.5 -71 t-48.5 -26q-63 0 -63 97z" />
-<glyph unicode="&#xfb02;" horiz-adv-x="1077" d="M29 0zM586 1001h-256v-1001h-99v1001h-202v58l202 37v84q0 200 73.5 293.5t240.5 93.5q90 0 180 -27l-23 -86q-80 25 -159 25q-116 0 -164.5 -68.5t-48.5 -222.5v-101h256v-86zM895 0h-99v1556h99v-1556z" />
-<glyph unicode="&#xfb03;" horiz-adv-x="1692" d="M29 0zM586 1001h-256v-1001h-99v1001h-202v58l202 37v84q0 200 73.5 293.5t240.5 93.5q90 0 180 -27l-23 -86q-80 25 -159 25q-116 0 -164.5 -68.5t-48.5 -222.5v-101h256v-86zM1200 1001h-256v-1001h-99v1001h-202v58l202 37v84q0 200 73.5 293.5t240.5 93.5 q90 0 180 -27l-23 -86q-80 25 -159 25q-116 0 -164.5 -68.5t-48.5 -222.5v-101h256v-86zM1510 0h-99v1087h99v-1087zM1397 1389q0 96 63 96q31 0 48.5 -25t17.5 -71q0 -45 -17.5 -71t-48.5 -26q-63 0 -63 97z" />
-<glyph unicode="&#xfb04;" horiz-adv-x="1692" d="M29 0zM586 1001h-256v-1001h-99v1001h-202v58l202 37v84q0 200 73.5 293.5t240.5 93.5q90 0 180 -27l-23 -86q-80 25 -159 25q-116 0 -164.5 -68.5t-48.5 -222.5v-101h256v-86zM1200 1001h-256v-1001h-99v1001h-202v58l202 37v84q0 200 73.5 293.5t240.5 93.5 q90 0 180 -27l-23 -86q-80 25 -159 25q-116 0 -164.5 -68.5t-48.5 -222.5v-101h256v-86zM1510 0h-99v1556h99v-1556z" />
-<glyph horiz-adv-x="2048" />
-<glyph horiz-adv-x="2048" />
-<glyph unicode="&#xd;" horiz-adv-x="1044" />
-<glyph unicode=" " horiz-adv-x="532" />
-<glyph unicode="&#x09;" horiz-adv-x="532" />
-<glyph unicode="&#xa0;" horiz-adv-x="532" />
-<glyph unicode="!" horiz-adv-x="492" d="M276 377h-61l-29 1085h119zM164 78q0 98 80 98q82 0 82 -98t-82 -98q-80 0 -80 98z" />
-<glyph unicode="&#x22;" horiz-adv-x="723" d="M260 1462l-33 -528h-61l-33 528h127zM590 1462l-33 -528h-61l-33 528h127z" />
-<glyph unicode="#" horiz-adv-x="1323" d="M967 928l-76 -398h303v-79h-320l-86 -451h-90l88 451h-360l-86 -451h-88l86 451h-283v79h299l76 398h-297v80h311l86 454h91l-89 -454h365l88 454h86l-88 -454h285v-80h-301zM440 530h363l78 398h-363z" />
-<glyph unicode="$" d="M991 440q0 -133 -99 -217t-274 -106v-236h-81v232q-92 2 -200.5 22.5t-172.5 50.5v103q75 -36 179.5 -61t193.5 -25v508q-145 44 -215 88t-102 104t-32 146q0 124 94.5 208.5t254.5 104.5v192h81v-190q197 -9 351 -72l-33 -90q-141 62 -318 72v-486q213 -66 293 -144 t80 -204zM881 444q0 85 -63 140.5t-200 95.5v-471q122 13 192.5 75t70.5 160zM297 1049q0 -86 57 -141t183 -93v453q-119 -16 -179.5 -76t-60.5 -143z" />
-<glyph unicode="%" horiz-adv-x="1653" d="M211 1026q0 -186 45 -279.5t141 -93.5q193 0 193 373q0 184 -49.5 276.5t-143.5 92.5q-96 0 -141 -92.5t-45 -276.5zM688 1026q0 -226 -75 -343.5t-216 -117.5q-133 0 -208.5 120.5t-75.5 340.5q0 223 72 340t212 117q139 0 215 -120.5t76 -336.5zM1063 438 q0 -185 45 -277.5t141 -92.5q193 0 193 370q0 369 -193 369q-96 0 -141 -91.5t-45 -277.5zM1540 438q0 -226 -74 -343.5t-215 -117.5q-136 0 -211 121.5t-75 339.5q0 225 73.5 341t212.5 116q137 0 213 -120t76 -337zM1280 1462l-811 -1462h-96l811 1462h96z" />
-<glyph unicode="&#x26;" horiz-adv-x="1460" d="M123 371q0 138 73.5 235t274.5 205l-75 82q-66 71 -98 139t-32 142q0 143 95.5 227t256.5 84q155 0 245.5 -81t90.5 -224q0 -105 -70 -192.5t-253 -194.5l452 -457q61 72 104 157t75 201h96q-63 -246 -209 -426l266 -268h-135l-193 197q-92 -90 -164 -131.5t-157.5 -63.5 t-194.5 -22q-209 0 -328.5 103t-119.5 288zM578 70q128 0 234.5 43.5t209.5 146.5l-483 485q-136 -72 -196.5 -122.5t-88 -109.5t-27.5 -138q0 -143 93 -224t258 -81zM373 1176q0 -79 40 -146t152 -174q159 85 221 159t62 169q0 94 -62 152.5t-168 58.5q-114 0 -179.5 -58 t-65.5 -161z" />
-<glyph unicode="'" horiz-adv-x="393" d="M260 1462l-33 -528h-61l-33 528h127z" />
-<glyph unicode="(" horiz-adv-x="557" d="M82 561q0 265 77.5 496t223.5 405h113q-148 -182 -227 -412.5t-79 -486.5q0 -483 304 -887h-111q-147 170 -224 397t-77 488z" />
-<glyph unicode=")" horiz-adv-x="557" d="M475 561q0 -263 -77.5 -490t-223.5 -395h-111q304 404 304 887q0 257 -79 487.5t-227 411.5h113q147 -175 224 -406.5t77 -494.5z" />
-<glyph unicode="*" horiz-adv-x="1128" d="M631 1556l-37 -405l405 104l21 -131l-395 -39l247 -340l-124 -71l-191 379l-180 -379l-125 71l242 340l-390 39l19 131l401 -104l-39 405h146z" />
-<glyph unicode="+" d="M625 764h434v-82h-434v-432h-82v432h-432v82h432v434h82v-434z" />
-<glyph unicode="," horiz-adv-x="440" d="M295 238l12 -21q-75 -265 -174 -481h-65q77 275 110 502h117z" />
-<glyph unicode="-" horiz-adv-x="659" d="M92 512v82h475v-82h-475z" />
-<glyph unicode="." horiz-adv-x="487" d="M162 78q0 98 80 98q82 0 82 -98t-82 -98q-80 0 -80 98z" />
-<glyph unicode="/" horiz-adv-x="698" d="M674 1462l-545 -1462h-104l544 1462h105z" />
-<glyph unicode="0" d="M1055 735q0 -385 -117.5 -570t-355.5 -185q-229 0 -348 190.5t-119 564.5q0 382 115.5 566t351.5 184q231 0 352 -190.5t121 -559.5zM223 735q0 -340 89 -502.5t270 -162.5q189 0 275.5 168t86.5 497q0 324 -86.5 492t-275.5 168t-274 -168t-85 -492z" />
-<glyph unicode="1" d="M682 0h-98v1065q0 145 12 301q-15 -15 -31 -29t-309 -243l-57 71l397 297h86v-1462z" />
-<glyph unicode="2" d="M1028 0h-915v88l389 406q164 170 230 260t97 172t31 172q0 131 -86 213t-223 82q-183 0 -350 -133l-54 69q183 154 406 154q191 0 300.5 -102t109.5 -281q0 -145 -73.5 -280.5t-268.5 -334.5l-375 -385v-4h782v-96z" />
-<glyph unicode="3" d="M979 1118q0 -136 -85.5 -229t-229.5 -119v-6q176 -22 268 -112t92 -242q0 -205 -139.5 -317.5t-401.5 -112.5q-223 0 -389 83v99q84 -44 188.5 -69t196.5 -25q221 0 332 89.5t111 252.5q0 145 -113.5 223t-333.5 78h-158v96h160q182 0 288.5 86.5t106.5 234.5 q0 122 -86.5 195.5t-226.5 73.5q-109 0 -199 -30.5t-202 -104.5l-49 67q85 71 205 112.5t243 41.5q202 0 312 -95.5t110 -269.5z" />
-<glyph unicode="4" d="M1141 373h-252v-373h-94v373h-752v67l725 1030h121v-1011h252v-86zM795 459v418q0 302 14 507h-8q-20 -37 -123 -188l-516 -737h633z" />
-<glyph unicode="5" d="M537 879q234 0 368.5 -113t134.5 -311q0 -225 -140 -350t-386 -125q-109 0 -207 21.5t-164 61.5v103q108 -55 192 -76.5t179 -21.5q192 0 308 101.5t116 274.5q0 163 -113 256t-307 93q-130 0 -272 -39l-60 39l58 669h704v-96h-610l-45 -516q156 29 244 29z" />
-<glyph unicode="6" d="M131 623q0 285 77.5 479.5t220 288.5t343.5 94q94 0 172 -23v-88q-73 27 -176 27q-247 0 -384.5 -178t-154.5 -518h13q76 98 174 148t207 50q205 0 320.5 -117t115.5 -323q0 -224 -121.5 -353.5t-327.5 -129.5q-222 0 -350.5 169.5t-128.5 473.5zM610 68q164 0 255 103 t91 294q0 168 -90 262t-245 94q-102 0 -189.5 -45t-139.5 -119.5t-52 -152.5q0 -111 49.5 -213.5t134 -162.5t186.5 -60z" />
-<glyph unicode="7" d="M334 0l602 1366h-827v96h946v-73l-604 -1389h-117z" />
-<glyph unicode="8" d="M582 1487q186 0 299.5 -95t113.5 -257q0 -112 -70.5 -198t-228.5 -159q192 -79 270 -173t78 -228q0 -181 -126.5 -289t-339.5 -108q-221 0 -339 101t-118 294q0 131 83 230t257 169q-161 76 -227 160.5t-66 202.5q0 105 53 184.5t148.5 122.5t212.5 43zM223 360 q0 -138 93.5 -214t261.5 -76q164 0 264 80.5t100 218.5q0 124 -78.5 201.5t-302.5 162.5q-184 -71 -261 -157t-77 -216zM580 1397q-141 0 -226.5 -69.5t-85.5 -190.5q0 -70 31.5 -123.5t91 -97t199.5 -101.5q163 63 234 139t71 183q0 120 -84.5 190t-230.5 70z" />
-<glyph unicode="9" d="M1036 842q0 -288 -75.5 -482t-220 -287t-349.5 -93q-104 0 -192 26v86q43 -14 103.5 -21.5t92.5 -7.5q247 0 387 178.5t156 520.5h-12q-73 -96 -174 -147.5t-211 -51.5q-203 0 -316.5 112t-113.5 318q0 220 124.5 356t323.5 136q144 0 252 -75.5t166.5 -221.5t58.5 -346z M559 1397q-158 0 -252 -106.5t-94 -291.5q0 -174 87 -264t249 -90q101 0 188.5 45t139 119.5t51.5 151.5q0 117 -46.5 219t-130 159.5t-192.5 57.5z" />
-<glyph unicode=":" horiz-adv-x="487" d="M162 78q0 98 80 98q82 0 82 -98t-82 -98q-80 0 -80 98zM162 971q0 98 80 98q82 0 82 -98q0 -53 -23.5 -76t-58.5 -23q-34 0 -57 23t-23 76z" />
-<glyph unicode=";" horiz-adv-x="487" d="M303 238l12 -21q-75 -265 -174 -481h-65q29 97 62 245.5t48 256.5h117zM162 971q0 98 80 98q82 0 82 -98q0 -53 -23.5 -76t-58.5 -23q-34 0 -57 23t-23 76z" />
-<glyph unicode="&#x3c;" d="M1059 266l-948 416v61l948 474v-95l-823 -405l823 -355v-96z" />
-<glyph unicode="=" d="M111 885v82h948v-82h-948zM111 477v82h948v-82h-948z" />
-<glyph unicode="&#x3e;" d="M111 362l823 355l-823 405v95l948 -474v-61l-948 -416v96z" />
-<glyph unicode="?" horiz-adv-x="862" d="M293 377v37q0 123 37.5 201t138.5 167l91 79q72 61 103 121t31 138q0 127 -83.5 202t-219.5 75q-79 0 -148 -17.5t-149 -56.5l-37 80q110 48 184.5 64t153.5 16q183 0 288 -98.5t105 -270.5q0 -68 -18 -119t-50.5 -94.5t-78.5 -84t-102 -87.5q-64 -54 -98.5 -98.5 t-50 -93.5t-15.5 -146v-14h-82zM260 78q0 98 80 98q82 0 82 -98t-82 -98q-80 0 -80 98z" />
-<glyph unicode="@" horiz-adv-x="1815" d="M1702 725q0 -228 -90.5 -366t-245.5 -138q-89 0 -144.5 54t-64.5 147h-4q-43 -100 -124 -150.5t-189 -50.5q-148 0 -229 96.5t-81 270.5q0 202 120.5 330.5t314.5 128.5q138 0 286 -41l-22 -464v-30q0 -104 35 -156.5t116 -52.5q103 0 168.5 116.5t65.5 303.5 q0 194 -79 340t-225.5 224.5t-334.5 78.5q-230 0 -405.5 -99.5t-270 -281.5t-94.5 -418q0 -322 167 -497.5t474 -175.5q93 0 188.5 18t231.5 70v-99q-203 -80 -414 -80q-349 0 -544 200.5t-195 557.5q0 256 108.5 460.5t307 317.5t448.5 113q215 0 380.5 -89t255 -254.5 t89.5 -383.5zM633 590q0 -143 55 -215t174 -72q255 0 273 346l16 291q-79 27 -193 27q-149 0 -237 -102.5t-88 -274.5z" />
-<glyph unicode="A" horiz-adv-x="1229" d="M911 516h-594l-204 -516h-113l588 1468h65l576 -1468h-115zM354 608h523l-199 527q-25 62 -60 172q-27 -96 -59 -174z" />
-<glyph unicode="B" horiz-adv-x="1284" d="M207 1462h401q271 0 398 -92t127 -278q0 -127 -77.5 -211.5t-226.5 -108.5v-6q175 -26 257.5 -110.5t82.5 -235.5q0 -202 -134 -311t-380 -109h-448v1462zM309 811h322q206 0 299.5 68.5t93.5 214.5t-105.5 212t-314.5 66h-295v-561zM309 721v-631h344q406 0 406 330 q0 301 -428 301h-322z" />
-<glyph unicode="C" horiz-adv-x="1272" d="M831 1391q-275 0 -433 -176t-158 -482q0 -313 149 -486t426 -173q184 0 338 47v-90q-145 -51 -362 -51q-308 0 -485 199t-177 556q0 223 84.5 393t243 262.5t368.5 92.5q214 0 383 -80l-41 -92q-160 80 -336 80z" />
-<glyph unicode="D" horiz-adv-x="1446" d="M1317 745q0 -368 -193 -556.5t-567 -188.5h-350v1462h395q350 0 532.5 -183t182.5 -534zM1206 741q0 314 -159.5 472.5t-468.5 158.5h-269v-1282h242q655 0 655 651z" />
-<glyph unicode="E" horiz-adv-x="1130" d="M1006 0h-799v1462h799v-94h-697v-553h658v-94h-658v-627h697v-94z" />
-<glyph unicode="F" horiz-adv-x="1028" d="M309 0h-102v1462h801v-94h-699v-620h660v-95h-660v-653z" />
-<glyph unicode="G" horiz-adv-x="1481" d="M782 737h539v-667q-212 -90 -477 -90q-346 0 -530.5 195.5t-184.5 553.5q0 223 91.5 395.5t262 266.5t391.5 94q239 0 429 -88l-41 -92q-190 88 -394 88q-289 0 -458.5 -178.5t-169.5 -481.5q0 -330 161 -496.5t473 -166.5q202 0 343 57v514h-435v96z" />
-<glyph unicode="H" horiz-adv-x="1473" d="M1266 0h-103v719h-854v-719h-102v1462h102v-649h854v649h103v-1462z" />
-<glyph unicode="I" horiz-adv-x="516" d="M207 0v1462h102v-1462h-102z" />
-<glyph unicode="J" horiz-adv-x="506" d="M-33 -369q-92 0 -151 27v88q78 -20 149 -20q242 0 242 264v1472h102v-1462q0 -369 -342 -369z" />
-<glyph unicode="K" horiz-adv-x="1190" d="M1190 0h-125l-561 772l-195 -172v-600h-102v1462h102v-760l162 162l573 598h130l-599 -618z" />
-<glyph unicode="L" horiz-adv-x="1051" d="M207 0v1462h102v-1366h697v-96h-799z" />
-<glyph unicode="M" horiz-adv-x="1767" d="M850 0l-545 1350h-8q8 -124 8 -254v-1096h-98v1462h158l518 -1286h6l518 1286h154v-1462h-103v1108q0 116 12 240h-8l-547 -1348h-65z" />
-<glyph unicode="N" horiz-adv-x="1477" d="M1270 0h-103l-866 1298h-8q12 -232 12 -350v-948h-98v1462h102l865 -1296h6q-9 180 -9 342v954h99v-1462z" />
-<glyph unicode="O" horiz-adv-x="1565" d="M1436 733q0 -348 -174 -550.5t-480 -202.5q-305 0 -479 202.5t-174 552.5q0 349 175.5 549.5t479.5 200.5q306 0 479 -201.5t173 -550.5zM240 733q0 -314 140 -485.5t402 -171.5q264 0 403.5 170t139.5 487q0 316 -139.5 484.5t-401.5 168.5q-261 0 -402.5 -170 t-141.5 -483z" />
-<glyph unicode="P" horiz-adv-x="1198" d="M1087 1042q0 -212 -144 -325t-408 -113h-226v-604h-102v1462h358q522 0 522 -420zM309 692h201q247 0 357 81.5t110 264.5q0 169 -104 250.5t-322 81.5h-242v-678z" />
-<glyph unicode="Q" horiz-adv-x="1565" d="M1436 733q0 -294 -126 -486.5t-349 -246.5l333 -348h-166l-282 330l-33 -2h-31q-305 0 -479 202.5t-174 552.5q0 349 175.5 549.5t479.5 200.5q306 0 479 -201.5t173 -550.5zM240 733q0 -314 140 -485.5t402 -171.5q264 0 403.5 170t139.5 487q0 316 -139.5 484.5 t-401.5 168.5q-261 0 -402.5 -170t-141.5 -483z" />
-<glyph unicode="R" horiz-adv-x="1217" d="M309 637v-637h-102v1462h348q272 0 402 -100.5t130 -302.5q0 -147 -77.5 -248t-235.5 -145l397 -666h-122l-377 637h-363zM309 725h279q185 0 287 82.5t102 243.5q0 167 -100 243t-326 76h-242v-645z" />
-<glyph unicode="S" horiz-adv-x="1116" d="M1014 377q0 -183 -134.5 -290t-357.5 -107q-268 0 -411 59v102q158 -67 403 -67q180 0 285.5 82.5t105.5 216.5q0 83 -35 137.5t-114 99.5t-232 97q-224 77 -309.5 166.5t-85.5 238.5q0 164 128.5 267.5t330.5 103.5q206 0 387 -78l-37 -88q-182 76 -348 76 q-162 0 -258 -75t-96 -204q0 -81 29.5 -133t96.5 -93.5t230 -99.5q171 -59 257 -114.5t125.5 -126t39.5 -170.5z" />
-<glyph unicode="T" horiz-adv-x="1073" d="M588 0h-103v1366h-475v96h1053v-96h-475v-1366z" />
-<glyph unicode="U" horiz-adv-x="1473" d="M1282 1462v-946q0 -252 -146 -394t-407 -142q-254 0 -396.5 142.5t-142.5 397.5v942h103v-946q0 -211 117 -328.5t331 -117.5q209 0 324 115.5t115 320.5v956h102z" />
-<glyph unicode="V" horiz-adv-x="1182" d="M1071 1462h111l-547 -1462h-90l-545 1462h109l368 -995q84 -225 113 -338q20 75 79 233z" />
-<glyph unicode="W" horiz-adv-x="1827" d="M1372 0h-84l-321 1128q-40 139 -60 228q-16 -87 -45.5 -200t-322.5 -1156h-86l-402 1462h107l256 -942q15 -57 28 -105.5t23.5 -91t19 -82t15.5 -79.5q24 136 102 413l250 887h113l293 -1018q51 -176 73 -284q13 72 33.5 153t308.5 1149h103z" />
-<glyph unicode="X" horiz-adv-x="1102" d="M1102 0h-117l-432 682l-440 -682h-113l492 762l-447 700h115l395 -626l401 626h109l-453 -698z" />
-<glyph unicode="Y" horiz-adv-x="1081" d="M543 662l428 800h110l-487 -897v-565h-105v557l-489 905h117z" />
-<glyph unicode="Z" horiz-adv-x="1180" d="M1098 0h-1016v76l856 1290h-817v96h954v-76l-858 -1290h881v-96z" />
-<glyph unicode="[" horiz-adv-x="653" d="M602 -324h-428v1786h428v-94h-330v-1597h330v-95z" />
-<glyph unicode="\" horiz-adv-x="698" d="M127 1462l547 -1462h-103l-546 1462h102z" />
-<glyph unicode="]" horiz-adv-x="653" d="M51 -229h330v1597h-330v94h428v-1786h-428v95z" />
-<glyph unicode="^" d="M88 561l465 912h68l460 -912h-100l-395 791l-398 -791h-100z" />
-<glyph unicode="_" horiz-adv-x="842" d="M846 -266h-850v82h850v-82z" />
-<glyph unicode="`" horiz-adv-x="1182" d="M776 1241h-69q-96 79 -188.5 171.5t-125.5 139.5v17h142q26 -48 98.5 -142t142.5 -170v-16z" />
-<glyph unicode="a" horiz-adv-x="1085" d="M842 0l-25 172h-8q-82 -105 -168.5 -148.5t-204.5 -43.5q-160 0 -249 82t-89 227q0 159 132.5 247t383.5 93l207 6v72q0 155 -63 234t-203 79q-151 0 -313 -84l-37 86q179 84 354 84q179 0 267.5 -93t88.5 -290v-723h-73zM442 70q174 0 274.5 99.5t100.5 276.5v107 l-190 -8q-229 -11 -326.5 -71.5t-97.5 -188.5q0 -102 62.5 -158.5t176.5 -56.5z" />
-<glyph unicode="b" horiz-adv-x="1219" d="M641 1108q228 0 343.5 -143.5t115.5 -419.5q0 -271 -121.5 -418t-341.5 -147q-116 0 -209 48t-147 136h-9l-28 -164h-62v1556h99v-391q0 -88 -4 -162l-3 -85h7q62 98 149.5 144t210.5 46zM639 1018q-192 0 -275 -110t-83 -363v-17q0 -246 86.5 -353t269.5 -107 q178 0 268 124.5t90 354.5q0 471 -356 471z" />
-<glyph unicode="c" horiz-adv-x="973" d="M616 -20q-233 0 -365 147t-132 410q0 270 137 420.5t375 150.5q141 0 270 -49l-27 -88q-141 47 -245 47q-200 0 -303 -123.5t-103 -355.5q0 -220 103 -344.5t288 -124.5q148 0 275 53v-92q-104 -51 -273 -51z" />
-<glyph unicode="d" horiz-adv-x="1219" d="M580 1108q118 0 204 -43t154 -147h6q-6 126 -6 247v391h98v-1556h-65l-25 166h-8q-124 -186 -356 -186q-225 0 -344 140t-119 408q0 282 118 431t343 149zM580 1018q-178 0 -267.5 -125t-89.5 -363q0 -462 359 -462q184 0 270 107t86 353v17q0 252 -84.5 362.5 t-273.5 110.5z" />
-<glyph unicode="e" horiz-adv-x="1124" d="M621 -20q-237 0 -369.5 146t-132.5 409q0 260 128 416.5t345 156.5q192 0 303 -134t111 -364v-80h-783q2 -224 104.5 -342t293.5 -118q93 0 163.5 13t178.5 56v-90q-92 -40 -170 -54.5t-172 -14.5zM592 1020q-157 0 -252 -103.5t-111 -298.5h672q0 189 -82 295.5 t-227 106.5z" />
-<glyph unicode="f" horiz-adv-x="614" d="M586 1001h-256v-1001h-99v1001h-202v58l202 37v84q0 200 73.5 293.5t240.5 93.5q90 0 180 -27l-23 -86q-80 25 -159 25q-116 0 -164.5 -68.5t-48.5 -222.5v-101h256v-86z" />
-<glyph unicode="g" horiz-adv-x="1071" d="M1030 1087v-69l-225 -14q90 -112 90 -246q0 -157 -104.5 -254.5t-280.5 -97.5q-74 0 -104 6q-59 -31 -90 -73t-31 -89q0 -52 39.5 -76t132.5 -24h190q177 0 271 -71.5t94 -211.5q0 -172 -139.5 -265.5t-397.5 -93.5q-205 0 -317.5 79t-112.5 220q0 112 69.5 186 t188.5 101q-49 21 -78.5 59.5t-29.5 88.5q0 109 139 192q-95 39 -148 122.5t-53 191.5q0 163 103.5 261.5t279.5 98.5q107 0 166 -21h348zM150 -184q0 -224 333 -224q428 0 428 273q0 98 -67 142t-217 44h-178q-299 0 -299 -235zM233 748q0 -126 76.5 -195.5t204.5 -69.5 q136 0 208.5 69t72.5 200q0 139 -74.5 208.5t-208.5 69.5q-130 0 -204.5 -74.5t-74.5 -207.5z" />
-<glyph unicode="h" horiz-adv-x="1208" d="M940 0v705q0 164 -69 238.5t-214 74.5q-195 0 -285.5 -98.5t-90.5 -319.5v-600h-99v1556h99v-495l-5 -139h7q61 98 154 142t231 44q370 0 370 -397v-711h-98z" />
-<glyph unicode="i" horiz-adv-x="463" d="M281 0h-99v1087h99v-1087zM168 1389q0 96 63 96q31 0 48.5 -25t17.5 -71q0 -45 -17.5 -71t-48.5 -26q-63 0 -63 97z" />
-<glyph unicode="j" horiz-adv-x="463" d="M37 -492q-80 0 -135 25v86q69 -20 129 -20q151 0 151 176v1312h99v-1298q0 -135 -63.5 -208t-180.5 -73zM168 1389q0 96 63 96q31 0 48.5 -25t17.5 -71q0 -45 -17.5 -71t-48.5 -26q-63 0 -63 97z" />
-<glyph unicode="k" horiz-adv-x="991" d="M279 477l555 610h120l-428 -464l465 -623h-119l-413 549l-178 -162v-387h-99v1556h99v-780l-7 -299h5z" />
-<glyph unicode="l" horiz-adv-x="463" d="M281 0h-99v1556h99v-1556z" />
-<glyph unicode="m" horiz-adv-x="1808" d="M1540 0v713q0 159 -62 232t-190 73q-167 0 -247 -92t-80 -289v-637h-101v743q0 275 -252 275q-171 0 -249 -99.5t-78 -318.5v-600h-99v1087h82l21 -149h6q45 81 128 125.5t183 44.5q257 0 330 -193h4q53 93 142.5 143t203.5 50q178 0 267 -95t89 -302v-711h-98z" />
-<glyph unicode="n" horiz-adv-x="1208" d="M940 0v705q0 164 -69 238.5t-214 74.5q-195 0 -285.5 -98.5t-90.5 -319.5v-600h-99v1087h84l19 -149h6q106 170 377 170q370 0 370 -397v-711h-98z" />
-<glyph unicode="o" horiz-adv-x="1200" d="M1081 545q0 -266 -129 -415.5t-356 -149.5q-143 0 -252 69t-167 198t-58 298q0 266 129 414.5t354 148.5q224 0 351.5 -150.5t127.5 -412.5zM223 545q0 -224 98.5 -349.5t278.5 -125.5t278.5 125.5t98.5 349.5q0 225 -99.5 349t-279.5 124t-277.5 -123.5t-97.5 -349.5z " />
-<glyph unicode="p" horiz-adv-x="1219" d="M647 -20q-251 0 -366 188h-7l3 -84q4 -74 4 -162v-414h-99v1579h84l19 -155h6q112 176 358 176q220 0 335.5 -144.5t115.5 -420.5q0 -268 -121.5 -415.5t-331.5 -147.5zM645 68q167 0 258.5 124t91.5 347q0 479 -346 479q-190 0 -279 -104.5t-89 -340.5v-32 q0 -255 85.5 -364t278.5 -109z" />
-<glyph unicode="q" horiz-adv-x="1219" d="M569 -20q-214 0 -332 142t-118 410q0 275 118 425.5t338 150.5q236 0 353 -174h6l18 153h84v-1579h-98v414q0 122 6 248h-6q-118 -190 -369 -190zM571 68q198 0 282.5 109t84.5 366v12q0 245 -85 354t-271 109q-176 0 -267.5 -124t-91.5 -364q0 -229 89.5 -345.5 t258.5 -116.5z" />
-<glyph unicode="r" horiz-adv-x="797" d="M610 1108q69 0 148 -14l-19 -95q-68 17 -141 17q-139 0 -228 -118t-89 -298v-600h-99v1087h84l10 -196h7q67 120 143 168.5t184 48.5z" />
-<glyph unicode="s" horiz-adv-x="954" d="M856 283q0 -146 -111 -224.5t-315 -78.5q-218 0 -346 67v107q164 -82 346 -82q161 0 244.5 53.5t83.5 142.5q0 82 -66.5 138t-218.5 110q-163 59 -229 101.5t-99.5 96t-33.5 130.5q0 122 102.5 193t286.5 71q176 0 334 -66l-37 -90q-160 66 -297 66q-133 0 -211 -44 t-78 -122q0 -85 60.5 -136t236.5 -114q147 -53 214 -95.5t100.5 -96.5t33.5 -127z" />
-<glyph unicode="t" horiz-adv-x="686" d="M469 68q94 0 164 16v-80q-72 -24 -166 -24q-144 0 -212.5 77t-68.5 242v702h-161v58l161 45l50 246h51v-263h319v-86h-319v-688q0 -125 44 -185t138 -60z" />
-<glyph unicode="u" horiz-adv-x="1208" d="M268 1087v-704q0 -164 69 -238.5t214 -74.5q194 0 285.5 98t91.5 319v600h98v-1087h-84l-18 150h-6q-106 -170 -377 -170q-371 0 -371 397v710h98z" />
-<glyph unicode="v" horiz-adv-x="940" d="M420 0l-420 1087h102l281 -739q56 -142 84 -248h6q41 136 84 250l281 737h102l-420 -1087h-100z" />
-<glyph unicode="w" horiz-adv-x="1481" d="M1051 0l-238 727q-23 74 -59 217h-6l-21 -74l-45 -145l-242 -725h-98l-311 1087h106l174 -630q61 -234 80 -344h6q59 234 86 311l224 663h90l213 -661q72 -235 88 -311h6q8 65 80 348l166 624h100l-295 -1087h-104z" />
-<glyph unicode="x" horiz-adv-x="1020" d="M449 559l-379 528h114l324 -458l321 458h109l-373 -528l400 -559h-115l-342 485l-344 -485h-109z" />
-<glyph unicode="y" horiz-adv-x="940" d="M0 1087h102l230 -610q105 -281 133 -379h6q42 129 137 385l230 604h102l-487 -1263q-59 -154 -99 -208t-93.5 -81t-129.5 -27q-57 0 -127 21v86q58 -16 125 -16q51 0 90 24t70.5 74.5t73 160t53.5 142.5z" />
-<glyph unicode="z" horiz-adv-x="944" d="M858 0h-776v63l645 936h-598v88h727v-63l-649 -936h651v-88z" />
-<glyph unicode="{" horiz-adv-x="723" d="M389 -27q0 -102 59.5 -152.5t202.5 -53.5v-91q-195 0 -277.5 75t-82.5 231v337q0 205 -230 209v80q122 2 176 51t54 148v350q0 299 360 305v-90q-138 -5 -200 -58t-62 -157v-305q0 -130 -44 -194t-142 -85v-8q97 -20 141.5 -83.5t44.5 -186.5v-322z" />
-<glyph unicode="|" horiz-adv-x="1108" d="M508 1561h92v-2067h-92v2067z" />
-<glyph unicode="}" horiz-adv-x="723" d="M334 295q0 123 44.5 186.5t141.5 83.5v8q-97 20 -141.5 84t-44.5 195v305q0 103 -61.5 156.5t-200.5 58.5v90q174 0 267 -77.5t93 -227.5v-350q0 -100 54.5 -148.5t175.5 -50.5v-80q-230 -4 -230 -209v-337q0 -155 -82.5 -230.5t-277.5 -75.5v91q141 2 201.5 52.5 t60.5 153.5v322z" />
-<glyph unicode="~" d="M334 745q-49 0 -108 -30.5t-115 -89.5v94q108 110 233 110q61 0 115 -13.5t155 -57.5q126 -58 220 -58q56 0 109.5 30.5t115.5 94.5v-96q-48 -49 -104.5 -81t-129.5 -32q-116 0 -270 72q-124 57 -221 57z" />
-<glyph unicode="&#xa1;" horiz-adv-x="492" d="M215 711h61l29 -1086h-119zM166 1010q0 98 80 98q82 0 82 -98q0 -53 -23.5 -76t-58.5 -23q-34 0 -57 23t-23 76z" />
-<glyph unicode="&#xa2;" d="M602 190q-186 30 -288.5 175t-102.5 380q0 232 102.5 381.5t288.5 182.5v174h82v-166h14q131 0 275 -55l-31 -84q-134 51 -237 51q-187 0 -288.5 -122.5t-101.5 -358.5q0 -225 100.5 -349.5t280.5 -124.5q131 0 267 58v-92q-110 -56 -267 -56h-12v-204h-82v210z" />
-<glyph unicode="&#xa3;" d="M412 676v-256q0 -116 -35 -196t-113 -128h809v-96h-995v84q110 21 171.5 110t61.5 224v258h-211v82h211v297q0 204 98 315t281 111q175 0 330 -68l-35 -86q-157 66 -295 66q-141 0 -209.5 -81t-68.5 -253v-301h411v-82h-411z" />
-<glyph unicode="&#xa4;" d="M991 723q0 -151 -90 -256l139 -141l-59 -60l-137 142q-110 -93 -260 -93q-153 0 -260 93l-138 -142l-59 60l139 141q-90 106 -90 256q0 147 90 258l-139 141l59 60l138 -142q103 93 260 93q155 0 260 -93l137 142l59 -60l-139 -141q90 -111 90 -258zM584 395 q134 0 228.5 95.5t94.5 232.5q0 136 -95 233t-228 97q-134 0 -229 -97t-95 -233t94.5 -232t229.5 -96z" />
-<glyph unicode="&#xa5;" d="M586 666l428 796h110l-432 -788h283v-82h-338v-205h338v-82h-338v-305h-105v305h-337v82h337v205h-337v82h278l-430 788h117z" />
-<glyph unicode="&#xa6;" horiz-adv-x="1108" d="M508 1561h92v-764h-92v764zM508 258h92v-764h-92v764z" />
-<glyph unicode="&#xa7;" horiz-adv-x="1057" d="M145 813q0 83 50.5 152.5t138.5 107.5q-86 47 -125 102t-39 136q0 117 101.5 183.5t275.5 66.5q175 0 336 -64l-35 -80q-91 34 -158.5 47t-144.5 13q-134 0 -205.5 -44.5t-71.5 -119.5q0 -54 25.5 -88.5t85.5 -65.5t188 -74q192 -64 264 -132.5t72 -170.5 q0 -173 -186 -274q86 -42 129 -96t43 -136q0 -135 -113 -207.5t-311 -72.5q-92 0 -171 15t-165 52v95q182 -78 332 -78q162 0 247 49.5t85 140.5q0 55 -25 87.5t-88.5 65.5t-190.5 79q-200 73 -272 141.5t-72 169.5zM246 825q0 -65 31.5 -104t105.5 -75t250 -99 q82 41 126 98t44 121q0 62 -32 102t-108.5 77t-236.5 87q-81 -23 -130.5 -79t-49.5 -128z" />
-<glyph unicode="&#xa8;" horiz-adv-x="1182" d="M336 1389q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86zM717 1389q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86z" />
-<glyph unicode="&#xa9;" horiz-adv-x="1704" d="M897 1092q-142 0 -222.5 -94.5t-80.5 -264.5q0 -186 74.5 -275t220.5 -89q84 0 198 43v-88q-102 -45 -208 -45q-187 0 -288.5 115t-101.5 331q0 208 111 332.5t297 124.5q119 0 227 -52l-37 -83q-98 45 -190 45zM100 731q0 200 100 375t275 276t377 101q200 0 375 -100 t276 -275t101 -377q0 -197 -97 -370t-272 -277t-383 -104q-207 0 -382 103.5t-272.5 276.5t-97.5 371zM193 731q0 -178 88.5 -329.5t240.5 -240.5t330 -89t329.5 88.5t240.5 240.5t89 330q0 174 -85.5 325t-239 243t-334.5 92q-176 0 -328.5 -88.5t-241.5 -242.5t-89 -329z " />
-<glyph unicode="&#xaa;" horiz-adv-x="686" d="M512 813l-25 72q-84 -84 -202 -84q-95 0 -151 49t-56 139q0 100 80 151.5t241 59.5l95 4v43q0 77 -38 114.5t-106 37.5q-87 0 -196 -49l-33 73q117 56 231 56q228 0 228 -215v-451h-68zM168 993q0 -54 35 -85t96 -31q90 0 142.5 50t52.5 142v64l-88 -5 q-116 -6 -177 -36.5t-61 -98.5z" />
-<glyph unicode="&#xab;" horiz-adv-x="885" d="M82 543l309 393l62 -43l-254 -363l254 -362l-62 -43l-309 391v27zM442 543l310 393l61 -43l-254 -363l254 -362l-61 -43l-310 391v27z" />
-<glyph unicode="&#xac;" d="M1038 764v-494h-82v412h-845v82h927z" />
-<glyph unicode="&#xad;" horiz-adv-x="659" d="M92 512zM92 512v82h475v-82h-475z" />
-<glyph unicode="&#xae;" horiz-adv-x="1704" d="M709 731h112q91 0 143 46.5t52 135.5q0 172 -197 172h-110v-354zM1120 918q0 -79 -38.5 -139.5t-110.5 -94.5l237 -393h-121l-210 360h-168v-360h-101v880h211q143 0 222 -62t79 -191zM100 731q0 200 100 375t275 276t377 101q200 0 375 -100t276 -275t101 -377 q0 -197 -97 -370t-272 -277t-383 -104q-207 0 -382 103.5t-272.5 276.5t-97.5 371zM193 731q0 -178 88.5 -329.5t240.5 -240.5t330 -89t329.5 88.5t240.5 240.5t89 330q0 174 -85.5 325t-239 243t-334.5 92q-176 0 -328.5 -88.5t-241.5 -242.5t-89 -329z" />
-<glyph unicode="&#xaf;" horiz-adv-x="1024" d="M1030 1556h-1036v82h1036v-82z" />
-<glyph unicode="&#xb0;" horiz-adv-x="877" d="M139 1184q0 132 86.5 215.5t212.5 83.5t212.5 -83.5t86.5 -215.5t-86.5 -215.5t-212.5 -83.5q-130 0 -214.5 83t-84.5 216zM229 1184q0 -91 61 -154t148 -63q86 0 147.5 62t61.5 155q0 92 -60 154.5t-149 62.5q-90 0 -149.5 -64t-59.5 -153z" />
-<glyph unicode="&#xb1;" d="M111 1zM111 1v82h948v-82h-948zM625 764h434v-82h-434v-432h-82v432h-432v82h432v434h82v-434z" />
-<glyph unicode="&#xb2;" horiz-adv-x="688" d="M629 586h-576v78l242 237q125 121 172 193t47 149q0 71 -46.5 112.5t-123.5 41.5q-108 0 -217 -82l-49 65q119 103 270 103q124 0 194 -63.5t70 -174.5q0 -47 -13 -89t-40 -85.5t-68.5 -90t-308.5 -306.5h447v-88z" />
-<glyph unicode="&#xb3;" horiz-adv-x="688" d="M616 1260q0 -78 -44 -131.5t-117 -75.5q186 -45 186 -211q0 -130 -88.5 -201.5t-247.5 -71.5q-144 0 -264 60v88q136 -62 266 -62q115 0 174.5 49t59.5 136q0 83 -59.5 122t-178.5 39h-131v84h135q105 0 158 43.5t53 120.5q0 67 -47 107.5t-127 40.5q-128 0 -246 -78 l-47 70q130 94 293 94q127 0 199.5 -60t72.5 -163z" />
-<glyph unicode="&#xb4;" horiz-adv-x="1182" d="M393 1257q73 79 144.5 171.5t97.5 140.5h141v-17q-36 -52 -122.5 -138t-190.5 -173h-70v16z" />
-<glyph unicode="&#xb5;" horiz-adv-x="1221" d="M281 1087v-704q0 -164 69 -238.5t213 -74.5q194 0 285.5 98t91.5 319v600h98v-1087h-84l-18 150h-6q-50 -77 -150 -123.5t-217 -46.5q-99 0 -167.5 27.5t-119.5 84.5q5 -92 5 -170v-414h-99v1579h99z" />
-<glyph unicode="&#xb6;" horiz-adv-x="1341" d="M1106 -260h-100v1722h-228v-1722h-100v819q-64 -18 -146 -18q-216 0 -317.5 125t-101.5 376q0 260 109 387t341 127h543v-1816z" />
-<glyph unicode="&#xb7;" horiz-adv-x="487" d="M162 623zM162 721q0 98 80 98q82 0 82 -98t-82 -98q-80 0 -80 98z" />
-<glyph unicode="&#xb8;" horiz-adv-x="420" d="M393 -291q0 -100 -67.5 -150.5t-188.5 -50.5q-68 0 -94 11v88q30 -10 92 -10q78 0 119 28t41 80q0 94 -193 121l93 174h96l-66 -117q168 -37 168 -174z" />
-<glyph unicode="&#xb9;" horiz-adv-x="688" d="M350 1462h92v-876h-98v547q0 99 12 233q-26 -23 -233 -145l-47 77z" />
-<glyph unicode="&#xba;" horiz-adv-x="739" d="M670 1141q0 -161 -80 -250.5t-223 -89.5t-220 86t-77 254q0 162 78 250t223 88q142 0 220.5 -87t78.5 -251zM160 1141q0 -264 209 -264t209 264q0 131 -50 194.5t-159 63.5t-159 -63.5t-50 -194.5z" />
-<glyph unicode="&#xbb;" horiz-adv-x="885" d="M803 518l-309 -393l-62 43l254 362l-254 363l62 43l309 -391v-27zM442 518l-309 -393l-61 43l254 362l-254 363l61 43l309 -391v-27z" />
-<glyph unicode="&#xbc;" horiz-adv-x="1516" d="M59 0zM333 1462h92v-876h-98v547q0 99 12 233q-26 -23 -233 -145l-47 77zM1148 1462l-811 -1462h-94l811 1462h94zM1392 242h-129v-241h-90v241h-413v60l407 581h96v-563h129v-78zM1173 320v221q0 132 8 232q-6 -12 -21.5 -35.5t-295.5 -417.5h309z" />
-<glyph unicode="&#xbd;" horiz-adv-x="1516" d="M11 0zM285 1462h92v-876h-98v547q0 99 12 233q-26 -23 -233 -145l-47 77zM1073 1462l-811 -1462h-94l811 1462h94zM1403 1h-576v78l242 237q125 121 172 193t47 149q0 71 -46.5 112.5t-123.5 41.5q-108 0 -217 -82l-49 65q119 103 270 103q124 0 194 -63.5t70 -174.5 q0 -47 -13 -89t-40 -85.5t-68.5 -90t-308.5 -306.5h447v-88z" />
-<glyph unicode="&#xbe;" horiz-adv-x="1516" d="M41 0zM616 1260q0 -78 -44 -131.5t-117 -75.5q186 -45 186 -211q0 -130 -88.5 -201.5t-247.5 -71.5q-144 0 -264 60v88q136 -62 266 -62q115 0 174.5 49t59.5 136q0 83 -59.5 122t-178.5 39h-131v84h135q105 0 158 43.5t53 120.5q0 67 -47 107.5t-127 40.5 q-128 0 -246 -78l-47 70q130 94 293 94q127 0 199.5 -60t72.5 -163zM1300 1462l-811 -1462h-94l811 1462h94zM1495 242h-129v-241h-90v241h-413v60l407 581h96v-563h129v-78zM1276 320v221q0 132 8 232q-6 -12 -21.5 -35.5t-295.5 -417.5h309z" />
-<glyph unicode="&#xbf;" horiz-adv-x="862" d="M569 711v-37q0 -125 -39.5 -204.5t-136.5 -164.5l-90 -79q-73 -61 -104 -120.5t-31 -138.5q0 -124 82 -200t221 -76q125 0 233 46l64 27l37 -79q-111 -48 -185.5 -64t-152.5 -16q-184 0 -288.5 99t-104.5 269q0 70 20 124t58.5 102t171.5 159q64 53 98.5 98.5t49.5 94 t15 145.5v15h82zM440 1010q0 98 80 98q82 0 82 -98q0 -53 -23.5 -76t-58.5 -23q-34 0 -57 23t-23 76z" />
-<glyph unicode="&#xc0;" horiz-adv-x="1229" d="M0 0zM911 516h-594l-204 -516h-113l588 1468h65l576 -1468h-115zM354 608h523l-199 527q-25 62 -60 172q-27 -96 -59 -174zM720 1579h-69q-96 79 -188.5 171.5t-125.5 139.5v17h142q26 -48 98.5 -142t142.5 -170v-16z" />
-<glyph unicode="&#xc1;" horiz-adv-x="1229" d="M0 0zM911 516h-594l-204 -516h-113l588 1468h65l576 -1468h-115zM354 608h523l-199 527q-25 62 -60 172q-27 -96 -59 -174zM504 1595q73 79 144.5 171.5t97.5 140.5h141v-17q-36 -52 -122.5 -138t-190.5 -173h-70v16z" />
-<glyph unicode="&#xc2;" horiz-adv-x="1229" d="M0 0zM911 516h-594l-204 -516h-113l588 1468h65l576 -1468h-115zM354 608h523l-199 527q-25 62 -60 172q-27 -96 -59 -174zM328 1595q62 67 131.5 156t110.5 156h98q68 -120 242 -312v-16h-70q-122 101 -221 207q-108 -114 -221 -207h-70v16z" />
-<glyph unicode="&#xc3;" horiz-adv-x="1229" d="M0 0zM911 516h-594l-204 -516h-113l588 1468h65l576 -1468h-115zM354 608h523l-199 527q-25 62 -60 172q-27 -96 -59 -174zM784 1581q-36 0 -75 18.5t-101 71.5q-32 26 -62.5 46t-62.5 20q-45 0 -75 -34.5t-48 -121.5h-73q10 111 63 174.5t137 63.5q48 0 88 -25t82 -59 q34 -28 66 -50t61 -22q46 0 77 36.5t48 119.5h76q-16 -116 -69 -177t-132 -61z" />
-<glyph unicode="&#xc4;" horiz-adv-x="1229" d="M0 0zM911 516h-594l-204 -516h-113l588 1468h65l576 -1468h-115zM354 608h523l-199 527q-25 62 -60 172q-27 -96 -59 -174zM367 1727q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86zM748 1727q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86z" />
-<glyph unicode="&#xc5;" horiz-adv-x="1229" d="M0 0zM911 516h-594l-204 -516h-113l588 1468h65l576 -1468h-115zM354 608h523l-199 527q-25 62 -60 172q-27 -96 -59 -174zM836 1610q0 -97 -60 -155t-157 -58t-157 58t-60 155q0 94 60 152.5t157 58.5t157 -59t60 -152zM482 1610q0 -66 37.5 -103.5t99.5 -37.5 t99.5 37.5t37.5 103.5q0 64 -39 101.5t-98 37.5q-62 0 -99.5 -38t-37.5 -101z" />
-<glyph unicode="&#xc6;" horiz-adv-x="1653" d="M1528 0h-717v516h-475l-227 -516h-111l653 1462h877v-94h-615v-553h576v-94h-576v-627h615v-94zM377 608h434v760h-100z" />
-<glyph unicode="&#xc7;" horiz-adv-x="1272" d="M129 0zM831 1391q-275 0 -433 -176t-158 -482q0 -313 149 -486t426 -173q184 0 338 47v-90q-145 -51 -362 -51q-308 0 -485 199t-177 556q0 223 84.5 393t243 262.5t368.5 92.5q214 0 383 -80l-41 -92q-160 80 -336 80zM911 -291q0 -100 -67.5 -150.5t-188.5 -50.5 q-68 0 -94 11v88q30 -10 92 -10q78 0 119 28t41 80q0 94 -193 121l93 174h96l-66 -117q168 -37 168 -174z" />
-<glyph unicode="&#xc8;" horiz-adv-x="1130" d="M207 0zM1006 0h-799v1462h799v-94h-697v-553h658v-94h-658v-627h697v-94zM697 1579h-69q-96 79 -188.5 171.5t-125.5 139.5v17h142q26 -48 98.5 -142t142.5 -170v-16z" />
-<glyph unicode="&#xc9;" horiz-adv-x="1130" d="M207 0zM1006 0h-799v1462h799v-94h-697v-553h658v-94h-658v-627h697v-94zM463 1595q73 79 144.5 171.5t97.5 140.5h141v-17q-36 -52 -122.5 -138t-190.5 -173h-70v16z" />
-<glyph unicode="&#xca;" horiz-adv-x="1130" d="M207 0zM1006 0h-799v1462h799v-94h-697v-553h658v-94h-658v-627h697v-94zM315 1595q62 67 131.5 156t110.5 156h98q68 -120 242 -312v-16h-70q-122 101 -221 207q-108 -114 -221 -207h-70v16z" />
-<glyph unicode="&#xcb;" horiz-adv-x="1130" d="M207 0zM1006 0h-799v1462h799v-94h-697v-553h658v-94h-658v-627h697v-94zM354 1727q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86zM735 1727q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86z" />
-<glyph unicode="&#xcc;" horiz-adv-x="516" d="M0 0zM207 0v1462h102v-1462h-102zM320 1579h-69q-96 79 -188.5 171.5t-125.5 139.5v17h142q26 -48 98.5 -142t142.5 -170v-16z" />
-<glyph unicode="&#xcd;" horiz-adv-x="516" d="M191 0zM207 0v1462h102v-1462h-102zM191 1595q73 79 144.5 171.5t97.5 140.5h141v-17q-36 -52 -122.5 -138t-190.5 -173h-70v16z" />
-<glyph unicode="&#xce;" horiz-adv-x="516" d="M0 0zM207 0v1462h102v-1462h-102zM-32 1595q62 67 131.5 156t110.5 156h98q68 -120 242 -312v-16h-70q-122 101 -221 207q-108 -114 -221 -207h-70v16z" />
-<glyph unicode="&#xcf;" horiz-adv-x="516" d="M5 0zM207 0v1462h102v-1462h-102zM5 1727q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86zM386 1727q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86z" />
-<glyph unicode="&#xd0;" horiz-adv-x="1466" d="M1317 745q0 -368 -193 -556.5t-567 -188.5h-350v678h-160v94h160v690h395q350 0 532.5 -183t182.5 -534zM1206 741q0 314 -159.5 472.5t-468.5 158.5h-269v-600h406v-94h-406v-588h242q655 0 655 651z" />
-<glyph unicode="&#xd1;" horiz-adv-x="1477" d="M207 0zM1270 0h-103l-866 1298h-8q12 -232 12 -350v-948h-98v1462h102l865 -1296h6q-9 180 -9 342v954h99v-1462zM897 1581q-36 0 -75 18.5t-101 71.5q-32 26 -62.5 46t-62.5 20q-45 0 -75 -34.5t-48 -121.5h-73q10 111 63 174.5t137 63.5q48 0 88 -25t82 -59 q34 -28 66 -50t61 -22q46 0 77 36.5t48 119.5h76q-16 -116 -69 -177t-132 -61z" />
-<glyph unicode="&#xd2;" horiz-adv-x="1565" d="M129 0zM1436 733q0 -348 -174 -550.5t-480 -202.5q-305 0 -479 202.5t-174 552.5q0 349 175.5 549.5t479.5 200.5q306 0 479 -201.5t173 -550.5zM240 733q0 -314 140 -485.5t402 -171.5q264 0 403.5 170t139.5 487q0 316 -139.5 484.5t-401.5 168.5q-261 0 -402.5 -170 t-141.5 -483zM885 1579h-69q-96 79 -188.5 171.5t-125.5 139.5v17h142q26 -48 98.5 -142t142.5 -170v-16z" />
-<glyph unicode="&#xd3;" horiz-adv-x="1565" d="M129 0zM1436 733q0 -348 -174 -550.5t-480 -202.5q-305 0 -479 202.5t-174 552.5q0 349 175.5 549.5t479.5 200.5q306 0 479 -201.5t173 -550.5zM240 733q0 -314 140 -485.5t402 -171.5q264 0 403.5 170t139.5 487q0 316 -139.5 484.5t-401.5 168.5q-261 0 -402.5 -170 t-141.5 -483zM686 1595q73 79 144.5 171.5t97.5 140.5h141v-17q-36 -52 -122.5 -138t-190.5 -173h-70v16z" />
-<glyph unicode="&#xd4;" horiz-adv-x="1565" d="M129 0zM1436 733q0 -348 -174 -550.5t-480 -202.5q-305 0 -479 202.5t-174 552.5q0 349 175.5 549.5t479.5 200.5q306 0 479 -201.5t173 -550.5zM240 733q0 -314 140 -485.5t402 -171.5q264 0 403.5 170t139.5 487q0 316 -139.5 484.5t-401.5 168.5q-261 0 -402.5 -170 t-141.5 -483zM492 1595q62 67 131.5 156t110.5 156h98q68 -120 242 -312v-16h-70q-122 101 -221 207q-108 -114 -221 -207h-70v16z" />
-<glyph unicode="&#xd5;" horiz-adv-x="1565" d="M129 0zM1436 733q0 -348 -174 -550.5t-480 -202.5q-305 0 -479 202.5t-174 552.5q0 349 175.5 549.5t479.5 200.5q306 0 479 -201.5t173 -550.5zM240 733q0 -314 140 -485.5t402 -171.5q264 0 403.5 170t139.5 487q0 316 -139.5 484.5t-401.5 168.5q-261 0 -402.5 -170 t-141.5 -483zM940 1581q-36 0 -75 18.5t-101 71.5q-32 26 -62.5 46t-62.5 20q-45 0 -75 -34.5t-48 -121.5h-73q10 111 63 174.5t137 63.5q48 0 88 -25t82 -59q34 -28 66 -50t61 -22q46 0 77 36.5t48 119.5h76q-16 -116 -69 -177t-132 -61z" />
-<glyph unicode="&#xd6;" horiz-adv-x="1565" d="M129 0zM1436 733q0 -348 -174 -550.5t-480 -202.5q-305 0 -479 202.5t-174 552.5q0 349 175.5 549.5t479.5 200.5q306 0 479 -201.5t173 -550.5zM240 733q0 -314 140 -485.5t402 -171.5q264 0 403.5 170t139.5 487q0 316 -139.5 484.5t-401.5 168.5q-261 0 -402.5 -170 t-141.5 -483zM529 1727q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86zM910 1727q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86z" />
-<glyph unicode="&#xd7;" d="M584 780l409 408l58 -58l-408 -407l406 -408l-58 -57l-407 408l-406 -408l-57 57l405 408l-407 407l57 58z" />
-<glyph unicode="&#xd8;" horiz-adv-x="1565" d="M1436 733q0 -348 -174 -550.5t-480 -202.5q-236 0 -395 120l-86 -120l-74 59l90 127q-188 200 -188 569q0 349 175.5 549.5t479.5 200.5q232 0 392 -121l108 152l72 -60l-111 -153q191 -207 191 -570zM1325 733q0 315 -139 486l-742 -1037q133 -106 338 -106 q264 0 403.5 170t139.5 487zM240 733q0 -312 139 -483l739 1034q-133 102 -334 102q-261 0 -402.5 -170t-141.5 -483z" />
-<glyph unicode="&#xd9;" horiz-adv-x="1473" d="M190 0zM1282 1462v-946q0 -252 -146 -394t-407 -142q-254 0 -396.5 142.5t-142.5 397.5v942h103v-946q0 -211 117 -328.5t331 -117.5q209 0 324 115.5t115 320.5v956h102zM833 1579h-69q-96 79 -188.5 171.5t-125.5 139.5v17h142q26 -48 98.5 -142t142.5 -170v-16z" />
-<glyph unicode="&#xda;" horiz-adv-x="1473" d="M190 0zM1282 1462v-946q0 -252 -146 -394t-407 -142q-254 0 -396.5 142.5t-142.5 397.5v942h103v-946q0 -211 117 -328.5t331 -117.5q209 0 324 115.5t115 320.5v956h102zM633 1595q73 79 144.5 171.5t97.5 140.5h141v-17q-36 -52 -122.5 -138t-190.5 -173h-70v16z" />
-<glyph unicode="&#xdb;" horiz-adv-x="1473" d="M190 0zM1282 1462v-946q0 -252 -146 -394t-407 -142q-254 0 -396.5 142.5t-142.5 397.5v942h103v-946q0 -211 117 -328.5t331 -117.5q209 0 324 115.5t115 320.5v956h102zM444 1595q62 67 131.5 156t110.5 156h98q68 -120 242 -312v-16h-70q-122 101 -221 207 q-108 -114 -221 -207h-70v16z" />
-<glyph unicode="&#xdc;" horiz-adv-x="1473" d="M190 0zM1282 1462v-946q0 -252 -146 -394t-407 -142q-254 0 -396.5 142.5t-142.5 397.5v942h103v-946q0 -211 117 -328.5t331 -117.5q209 0 324 115.5t115 320.5v956h102zM481 1727q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86zM862 1727q0 46 15.5 66 t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86z" />
-<glyph unicode="&#xdd;" horiz-adv-x="1081" d="M0 0zM543 662l428 800h110l-487 -897v-565h-105v557l-489 905h117zM434 1595q73 79 144.5 171.5t97.5 140.5h141v-17q-36 -52 -122.5 -138t-190.5 -173h-70v16z" />
-<glyph unicode="&#xde;" horiz-adv-x="1198" d="M1087 778q0 -212 -144 -325t-408 -113h-226v-340h-102v1462h102v-264h256q522 0 522 -420zM309 428h201q247 0 357 81.5t110 264.5q0 169 -104 250.5t-322 81.5h-242v-678z" />
-<glyph unicode="&#xdf;" horiz-adv-x="1194" d="M961 1284q0 -139 -139 -250q-81 -64 -110.5 -100.5t-29.5 -75.5q0 -44 14.5 -68t51.5 -57t102 -78q106 -75 151.5 -124.5t68 -103t22.5 -120.5q0 -156 -88 -241.5t-246 -85.5q-95 0 -174.5 18.5t-126.5 48.5v107q65 -38 148.5 -62t152.5 -24q114 0 174.5 54.5t60.5 160.5 q0 83 -39 144t-149 136q-127 87 -175 147t-48 146q0 60 32.5 110t106.5 108q74 57 106.5 105.5t32.5 106.5q0 93 -70 143t-202 50q-145 0 -226 -69t-81 -196v-1214h-99v1206q0 173 103.5 267t292.5 94q188 0 285.5 -72.5t97.5 -210.5z" />
-<glyph unicode="&#xe0;" horiz-adv-x="1085" d="M98 0zM842 0l-25 172h-8q-82 -105 -168.5 -148.5t-204.5 -43.5q-160 0 -249 82t-89 227q0 159 132.5 247t383.5 93l207 6v72q0 155 -63 234t-203 79q-151 0 -313 -84l-37 86q179 84 354 84q179 0 267.5 -93t88.5 -290v-723h-73zM442 70q174 0 274.5 99.5t100.5 276.5v107 l-190 -8q-229 -11 -326.5 -71.5t-97.5 -188.5q0 -102 62.5 -158.5t176.5 -56.5zM638 1241h-69q-96 79 -188.5 171.5t-125.5 139.5v17h142q26 -48 98.5 -142t142.5 -170v-16z" />
-<glyph unicode="&#xe1;" horiz-adv-x="1085" d="M98 0zM842 0l-25 172h-8q-82 -105 -168.5 -148.5t-204.5 -43.5q-160 0 -249 82t-89 227q0 159 132.5 247t383.5 93l207 6v72q0 155 -63 234t-203 79q-151 0 -313 -84l-37 86q179 84 354 84q179 0 267.5 -93t88.5 -290v-723h-73zM442 70q174 0 274.5 99.5t100.5 276.5v107 l-190 -8q-229 -11 -326.5 -71.5t-97.5 -188.5q0 -102 62.5 -158.5t176.5 -56.5zM422 1257q73 79 144.5 171.5t97.5 140.5h141v-17q-36 -52 -122.5 -138t-190.5 -173h-70v16z" />
-<glyph unicode="&#xe2;" horiz-adv-x="1085" d="M98 0zM842 0l-25 172h-8q-82 -105 -168.5 -148.5t-204.5 -43.5q-160 0 -249 82t-89 227q0 159 132.5 247t383.5 93l207 6v72q0 155 -63 234t-203 79q-151 0 -313 -84l-37 86q179 84 354 84q179 0 267.5 -93t88.5 -290v-723h-73zM442 70q174 0 274.5 99.5t100.5 276.5v107 l-190 -8q-229 -11 -326.5 -71.5t-97.5 -188.5q0 -102 62.5 -158.5t176.5 -56.5zM251 1257q62 67 131.5 156t110.5 156h98q68 -120 242 -312v-16h-70q-122 101 -221 207q-108 -114 -221 -207h-70v16z" />
-<glyph unicode="&#xe3;" horiz-adv-x="1085" d="M98 0zM842 0l-25 172h-8q-82 -105 -168.5 -148.5t-204.5 -43.5q-160 0 -249 82t-89 227q0 159 132.5 247t383.5 93l207 6v72q0 155 -63 234t-203 79q-151 0 -313 -84l-37 86q179 84 354 84q179 0 267.5 -93t88.5 -290v-723h-73zM442 70q174 0 274.5 99.5t100.5 276.5v107 l-190 -8q-229 -11 -326.5 -71.5t-97.5 -188.5q0 -102 62.5 -158.5t176.5 -56.5zM697 1243q-36 0 -75 18.5t-101 71.5q-32 26 -62.5 46t-62.5 20q-45 0 -75 -34.5t-48 -121.5h-73q10 111 63 174.5t137 63.5q48 0 88 -25t82 -59q34 -28 66 -50t61 -22q46 0 77 36.5t48 119.5 h76q-16 -116 -69 -177t-132 -61z" />
-<glyph unicode="&#xe4;" horiz-adv-x="1085" d="M98 0zM842 0l-25 172h-8q-82 -105 -168.5 -148.5t-204.5 -43.5q-160 0 -249 82t-89 227q0 159 132.5 247t383.5 93l207 6v72q0 155 -63 234t-203 79q-151 0 -313 -84l-37 86q179 84 354 84q179 0 267.5 -93t88.5 -290v-723h-73zM442 70q174 0 274.5 99.5t100.5 276.5v107 l-190 -8q-229 -11 -326.5 -71.5t-97.5 -188.5q0 -102 62.5 -158.5t176.5 -56.5zM282 1389q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86zM663 1389q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86z" />
-<glyph unicode="&#xe5;" horiz-adv-x="1085" d="M98 0zM842 0l-25 172h-8q-82 -105 -168.5 -148.5t-204.5 -43.5q-160 0 -249 82t-89 227q0 159 132.5 247t383.5 93l207 6v72q0 155 -63 234t-203 79q-151 0 -313 -84l-37 86q179 84 354 84q179 0 267.5 -93t88.5 -290v-723h-73zM442 70q174 0 274.5 99.5t100.5 276.5v107 l-190 -8q-229 -11 -326.5 -71.5t-97.5 -188.5q0 -102 62.5 -158.5t176.5 -56.5zM759 1456q0 -97 -60 -155t-157 -58t-157 58t-60 155q0 94 60 152.5t157 58.5t157 -59t60 -152zM405 1456q0 -66 37.5 -103.5t99.5 -37.5t99.5 37.5t37.5 103.5q0 64 -39 101.5t-98 37.5 q-62 0 -99.5 -38t-37.5 -101z" />
-<glyph unicode="&#xe6;" horiz-adv-x="1731" d="M1243 -20q-295 0 -397 256q-68 -133 -168 -194.5t-252 -61.5q-156 0 -242 82.5t-86 226.5q0 154 125 243t377 97l201 6v72q0 155 -61.5 234t-198.5 79q-148 0 -305 -84l-37 86q173 84 346 84q261 0 325 -211q111 213 347 213q184 0 289.5 -134.5t105.5 -363.5v-80h-715 q0 -460 348 -460q85 0 150 12t174 57v-90q-92 -41 -165 -55t-161 -14zM434 70q169 0 266 99.5t97 276.5v107l-187 -8q-219 -11 -313 -71.5t-94 -188.5q0 -102 61 -158.5t170 -56.5zM1217 1020q-284 0 -314 -402h604q0 188 -77.5 295t-212.5 107z" />
-<glyph unicode="&#xe7;" horiz-adv-x="973" d="M119 0zM616 -20q-233 0 -365 147t-132 410q0 270 137 420.5t375 150.5q141 0 270 -49l-27 -88q-141 47 -245 47q-200 0 -303 -123.5t-103 -355.5q0 -220 103 -344.5t288 -124.5q148 0 275 53v-92q-104 -51 -273 -51zM723 -291q0 -100 -67.5 -150.5t-188.5 -50.5 q-68 0 -94 11v88q30 -10 92 -10q78 0 119 28t41 80q0 94 -193 121l93 174h96l-66 -117q168 -37 168 -174z" />
-<glyph unicode="&#xe8;" horiz-adv-x="1124" d="M119 0zM621 -20q-237 0 -369.5 146t-132.5 409q0 260 128 416.5t345 156.5q192 0 303 -134t111 -364v-80h-783q2 -224 104.5 -342t293.5 -118q93 0 163.5 13t178.5 56v-90q-92 -40 -170 -54.5t-172 -14.5zM592 1020q-157 0 -252 -103.5t-111 -298.5h672q0 189 -82 295.5 t-227 106.5zM685 1241h-69q-96 79 -188.5 171.5t-125.5 139.5v17h142q26 -48 98.5 -142t142.5 -170v-16z" />
-<glyph unicode="&#xe9;" horiz-adv-x="1124" d="M119 0zM621 -20q-237 0 -369.5 146t-132.5 409q0 260 128 416.5t345 156.5q192 0 303 -134t111 -364v-80h-783q2 -224 104.5 -342t293.5 -118q93 0 163.5 13t178.5 56v-90q-92 -40 -170 -54.5t-172 -14.5zM592 1020q-157 0 -252 -103.5t-111 -298.5h672q0 189 -82 295.5 t-227 106.5zM452 1257q73 79 144.5 171.5t97.5 140.5h141v-17q-36 -52 -122.5 -138t-190.5 -173h-70v16z" />
-<glyph unicode="&#xea;" horiz-adv-x="1124" d="M119 0zM621 -20q-237 0 -369.5 146t-132.5 409q0 260 128 416.5t345 156.5q192 0 303 -134t111 -364v-80h-783q2 -224 104.5 -342t293.5 -118q93 0 163.5 13t178.5 56v-90q-92 -40 -170 -54.5t-172 -14.5zM592 1020q-157 0 -252 -103.5t-111 -298.5h672q0 189 -82 295.5 t-227 106.5zM290 1257q62 67 131.5 156t110.5 156h98q68 -120 242 -312v-16h-70q-122 101 -221 207q-108 -114 -221 -207h-70v16z" />
-<glyph unicode="&#xeb;" horiz-adv-x="1124" d="M119 0zM621 -20q-237 0 -369.5 146t-132.5 409q0 260 128 416.5t345 156.5q192 0 303 -134t111 -364v-80h-783q2 -224 104.5 -342t293.5 -118q93 0 163.5 13t178.5 56v-90q-92 -40 -170 -54.5t-172 -14.5zM592 1020q-157 0 -252 -103.5t-111 -298.5h672q0 189 -82 295.5 t-227 106.5zM331 1389q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86zM712 1389q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86z" />
-<glyph unicode="&#xec;" horiz-adv-x="463" d="M0 0zM281 0h-99v1087h99v-1087zM349 1241h-69q-96 79 -188.5 171.5t-125.5 139.5v17h142q26 -48 98.5 -142t142.5 -170v-16z" />
-<glyph unicode="&#xed;" horiz-adv-x="463" d="M107 0zM281 0h-99v1087h99v-1087zM107 1257q73 79 144.5 171.5t97.5 140.5h141v-17q-36 -52 -122.5 -138t-190.5 -173h-70v16z" />
-<glyph unicode="&#xee;" horiz-adv-x="463" d="M0 0zM281 0h-99v1087h99v-1087zM-58 1257q62 67 131.5 156t110.5 156h98q68 -120 242 -312v-16h-70q-122 101 -221 207q-108 -114 -221 -207h-70v16z" />
-<glyph unicode="&#xef;" horiz-adv-x="463" d="M0 0zM281 0h-99v1087h99v-1087zM-21 1389q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86zM360 1389q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86z" />
-<glyph unicode="&#xf0;" horiz-adv-x="1174" d="M1055 559q0 -276 -124 -427.5t-349 -151.5q-214 0 -339.5 130t-125.5 361q0 228 126.5 357.5t342.5 129.5q108 0 187.5 -33t148.5 -96l4 2q-64 270 -269 459l-270 -157l-49 77l244 146q-86 62 -199 119l45 81q147 -69 248 -145l225 137l49 -84l-202 -121 q154 -151 230.5 -353t76.5 -431zM950 557q0 146 -97 228.5t-267 82.5q-185 0 -275 -100.5t-90 -304.5q0 -186 94.5 -289.5t268.5 -103.5q179 0 272.5 123t93.5 364z" />
-<glyph unicode="&#xf1;" horiz-adv-x="1208" d="M182 0zM940 0v705q0 164 -69 238.5t-214 74.5q-195 0 -285.5 -98.5t-90.5 -319.5v-600h-99v1087h84l19 -149h6q106 170 377 170q370 0 370 -397v-711h-98zM779 1243q-36 0 -75 18.5t-101 71.5q-32 26 -62.5 46t-62.5 20q-45 0 -75 -34.5t-48 -121.5h-73q10 111 63 174.5 t137 63.5q48 0 88 -25t82 -59q34 -28 66 -50t61 -22q46 0 77 36.5t48 119.5h76q-16 -116 -69 -177t-132 -61z" />
-<glyph unicode="&#xf2;" horiz-adv-x="1200" d="M119 0zM1081 545q0 -266 -129 -415.5t-356 -149.5q-143 0 -252 69t-167 198t-58 298q0 266 129 414.5t354 148.5q224 0 351.5 -150.5t127.5 -412.5zM223 545q0 -224 98.5 -349.5t278.5 -125.5t278.5 125.5t98.5 349.5q0 225 -99.5 349t-279.5 124t-277.5 -123.5 t-97.5 -349.5zM718 1241h-69q-96 79 -188.5 171.5t-125.5 139.5v17h142q26 -48 98.5 -142t142.5 -170v-16z" />
-<glyph unicode="&#xf3;" horiz-adv-x="1200" d="M119 0zM1081 545q0 -266 -129 -415.5t-356 -149.5q-143 0 -252 69t-167 198t-58 298q0 266 129 414.5t354 148.5q224 0 351.5 -150.5t127.5 -412.5zM223 545q0 -224 98.5 -349.5t278.5 -125.5t278.5 125.5t98.5 349.5q0 225 -99.5 349t-279.5 124t-277.5 -123.5 t-97.5 -349.5zM499 1257q73 79 144.5 171.5t97.5 140.5h141v-17q-36 -52 -122.5 -138t-190.5 -173h-70v16z" />
-<glyph unicode="&#xf4;" horiz-adv-x="1200" d="M119 0zM1081 545q0 -266 -129 -415.5t-356 -149.5q-143 0 -252 69t-167 198t-58 298q0 266 129 414.5t354 148.5q224 0 351.5 -150.5t127.5 -412.5zM223 545q0 -224 98.5 -349.5t278.5 -125.5t278.5 125.5t98.5 349.5q0 225 -99.5 349t-279.5 124t-277.5 -123.5 t-97.5 -349.5zM309 1257q62 67 131.5 156t110.5 156h98q68 -120 242 -312v-16h-70q-122 101 -221 207q-108 -114 -221 -207h-70v16z" />
-<glyph unicode="&#xf5;" horiz-adv-x="1200" d="M119 0zM1081 545q0 -266 -129 -415.5t-356 -149.5q-143 0 -252 69t-167 198t-58 298q0 266 129 414.5t354 148.5q224 0 351.5 -150.5t127.5 -412.5zM223 545q0 -224 98.5 -349.5t278.5 -125.5t278.5 125.5t98.5 349.5q0 225 -99.5 349t-279.5 124t-277.5 -123.5 t-97.5 -349.5zM761 1243q-36 0 -75 18.5t-101 71.5q-32 26 -62.5 46t-62.5 20q-45 0 -75 -34.5t-48 -121.5h-73q10 111 63 174.5t137 63.5q48 0 88 -25t82 -59q34 -28 66 -50t61 -22q46 0 77 36.5t48 119.5h76q-16 -116 -69 -177t-132 -61z" />
-<glyph unicode="&#xf6;" horiz-adv-x="1200" d="M119 0zM1081 545q0 -266 -129 -415.5t-356 -149.5q-143 0 -252 69t-167 198t-58 298q0 266 129 414.5t354 148.5q224 0 351.5 -150.5t127.5 -412.5zM223 545q0 -224 98.5 -349.5t278.5 -125.5t278.5 125.5t98.5 349.5q0 225 -99.5 349t-279.5 124t-277.5 -123.5 t-97.5 -349.5zM346 1389q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86zM727 1389q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86z" />
-<glyph unicode="&#xf7;" d="M111 682v82h948v-82h-948zM504 1075q0 99 80 99q82 0 82 -99q0 -52 -23.5 -75t-58.5 -23q-34 0 -57 23t-23 75zM504 371q0 98 80 98q82 0 82 -98q0 -53 -23.5 -76t-58.5 -23q-34 0 -57 23t-23 76z" />
-<glyph unicode="&#xf8;" horiz-adv-x="1200" d="M1081 545q0 -266 -129 -415.5t-356 -149.5q-173 0 -291 98l-86 -113l-72 58l93 120q-121 153 -121 402q0 266 129 414.5t354 148.5q179 0 301 -104l96 124l74 -55l-104 -137q112 -147 112 -391zM223 545q0 -200 78 -322l543 705q-98 90 -246 90q-180 0 -277.5 -123.5 t-97.5 -349.5zM977 545q0 190 -72 309l-543 -702q94 -82 238 -82q180 0 278.5 125.5t98.5 349.5z" />
-<glyph unicode="&#xf9;" horiz-adv-x="1208" d="M170 0zM268 1087v-704q0 -164 69 -238.5t214 -74.5q194 0 285.5 98t91.5 319v600h98v-1087h-84l-18 150h-6q-106 -170 -377 -170q-371 0 -371 397v710h98zM687 1241h-69q-96 79 -188.5 171.5t-125.5 139.5v17h142q26 -48 98.5 -142t142.5 -170v-16z" />
-<glyph unicode="&#xfa;" horiz-adv-x="1208" d="M170 0zM268 1087v-704q0 -164 69 -238.5t214 -74.5q194 0 285.5 98t91.5 319v600h98v-1087h-84l-18 150h-6q-106 -170 -377 -170q-371 0 -371 397v710h98zM495 1257q73 79 144.5 171.5t97.5 140.5h141v-17q-36 -52 -122.5 -138t-190.5 -173h-70v16z" />
-<glyph unicode="&#xfb;" horiz-adv-x="1208" d="M170 0zM268 1087v-704q0 -164 69 -238.5t214 -74.5q194 0 285.5 98t91.5 319v600h98v-1087h-84l-18 150h-6q-106 -170 -377 -170q-371 0 -371 397v710h98zM313 1257q62 67 131.5 156t110.5 156h98q68 -120 242 -312v-16h-70q-122 101 -221 207q-108 -114 -221 -207h-70 v16z" />
-<glyph unicode="&#xfc;" horiz-adv-x="1208" d="M170 0zM268 1087v-704q0 -164 69 -238.5t214 -74.5q194 0 285.5 98t91.5 319v600h98v-1087h-84l-18 150h-6q-106 -170 -377 -170q-371 0 -371 397v710h98zM350 1389q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86zM731 1389q0 46 15.5 66t47.5 20q64 0 64 -86 t-64 -86q-63 0 -63 86z" />
-<glyph unicode="&#xfd;" horiz-adv-x="940" d="M0 0zM0 1087h102l230 -610q105 -281 133 -379h6q42 129 137 385l230 604h102l-487 -1263q-59 -154 -99 -208t-93.5 -81t-129.5 -27q-57 0 -127 21v86q58 -16 125 -16q51 0 90 24t70.5 74.5t73 160t53.5 142.5zM361 1257q73 79 144.5 171.5t97.5 140.5h141v-17 q-36 -52 -122.5 -138t-190.5 -173h-70v16z" />
-<glyph unicode="&#xfe;" horiz-adv-x="1219" d="M281 918q114 190 368 190q220 0 335.5 -144.5t115.5 -420.5q0 -268 -121.5 -415.5t-331.5 -147.5q-251 0 -366 188h-7l3 -84q4 -74 4 -162v-414h-99v2048h99v-391l-7 -247h7zM645 68q167 0 258.5 124t91.5 347q0 479 -348 479q-193 0 -279.5 -105t-86.5 -354v-18 q0 -255 85.5 -364t278.5 -109z" />
-<glyph unicode="&#xff;" horiz-adv-x="940" d="M0 0zM0 1087h102l230 -610q105 -281 133 -379h6q42 129 137 385l230 604h102l-487 -1263q-59 -154 -99 -208t-93.5 -81t-129.5 -27q-57 0 -127 21v86q58 -16 125 -16q51 0 90 24t70.5 74.5t73 160t53.5 142.5zM214 1389q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86 q-63 0 -63 86zM595 1389q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86z" />
-<glyph unicode="&#x131;" horiz-adv-x="463" d="M281 0h-99v1087h99v-1087z" />
-<glyph unicode="&#x152;" horiz-adv-x="1839" d="M1714 0h-756q-76 -16 -176 -16q-305 0 -479 200t-174 551q0 347 174.5 545.5t480.5 198.5q78 0 183 -17h747v-94h-655v-553h616v-94h-616v-627h655v-94zM782 80q109 0 174 18v1266q-62 16 -172 16q-262 0 -403 -167.5t-141 -479.5q0 -315 140.5 -484t401.5 -169z" />
-<glyph unicode="&#x153;" horiz-adv-x="1942" d="M1438 -20q-156 0 -266.5 67.5t-165.5 198.5q-59 -128 -158 -197t-252 -69q-143 0 -252 69t-167 198t-58 298q0 266 129 414.5t354 148.5q151 0 251 -70t157 -209q110 279 399 279q192 0 303 -134t111 -364v-80h-762q2 -230 100.5 -345t276.5 -115q93 0 163.5 13t178.5 56 v-90q-92 -40 -170 -54.5t-172 -14.5zM223 545q0 -224 98.5 -349.5t278.5 -125.5q174 0 265 122.5t91 352.5q0 224 -93 348.5t-265 124.5q-180 0 -277.5 -123.5t-97.5 -349.5zM1409 1020q-155 0 -242 -104t-102 -298h653q0 189 -82 295.5t-227 106.5z" />
-<glyph unicode="&#x178;" horiz-adv-x="1081" d="M0 0zM543 662l428 800h110l-487 -897v-565h-105v557l-489 905h117zM288 1727q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86zM669 1727q0 46 15.5 66t47.5 20q64 0 64 -86t-64 -86q-63 0 -63 86z" />
-<glyph unicode="&#x2c6;" horiz-adv-x="1182" d="M299 1257q62 67 131.5 156t110.5 156h98q68 -120 242 -312v-16h-70q-122 101 -221 207q-108 -114 -221 -207h-70v16z" />
-<glyph unicode="&#x2da;" horiz-adv-x="1182" d="M805 1456q0 -97 -60 -155t-157 -58t-157 58t-60 155q0 94 60 152.5t157 58.5t157 -59t60 -152zM451 1456q0 -66 37.5 -103.5t99.5 -37.5t99.5 37.5t37.5 103.5q0 64 -39 101.5t-98 37.5q-62 0 -99.5 -38t-37.5 -101z" />
-<glyph unicode="&#x2dc;" horiz-adv-x="1182" d="M780 1243q-36 0 -75 18.5t-101 71.5q-32 26 -62.5 46t-62.5 20q-45 0 -75 -34.5t-48 -121.5h-73q10 111 63 174.5t137 63.5q48 0 88 -25t82 -59q34 -28 66 -50t61 -22q46 0 77 36.5t48 119.5h76q-16 -116 -69 -177t-132 -61z" />
-<glyph unicode="&#x2000;" horiz-adv-x="953" />
-<glyph unicode="&#x2001;" horiz-adv-x="1907" />
-<glyph unicode="&#x2002;" horiz-adv-x="953" />
-<glyph unicode="&#x2003;" horiz-adv-x="1907" />
-<glyph unicode="&#x2004;" horiz-adv-x="635" />
-<glyph unicode="&#x2005;" horiz-adv-x="476" />
-<glyph unicode="&#x2006;" horiz-adv-x="317" />
-<glyph unicode="&#x2007;" horiz-adv-x="317" />
-<glyph unicode="&#x2008;" horiz-adv-x="238" />
-<glyph unicode="&#x2009;" horiz-adv-x="381" />
-<glyph unicode="&#x200a;" horiz-adv-x="105" />
-<glyph unicode="&#x2010;" horiz-adv-x="659" d="M92 512v82h475v-82h-475z" />
-<glyph unicode="&#x2011;" horiz-adv-x="659" d="M92 512v82h475v-82h-475z" />
-<glyph unicode="&#x2012;" horiz-adv-x="659" d="M92 512v82h475v-82h-475z" />
-<glyph unicode="&#x2013;" horiz-adv-x="1024" d="M82 512v82h860v-82h-860z" />
-<glyph unicode="&#x2014;" horiz-adv-x="2048" d="M82 512v82h1884v-82h-1884z" />
-<glyph unicode="&#x2018;" horiz-adv-x="297" d="M41 961l-12 20q32 112 81.5 251t92.5 230h65q-30 -101 -64.5 -257t-45.5 -244h-117z" />
-<glyph unicode="&#x2019;" horiz-adv-x="297" d="M256 1462l12 -20q-75 -265 -174 -481h-65q29 96 61 241.5t49 259.5h117z" />
-<glyph unicode="&#x201a;" horiz-adv-x="451" d="M68 0zM295 238l12 -20q-75 -265 -174 -481h-65q29 96 61 241.5t49 259.5h117z" />
-<glyph unicode="&#x201c;" horiz-adv-x="614" d="M358 961l-12 20q34 120 83 255t91 226h66q-30 -98 -63 -248.5t-48 -252.5h-117zM41 961l-12 20q32 112 81.5 251t92.5 230h65q-30 -101 -64.5 -257t-45.5 -244h-117z" />
-<glyph unicode="&#x201d;" horiz-adv-x="614" d="M256 1462l12 -20q-75 -265 -174 -481h-65q29 96 61 241.5t49 259.5h117zM573 1462l13 -20q-36 -128 -85 -261t-89 -220h-66q30 98 63 248.5t48 252.5h116z" />
-<glyph unicode="&#x201e;" horiz-adv-x="768" d="M68 0zM295 238l12 -20q-75 -265 -174 -481h-65q29 96 61 241.5t49 259.5h117zM612 238l13 -20q-36 -128 -85 -261t-89 -220h-66q30 98 63 248.5t48 252.5h116z" />
-<glyph unicode="&#x2022;" horiz-adv-x="770" d="M231 748q0 89 40.5 134.5t113.5 45.5t113.5 -47t40.5 -133q0 -85 -41 -133t-113 -48t-113 47t-41 134z" />
-<glyph unicode="&#x2026;" horiz-adv-x="1466" d="M162 0zM162 78q0 98 80 98q82 0 82 -98t-82 -98q-80 0 -80 98zM651 78q0 98 80 98q82 0 82 -98t-82 -98q-80 0 -80 98zM1141 78q0 98 80 98q82 0 82 -98t-82 -98q-80 0 -80 98z" />
-<glyph unicode="&#x202f;" horiz-adv-x="381" />
-<glyph unicode="&#x2039;" horiz-adv-x="524" d="M82 543l309 393l62 -43l-254 -363l254 -362l-62 -43l-309 391v27z" />
-<glyph unicode="&#x203a;" horiz-adv-x="524" d="M442 518l-309 -393l-61 43l254 362l-254 363l61 43l309 -391v-27z" />
-<glyph unicode="&#x2044;" horiz-adv-x="246" d="M573 1462l-811 -1462h-94l811 1462h94z" />
-<glyph unicode="&#x205f;" horiz-adv-x="476" />
-<glyph unicode="&#x2074;" horiz-adv-x="688" d="M657 827h-129v-241h-90v241h-413v60l407 581h96v-563h129v-78zM438 905v221q0 132 8 232q-6 -12 -21.5 -35.5t-295.5 -417.5h309z" />
-<glyph unicode="&#x20ac;" d="M803 1397q-174 0 -288 -125.5t-155 -364.5h502v-82h-510l-4 -104v-24q0 -65 4 -87h449v-82h-443q30 -217 147.5 -338.5t301.5 -121.5q148 0 287 65v-94q-81 -34 -150.5 -46.5t-140.5 -12.5q-228 0 -367.5 140t-181.5 408h-180v82h172q-4 38 -4 113l4 102h-172v82h184 q39 272 183 425t362 153q88 0 161 -17t148 -57l-39 -86q-132 72 -270 72z" />
-<glyph unicode="&#x2122;" horiz-adv-x="1485" d="M313 741h-86v643h-217v78h522v-78h-219v-643zM913 741l-221 609h-6l4 -201v-408h-82v721h125l221 -606l224 606h125v-721h-86v398l4 207h-7l-227 -605h-74z" />
-<glyph unicode="&#x2212;" d="M111 682v82h948v-82h-948z" />
-<glyph unicode="&#xe000;" horiz-adv-x="1085" d="M0 1085h1085v-1085h-1085v1085z" />
-<glyph horiz-adv-x="1219" d="M0 0z" />
-<hkern u1="&#x22;" u2="&#x178;" k="-20" />
-<hkern u1="&#x22;" u2="&#x153;" k="123" />
-<hkern u1="&#x22;" u2="&#xfc;" k="61" />
-<hkern u1="&#x22;" u2="&#xfb;" k="61" />
-<hkern u1="&#x22;" u2="&#xfa;" k="61" />
-<hkern u1="&#x22;" u2="&#xf9;" k="61" />
-<hkern u1="&#x22;" u2="&#xf8;" k="123" />
-<hkern u1="&#x22;" u2="&#xf6;" k="123" />
-<hkern u1="&#x22;" u2="&#xf5;" k="123" />
-<hkern u1="&#x22;" u2="&#xf4;" k="123" />
-<hkern u1="&#x22;" u2="&#xf3;" k="123" />
-<hkern u1="&#x22;" u2="&#xf2;" k="123" />
-<hkern u1="&#x22;" u2="&#xeb;" k="123" />
-<hkern u1="&#x22;" u2="&#xea;" k="123" />
-<hkern u1="&#x22;" u2="&#xe9;" k="123" />
-<hkern u1="&#x22;" u2="&#xe8;" k="123" />
-<hkern u1="&#x22;" u2="&#xe7;" k="123" />
-<hkern u1="&#x22;" u2="&#xe6;" k="82" />
-<hkern u1="&#x22;" u2="&#xe5;" k="82" />
-<hkern u1="&#x22;" u2="&#xe4;" k="82" />
-<hkern u1="&#x22;" u2="&#xe3;" k="82" />
-<hkern u1="&#x22;" u2="&#xe2;" k="82" />
-<hkern u1="&#x22;" u2="&#xe1;" k="82" />
-<hkern u1="&#x22;" u2="&#xe0;" k="123" />
-<hkern u1="&#x22;" u2="&#xdd;" k="-20" />
-<hkern u1="&#x22;" u2="&#xc5;" k="143" />
-<hkern u1="&#x22;" u2="&#xc4;" k="143" />
-<hkern u1="&#x22;" u2="&#xc3;" k="143" />
-<hkern u1="&#x22;" u2="&#xc2;" k="143" />
-<hkern u1="&#x22;" u2="&#xc1;" k="143" />
-<hkern u1="&#x22;" u2="&#xc0;" k="143" />
-<hkern u1="&#x22;" u2="u" k="61" />
-<hkern u1="&#x22;" u2="s" k="61" />
-<hkern u1="&#x22;" u2="r" k="61" />
-<hkern u1="&#x22;" u2="q" k="123" />
-<hkern u1="&#x22;" u2="p" k="61" />
-<hkern u1="&#x22;" u2="o" k="123" />
-<hkern u1="&#x22;" u2="n" k="61" />
-<hkern u1="&#x22;" u2="m" k="61" />
-<hkern u1="&#x22;" u2="g" k="61" />
-<hkern u1="&#x22;" u2="e" k="123" />
-<hkern u1="&#x22;" u2="d" k="123" />
-<hkern u1="&#x22;" u2="c" k="123" />
-<hkern u1="&#x22;" u2="a" k="82" />
-<hkern u1="&#x22;" u2="Y" k="-20" />
-<hkern u1="&#x22;" u2="W" k="-41" />
-<hkern u1="&#x22;" u2="V" k="-41" />
-<hkern u1="&#x22;" u2="T" k="-41" />
-<hkern u1="&#x22;" u2="A" k="143" />
-<hkern u1="&#x27;" u2="&#x178;" k="-20" />
-<hkern u1="&#x27;" u2="&#x153;" k="123" />
-<hkern u1="&#x27;" u2="&#xfc;" k="61" />
-<hkern u1="&#x27;" u2="&#xfb;" k="61" />
-<hkern u1="&#x27;" u2="&#xfa;" k="61" />
-<hkern u1="&#x27;" u2="&#xf9;" k="61" />
-<hkern u1="&#x27;" u2="&#xf8;" k="123" />
-<hkern u1="&#x27;" u2="&#xf6;" k="123" />
-<hkern u1="&#x27;" u2="&#xf5;" k="123" />
-<hkern u1="&#x27;" u2="&#xf4;" k="123" />
-<hkern u1="&#x27;" u2="&#xf3;" k="123" />
-<hkern u1="&#x27;" u2="&#xf2;" k="123" />
-<hkern u1="&#x27;" u2="&#xeb;" k="123" />
-<hkern u1="&#x27;" u2="&#xea;" k="123" />
-<hkern u1="&#x27;" u2="&#xe9;" k="123" />
-<hkern u1="&#x27;" u2="&#xe8;" k="123" />
-<hkern u1="&#x27;" u2="&#xe7;" k="123" />
-<hkern u1="&#x27;" u2="&#xe6;" k="82" />
-<hkern u1="&#x27;" u2="&#xe5;" k="82" />
-<hkern u1="&#x27;" u2="&#xe4;" k="82" />
-<hkern u1="&#x27;" u2="&#xe3;" k="82" />
-<hkern u1="&#x27;" u2="&#xe2;" k="82" />
-<hkern u1="&#x27;" u2="&#xe1;" k="82" />
-<hkern u1="&#x27;" u2="&#xe0;" k="123" />
-<hkern u1="&#x27;" u2="&#xdd;" k="-20" />
-<hkern u1="&#x27;" u2="&#xc5;" k="143" />
-<hkern u1="&#x27;" u2="&#xc4;" k="143" />
-<hkern u1="&#x27;" u2="&#xc3;" k="143" />
-<hkern u1="&#x27;" u2="&#xc2;" k="143" />
-<hkern u1="&#x27;" u2="&#xc1;" k="143" />
-<hkern u1="&#x27;" u2="&#xc0;" k="143" />
-<hkern u1="&#x27;" u2="u" k="61" />
-<hkern u1="&#x27;" u2="s" k="61" />
-<hkern u1="&#x27;" u2="r" k="61" />
-<hkern u1="&#x27;" u2="q" k="123" />
-<hkern u1="&#x27;" u2="p" k="61" />
-<hkern u1="&#x27;" u2="o" k="123" />
-<hkern u1="&#x27;" u2="n" k="61" />
-<hkern u1="&#x27;" u2="m" k="61" />
-<hkern u1="&#x27;" u2="g" k="61" />
-<hkern u1="&#x27;" u2="e" k="123" />
-<hkern u1="&#x27;" u2="d" k="123" />
-<hkern u1="&#x27;" u2="c" k="123" />
-<hkern u1="&#x27;" u2="a" k="82" />
-<hkern u1="&#x27;" u2="Y" k="-20" />
-<hkern u1="&#x27;" u2="W" k="-41" />
-<hkern u1="&#x27;" u2="V" k="-41" />
-<hkern u1="&#x27;" u2="T" k="-41" />
-<hkern u1="&#x27;" u2="A" k="143" />
-<hkern u1="&#x28;" u2="J" k="-184" />
-<hkern u1="&#x2c;" u2="&#x178;" k="123" />
-<hkern u1="&#x2c;" u2="&#x152;" k="102" />
-<hkern u1="&#x2c;" u2="&#xdd;" k="123" />
-<hkern u1="&#x2c;" u2="&#xdc;" k="41" />
-<hkern u1="&#x2c;" u2="&#xdb;" k="41" />
-<hkern u1="&#x2c;" u2="&#xda;" k="41" />
-<hkern u1="&#x2c;" u2="&#xd9;" k="41" />
-<hkern u1="&#x2c;" u2="&#xd8;" k="102" />
-<hkern u1="&#x2c;" u2="&#xd6;" k="102" />
-<hkern u1="&#x2c;" u2="&#xd5;" k="102" />
-<hkern u1="&#x2c;" u2="&#xd4;" k="102" />
-<hkern u1="&#x2c;" u2="&#xd3;" k="102" />
-<hkern u1="&#x2c;" u2="&#xd2;" k="102" />
-<hkern u1="&#x2c;" u2="&#xc7;" k="102" />
-<hkern u1="&#x2c;" u2="Y" k="123" />
-<hkern u1="&#x2c;" u2="W" k="123" />
-<hkern u1="&#x2c;" u2="V" k="123" />
-<hkern u1="&#x2c;" u2="U" k="41" />
-<hkern u1="&#x2c;" u2="T" k="143" />
-<hkern u1="&#x2c;" u2="Q" k="102" />
-<hkern u1="&#x2c;" u2="O" k="102" />
-<hkern u1="&#x2c;" u2="G" k="102" />
-<hkern u1="&#x2c;" u2="C" k="102" />
-<hkern u1="&#x2d;" u2="T" k="82" />
-<hkern u1="&#x2e;" u2="&#x178;" k="123" />
-<hkern u1="&#x2e;" u2="&#x152;" k="102" />
-<hkern u1="&#x2e;" u2="&#xdd;" k="123" />
-<hkern u1="&#x2e;" u2="&#xdc;" k="41" />
-<hkern u1="&#x2e;" u2="&#xdb;" k="41" />
-<hkern u1="&#x2e;" u2="&#xda;" k="41" />
-<hkern u1="&#x2e;" u2="&#xd9;" k="41" />
-<hkern u1="&#x2e;" u2="&#xd8;" k="102" />
-<hkern u1="&#x2e;" u2="&#xd6;" k="102" />
-<hkern u1="&#x2e;" u2="&#xd5;" k="102" />
-<hkern u1="&#x2e;" u2="&#xd4;" k="102" />
-<hkern u1="&#x2e;" u2="&#xd3;" k="102" />
-<hkern u1="&#x2e;" u2="&#xd2;" k="102" />
-<hkern u1="&#x2e;" u2="&#xc7;" k="102" />
-<hkern u1="&#x2e;" u2="Y" k="123" />
-<hkern u1="&#x2e;" u2="W" k="123" />
-<hkern u1="&#x2e;" u2="V" k="123" />
-<hkern u1="&#x2e;" u2="U" k="41" />
-<hkern u1="&#x2e;" u2="T" k="143" />
-<hkern u1="&#x2e;" u2="Q" k="102" />
-<hkern u1="&#x2e;" u2="O" k="102" />
-<hkern u1="&#x2e;" u2="G" k="102" />
-<hkern u1="&#x2e;" u2="C" k="102" />
-<hkern u1="A" u2="&#x201d;" k="143" />
-<hkern u1="A" u2="&#x2019;" k="143" />
-<hkern u1="A" u2="&#x178;" k="123" />
-<hkern u1="A" u2="&#x152;" k="41" />
-<hkern u1="A" u2="&#xdd;" k="123" />
-<hkern u1="A" u2="&#xd8;" k="41" />
-<hkern u1="A" u2="&#xd6;" k="41" />
-<hkern u1="A" u2="&#xd5;" k="41" />
-<hkern u1="A" u2="&#xd4;" k="41" />
-<hkern u1="A" u2="&#xd3;" k="41" />
-<hkern u1="A" u2="&#xd2;" k="41" />
-<hkern u1="A" u2="&#xc7;" k="41" />
-<hkern u1="A" u2="Y" k="123" />
-<hkern u1="A" u2="W" k="82" />
-<hkern u1="A" u2="V" k="82" />
-<hkern u1="A" u2="T" k="143" />
-<hkern u1="A" u2="Q" k="41" />
-<hkern u1="A" u2="O" k="41" />
-<hkern u1="A" u2="J" k="-266" />
-<hkern u1="A" u2="G" k="41" />
-<hkern u1="A" u2="C" k="41" />
-<hkern u1="A" u2="&#x27;" k="143" />
-<hkern u1="A" u2="&#x22;" k="143" />
-<hkern u1="B" u2="&#x201e;" k="82" />
-<hkern u1="B" u2="&#x201a;" k="82" />
-<hkern u1="B" u2="&#x178;" k="20" />
-<hkern u1="B" u2="&#xdd;" k="20" />
-<hkern u1="B" u2="&#xc5;" k="41" />
-<hkern u1="B" u2="&#xc4;" k="41" />
-<hkern u1="B" u2="&#xc3;" k="41" />
-<hkern u1="B" u2="&#xc2;" k="41" />
-<hkern u1="B" u2="&#xc1;" k="41" />
-<hkern u1="B" u2="&#xc0;" k="41" />
-<hkern u1="B" u2="Z" k="20" />
-<hkern u1="B" u2="Y" k="20" />
-<hkern u1="B" u2="X" k="41" />
-<hkern u1="B" u2="W" k="20" />
-<hkern u1="B" u2="V" k="20" />
-<hkern u1="B" u2="T" k="61" />
-<hkern u1="B" u2="A" k="41" />
-<hkern u1="B" u2="&#x2e;" k="82" />
-<hkern u1="B" u2="&#x2c;" k="82" />
-<hkern u1="C" u2="&#x152;" k="41" />
-<hkern u1="C" u2="&#xd8;" k="41" />
-<hkern u1="C" u2="&#xd6;" k="41" />
-<hkern u1="C" u2="&#xd5;" k="41" />
-<hkern u1="C" u2="&#xd4;" k="41" />
-<hkern u1="C" u2="&#xd3;" k="41" />
-<hkern u1="C" u2="&#xd2;" k="41" />
-<hkern u1="C" u2="&#xc7;" k="41" />
-<hkern u1="C" u2="Q" k="41" />
-<hkern u1="C" u2="O" k="41" />
-<hkern u1="C" u2="G" k="41" />
-<hkern u1="C" u2="C" k="41" />
-<hkern u1="D" u2="&#x201e;" k="82" />
-<hkern u1="D" u2="&#x201a;" k="82" />
-<hkern u1="D" u2="&#x178;" k="20" />
-<hkern u1="D" u2="&#xdd;" k="20" />
-<hkern u1="D" u2="&#xc5;" k="41" />
-<hkern u1="D" u2="&#xc4;" k="41" />
-<hkern u1="D" u2="&#xc3;" k="41" />
-<hkern u1="D" u2="&#xc2;" k="41" />
-<hkern u1="D" u2="&#xc1;" k="41" />
-<hkern u1="D" u2="&#xc0;" k="41" />
-<hkern u1="D" u2="Z" k="20" />
-<hkern u1="D" u2="Y" k="20" />
-<hkern u1="D" u2="X" k="41" />
-<hkern u1="D" u2="W" k="20" />
-<hkern u1="D" u2="V" k="20" />
-<hkern u1="D" u2="T" k="61" />
-<hkern u1="D" u2="A" k="41" />
-<hkern u1="D" u2="&#x2e;" k="82" />
-<hkern u1="D" u2="&#x2c;" k="82" />
-<hkern u1="E" u2="J" k="-123" />
-<hkern u1="F" u2="&#x201e;" k="123" />
-<hkern u1="F" u2="&#x201a;" k="123" />
-<hkern u1="F" u2="&#xc5;" k="41" />
-<hkern u1="F" u2="&#xc4;" k="41" />
-<hkern u1="F" u2="&#xc3;" k="41" />
-<hkern u1="F" u2="&#xc2;" k="41" />
-<hkern u1="F" u2="&#xc1;" k="41" />
-<hkern u1="F" u2="&#xc0;" k="41" />
-<hkern u1="F" u2="A" k="41" />
-<hkern u1="F" u2="&#x3f;" k="-41" />
-<hkern u1="F" u2="&#x2e;" k="123" />
-<hkern u1="F" u2="&#x2c;" k="123" />
-<hkern u1="K" u2="&#x152;" k="41" />
-<hkern u1="K" u2="&#xd8;" k="41" />
-<hkern u1="K" u2="&#xd6;" k="41" />
-<hkern u1="K" u2="&#xd5;" k="41" />
-<hkern u1="K" u2="&#xd4;" k="41" />
-<hkern u1="K" u2="&#xd3;" k="41" />
-<hkern u1="K" u2="&#xd2;" k="41" />
-<hkern u1="K" u2="&#xc7;" k="41" />
-<hkern u1="K" u2="Q" k="41" />
-<hkern u1="K" u2="O" k="41" />
-<hkern u1="K" u2="G" k="41" />
-<hkern u1="K" u2="C" k="41" />
-<hkern u1="L" u2="&#x201d;" k="164" />
-<hkern u1="L" u2="&#x2019;" k="164" />
-<hkern u1="L" u2="&#x178;" k="61" />
-<hkern u1="L" u2="&#x152;" k="41" />
-<hkern u1="L" u2="&#xdd;" k="61" />
-<hkern u1="L" u2="&#xdc;" k="20" />
-<hkern u1="L" u2="&#xdb;" k="20" />
-<hkern u1="L" u2="&#xda;" k="20" />
-<hkern u1="L" u2="&#xd9;" k="20" />
-<hkern u1="L" u2="&#xd8;" k="41" />
-<hkern u1="L" u2="&#xd6;" k="41" />
-<hkern u1="L" u2="&#xd5;" k="41" />
-<hkern u1="L" u2="&#xd4;" k="41" />
-<hkern u1="L" u2="&#xd3;" k="41" />
-<hkern u1="L" u2="&#xd2;" k="41" />
-<hkern u1="L" u2="&#xc7;" k="41" />
-<hkern u1="L" u2="Y" k="61" />
-<hkern u1="L" u2="W" k="41" />
-<hkern u1="L" u2="V" k="41" />
-<hkern u1="L" u2="U" k="20" />
-<hkern u1="L" u2="T" k="41" />
-<hkern u1="L" u2="Q" k="41" />
-<hkern u1="L" u2="O" k="41" />
-<hkern u1="L" u2="G" k="41" />
-<hkern u1="L" u2="C" k="41" />
-<hkern u1="L" u2="&#x27;" k="164" />
-<hkern u1="L" u2="&#x22;" k="164" />
-<hkern u1="O" u2="&#x201e;" k="82" />
-<hkern u1="O" u2="&#x201a;" k="82" />
-<hkern u1="O" u2="&#x178;" k="20" />
-<hkern u1="O" u2="&#xdd;" k="20" />
-<hkern u1="O" u2="&#xc5;" k="41" />
-<hkern u1="O" u2="&#xc4;" k="41" />
-<hkern u1="O" u2="&#xc3;" k="41" />
-<hkern u1="O" u2="&#xc2;" k="41" />
-<hkern u1="O" u2="&#xc1;" k="41" />
-<hkern u1="O" u2="&#xc0;" k="41" />
-<hkern u1="O" u2="Z" k="20" />
-<hkern u1="O" u2="Y" k="20" />
-<hkern u1="O" u2="X" k="41" />
-<hkern u1="O" u2="W" k="20" />
-<hkern u1="O" u2="V" k="20" />
-<hkern u1="O" u2="T" k="61" />
-<hkern u1="O" u2="A" k="41" />
-<hkern u1="O" u2="&#x2e;" k="82" />
-<hkern u1="O" u2="&#x2c;" k="82" />
-<hkern u1="P" u2="&#x201e;" k="266" />
-<hkern u1="P" u2="&#x201a;" k="266" />
-<hkern u1="P" u2="&#xc5;" k="102" />
-<hkern u1="P" u2="&#xc4;" k="102" />
-<hkern u1="P" u2="&#xc3;" k="102" />
-<hkern u1="P" u2="&#xc2;" k="102" />
-<hkern u1="P" u2="&#xc1;" k="102" />
-<hkern u1="P" u2="&#xc0;" k="102" />
-<hkern u1="P" u2="Z" k="20" />
-<hkern u1="P" u2="X" k="41" />
-<hkern u1="P" u2="A" k="102" />
-<hkern u1="P" u2="&#x2e;" k="266" />
-<hkern u1="P" u2="&#x2c;" k="266" />
-<hkern u1="Q" u2="&#x201e;" k="82" />
-<hkern u1="Q" u2="&#x201a;" k="82" />
-<hkern u1="Q" u2="&#x178;" k="20" />
-<hkern u1="Q" u2="&#xdd;" k="20" />
-<hkern u1="Q" u2="&#xc5;" k="41" />
-<hkern u1="Q" u2="&#xc4;" k="41" />
-<hkern u1="Q" u2="&#xc3;" k="41" />
-<hkern u1="Q" u2="&#xc2;" k="41" />
-<hkern u1="Q" u2="&#xc1;" k="41" />
-<hkern u1="Q" u2="&#xc0;" k="41" />
-<hkern u1="Q" u2="Z" k="20" />
-<hkern u1="Q" u2="Y" k="20" />
-<hkern u1="Q" u2="X" k="41" />
-<hkern u1="Q" u2="W" k="20" />
-<hkern u1="Q" u2="V" k="20" />
-<hkern u1="Q" u2="T" k="61" />
-<hkern u1="Q" u2="A" k="41" />
-<hkern u1="Q" u2="&#x2e;" k="82" />
-<hkern u1="Q" u2="&#x2c;" k="82" />
-<hkern u1="T" u2="&#x201e;" k="123" />
-<hkern u1="T" u2="&#x201a;" k="123" />
-<hkern u1="T" u2="&#x2014;" k="82" />
-<hkern u1="T" u2="&#x2013;" k="82" />
-<hkern u1="T" u2="&#x153;" k="143" />
-<hkern u1="T" u2="&#x152;" k="41" />
-<hkern u1="T" u2="&#xfd;" k="41" />
-<hkern u1="T" u2="&#xfc;" k="102" />
-<hkern u1="T" u2="&#xfb;" k="102" />
-<hkern u1="T" u2="&#xfa;" k="102" />
-<hkern u1="T" u2="&#xf9;" k="102" />
-<hkern u1="T" u2="&#xf8;" k="143" />
-<hkern u1="T" u2="&#xf6;" k="143" />
-<hkern u1="T" u2="&#xf5;" k="143" />
-<hkern u1="T" u2="&#xf4;" k="143" />
-<hkern u1="T" u2="&#xf3;" k="143" />
-<hkern u1="T" u2="&#xf2;" k="143" />
-<hkern u1="T" u2="&#xeb;" k="143" />
-<hkern u1="T" u2="&#xea;" k="143" />
-<hkern u1="T" u2="&#xe9;" k="143" />
-<hkern u1="T" u2="&#xe8;" k="143" />
-<hkern u1="T" u2="&#xe7;" k="143" />
-<hkern u1="T" u2="&#xe6;" k="164" />
-<hkern u1="T" u2="&#xe5;" k="164" />
-<hkern u1="T" u2="&#xe4;" k="164" />
-<hkern u1="T" u2="&#xe3;" k="164" />
-<hkern u1="T" u2="&#xe2;" k="164" />
-<hkern u1="T" u2="&#xe1;" k="164" />
-<hkern u1="T" u2="&#xe0;" k="143" />
-<hkern u1="T" u2="&#xd8;" k="41" />
-<hkern u1="T" u2="&#xd6;" k="41" />
-<hkern u1="T" u2="&#xd5;" k="41" />
-<hkern u1="T" u2="&#xd4;" k="41" />
-<hkern u1="T" u2="&#xd3;" k="41" />
-<hkern u1="T" u2="&#xd2;" k="41" />
-<hkern u1="T" u2="&#xc7;" k="41" />
-<hkern u1="T" u2="&#xc5;" k="143" />
-<hkern u1="T" u2="&#xc4;" k="143" />
-<hkern u1="T" u2="&#xc3;" k="143" />
-<hkern u1="T" u2="&#xc2;" k="143" />
-<hkern u1="T" u2="&#xc1;" k="143" />
-<hkern u1="T" u2="&#xc0;" k="143" />
-<hkern u1="T" u2="z" k="82" />
-<hkern u1="T" u2="y" k="41" />
-<hkern u1="T" u2="x" k="41" />
-<hkern u1="T" u2="w" k="41" />
-<hkern u1="T" u2="v" k="41" />
-<hkern u1="T" u2="u" k="102" />
-<hkern u1="T" u2="s" k="123" />
-<hkern u1="T" u2="r" k="102" />
-<hkern u1="T" u2="q" k="143" />
-<hkern u1="T" u2="p" k="102" />
-<hkern u1="T" u2="o" k="143" />
-<hkern u1="T" u2="n" k="102" />
-<hkern u1="T" u2="m" k="102" />
-<hkern u1="T" u2="g" k="143" />
-<hkern u1="T" u2="e" k="143" />
-<hkern u1="T" u2="d" k="143" />
-<hkern u1="T" u2="c" k="143" />
-<hkern u1="T" u2="a" k="164" />
-<hkern u1="T" u2="T" k="-41" />
-<hkern u1="T" u2="Q" k="41" />
-<hkern u1="T" u2="O" k="41" />
-<hkern u1="T" u2="G" k="41" />
-<hkern u1="T" u2="C" k="41" />
-<hkern u1="T" u2="A" k="143" />
-<hkern u1="T" u2="&#x3f;" k="-41" />
-<hkern u1="T" u2="&#x2e;" k="123" />
-<hkern u1="T" u2="&#x2d;" k="82" />
-<hkern u1="T" u2="&#x2c;" k="123" />
-<hkern u1="U" u2="&#x201e;" k="41" />
-<hkern u1="U" u2="&#x201a;" k="41" />
-<hkern u1="U" u2="&#xc5;" k="20" />
-<hkern u1="U" u2="&#xc4;" k="20" />
-<hkern u1="U" u2="&#xc3;" k="20" />
-<hkern u1="U" u2="&#xc2;" k="20" />
-<hkern u1="U" u2="&#xc1;" k="20" />
-<hkern u1="U" u2="&#xc0;" k="20" />
-<hkern u1="U" u2="A" k="20" />
-<hkern u1="U" u2="&#x2e;" k="41" />
-<hkern u1="U" u2="&#x2c;" k="41" />
-<hkern u1="V" u2="&#x201e;" k="102" />
-<hkern u1="V" u2="&#x201a;" k="102" />
-<hkern u1="V" u2="&#x153;" k="41" />
-<hkern u1="V" u2="&#x152;" k="20" />
-<hkern u1="V" u2="&#xfc;" k="20" />
-<hkern u1="V" u2="&#xfb;" k="20" />
-<hkern u1="V" u2="&#xfa;" k="20" />
-<hkern u1="V" u2="&#xf9;" k="20" />
-<hkern u1="V" u2="&#xf8;" k="41" />
-<hkern u1="V" u2="&#xf6;" k="41" />
-<hkern u1="V" u2="&#xf5;" k="41" />
-<hkern u1="V" u2="&#xf4;" k="41" />
-<hkern u1="V" u2="&#xf3;" k="41" />
-<hkern u1="V" u2="&#xf2;" k="41" />
-<hkern u1="V" u2="&#xeb;" k="41" />
-<hkern u1="V" u2="&#xea;" k="41" />
-<hkern u1="V" u2="&#xe9;" k="41" />
-<hkern u1="V" u2="&#xe8;" k="41" />
-<hkern u1="V" u2="&#xe7;" k="41" />
-<hkern u1="V" u2="&#xe6;" k="41" />
-<hkern u1="V" u2="&#xe5;" k="41" />
-<hkern u1="V" u2="&#xe4;" k="41" />
-<hkern u1="V" u2="&#xe3;" k="41" />
-<hkern u1="V" u2="&#xe2;" k="41" />
-<hkern u1="V" u2="&#xe1;" k="41" />
-<hkern u1="V" u2="&#xe0;" k="41" />
-<hkern u1="V" u2="&#xd8;" k="20" />
-<hkern u1="V" u2="&#xd6;" k="20" />
-<hkern u1="V" u2="&#xd5;" k="20" />
-<hkern u1="V" u2="&#xd4;" k="20" />
-<hkern u1="V" u2="&#xd3;" k="20" />
-<hkern u1="V" u2="&#xd2;" k="20" />
-<hkern u1="V" u2="&#xc7;" k="20" />
-<hkern u1="V" u2="&#xc5;" k="82" />
-<hkern u1="V" u2="&#xc4;" k="82" />
-<hkern u1="V" u2="&#xc3;" k="82" />
-<hkern u1="V" u2="&#xc2;" k="82" />
-<hkern u1="V" u2="&#xc1;" k="82" />
-<hkern u1="V" u2="&#xc0;" k="82" />
-<hkern u1="V" u2="u" k="20" />
-<hkern u1="V" u2="s" k="20" />
-<hkern u1="V" u2="r" k="20" />
-<hkern u1="V" u2="q" k="41" />
-<hkern u1="V" u2="p" k="20" />
-<hkern u1="V" u2="o" k="41" />
-<hkern u1="V" u2="n" k="20" />
-<hkern u1="V" u2="m" k="20" />
-<hkern u1="V" u2="g" k="20" />
-<hkern u1="V" u2="e" k="41" />
-<hkern u1="V" u2="d" k="41" />
-<hkern u1="V" u2="c" k="41" />
-<hkern u1="V" u2="a" k="41" />
-<hkern u1="V" u2="Q" k="20" />
-<hkern u1="V" u2="O" k="20" />
-<hkern u1="V" u2="G" k="20" />
-<hkern u1="V" u2="C" k="20" />
-<hkern u1="V" u2="A" k="82" />
-<hkern u1="V" u2="&#x3f;" k="-41" />
-<hkern u1="V" u2="&#x2e;" k="102" />
-<hkern u1="V" u2="&#x2c;" k="102" />
-<hkern u1="W" u2="&#x201e;" k="102" />
-<hkern u1="W" u2="&#x201a;" k="102" />
-<hkern u1="W" u2="&#x153;" k="41" />
-<hkern u1="W" u2="&#x152;" k="20" />
-<hkern u1="W" u2="&#xfc;" k="20" />
-<hkern u1="W" u2="&#xfb;" k="20" />
-<hkern u1="W" u2="&#xfa;" k="20" />
-<hkern u1="W" u2="&#xf9;" k="20" />
-<hkern u1="W" u2="&#xf8;" k="41" />
-<hkern u1="W" u2="&#xf6;" k="41" />
-<hkern u1="W" u2="&#xf5;" k="41" />
-<hkern u1="W" u2="&#xf4;" k="41" />
-<hkern u1="W" u2="&#xf3;" k="41" />
-<hkern u1="W" u2="&#xf2;" k="41" />
-<hkern u1="W" u2="&#xeb;" k="41" />
-<hkern u1="W" u2="&#xea;" k="41" />
-<hkern u1="W" u2="&#xe9;" k="41" />
-<hkern u1="W" u2="&#xe8;" k="41" />
-<hkern u1="W" u2="&#xe7;" k="41" />
-<hkern u1="W" u2="&#xe6;" k="41" />
-<hkern u1="W" u2="&#xe5;" k="41" />
-<hkern u1="W" u2="&#xe4;" k="41" />
-<hkern u1="W" u2="&#xe3;" k="41" />
-<hkern u1="W" u2="&#xe2;" k="41" />
-<hkern u1="W" u2="&#xe1;" k="41" />
-<hkern u1="W" u2="&#xe0;" k="41" />
-<hkern u1="W" u2="&#xd8;" k="20" />
-<hkern u1="W" u2="&#xd6;" k="20" />
-<hkern u1="W" u2="&#xd5;" k="20" />
-<hkern u1="W" u2="&#xd4;" k="20" />
-<hkern u1="W" u2="&#xd3;" k="20" />
-<hkern u1="W" u2="&#xd2;" k="20" />
-<hkern u1="W" u2="&#xc7;" k="20" />
-<hkern u1="W" u2="&#xc5;" k="82" />
-<hkern u1="W" u2="&#xc4;" k="82" />
-<hkern u1="W" u2="&#xc3;" k="82" />
-<hkern u1="W" u2="&#xc2;" k="82" />
-<hkern u1="W" u2="&#xc1;" k="82" />
-<hkern u1="W" u2="&#xc0;" k="82" />
-<hkern u1="W" u2="u" k="20" />
-<hkern u1="W" u2="s" k="20" />
-<hkern u1="W" u2="r" k="20" />
-<hkern u1="W" u2="q" k="41" />
-<hkern u1="W" u2="p" k="20" />
-<hkern u1="W" u2="o" k="41" />
-<hkern u1="W" u2="n" k="20" />
-<hkern u1="W" u2="m" k="20" />
-<hkern u1="W" u2="g" k="20" />
-<hkern u1="W" u2="e" k="41" />
-<hkern u1="W" u2="d" k="41" />
-<hkern u1="W" u2="c" k="41" />
-<hkern u1="W" u2="a" k="41" />
-<hkern u1="W" u2="Q" k="20" />
-<hkern u1="W" u2="O" k="20" />
-<hkern u1="W" u2="G" k="20" />
-<hkern u1="W" u2="C" k="20" />
-<hkern u1="W" u2="A" k="82" />
-<hkern u1="W" u2="&#x3f;" k="-41" />
-<hkern u1="W" u2="&#x2e;" k="102" />
-<hkern u1="W" u2="&#x2c;" k="102" />
-<hkern u1="X" u2="&#x152;" k="41" />
-<hkern u1="X" u2="&#xd8;" k="41" />
-<hkern u1="X" u2="&#xd6;" k="41" />
-<hkern u1="X" u2="&#xd5;" k="41" />
-<hkern u1="X" u2="&#xd4;" k="41" />
-<hkern u1="X" u2="&#xd3;" k="41" />
-<hkern u1="X" u2="&#xd2;" k="41" />
-<hkern u1="X" u2="&#xc7;" k="41" />
-<hkern u1="X" u2="Q" k="41" />
-<hkern u1="X" u2="O" k="41" />
-<hkern u1="X" u2="G" k="41" />
-<hkern u1="X" u2="C" k="41" />
-<hkern u1="Y" u2="&#x201e;" k="123" />
-<hkern u1="Y" u2="&#x201a;" k="123" />
-<hkern u1="Y" u2="&#x153;" k="102" />
-<hkern u1="Y" u2="&#x152;" k="41" />
-<hkern u1="Y" u2="&#xfc;" k="61" />
-<hkern u1="Y" u2="&#xfb;" k="61" />
-<hkern u1="Y" u2="&#xfa;" k="61" />
-<hkern u1="Y" u2="&#xf9;" k="61" />
-<hkern u1="Y" u2="&#xf8;" k="102" />
-<hkern u1="Y" u2="&#xf6;" k="102" />
-<hkern u1="Y" u2="&#xf5;" k="102" />
-<hkern u1="Y" u2="&#xf4;" k="102" />
-<hkern u1="Y" u2="&#xf3;" k="102" />
-<hkern u1="Y" u2="&#xf2;" k="102" />
-<hkern u1="Y" u2="&#xeb;" k="102" />
-<hkern u1="Y" u2="&#xea;" k="102" />
-<hkern u1="Y" u2="&#xe9;" k="102" />
-<hkern u1="Y" u2="&#xe8;" k="102" />
-<hkern u1="Y" u2="&#xe7;" k="102" />
-<hkern u1="Y" u2="&#xe6;" k="102" />
-<hkern u1="Y" u2="&#xe5;" k="102" />
-<hkern u1="Y" u2="&#xe4;" k="102" />
-<hkern u1="Y" u2="&#xe3;" k="102" />
-<hkern u1="Y" u2="&#xe2;" k="102" />
-<hkern u1="Y" u2="&#xe1;" k="102" />
-<hkern u1="Y" u2="&#xe0;" k="102" />
-<hkern u1="Y" u2="&#xd8;" k="41" />
-<hkern u1="Y" u2="&#xd6;" k="41" />
-<hkern u1="Y" u2="&#xd5;" k="41" />
-<hkern u1="Y" u2="&#xd4;" k="41" />
-<hkern u1="Y" u2="&#xd3;" k="41" />
-<hkern u1="Y" u2="&#xd2;" k="41" />
-<hkern u1="Y" u2="&#xc7;" k="41" />
-<hkern u1="Y" u2="&#xc5;" k="123" />
-<hkern u1="Y" u2="&#xc4;" k="123" />
-<hkern u1="Y" u2="&#xc3;" k="123" />
-<hkern u1="Y" u2="&#xc2;" k="123" />
-<hkern u1="Y" u2="&#xc1;" k="123" />
-<hkern u1="Y" u2="&#xc0;" k="123" />
-<hkern u1="Y" u2="z" k="41" />
-<hkern u1="Y" u2="u" k="61" />
-<hkern u1="Y" u2="s" k="82" />
-<hkern u1="Y" u2="r" k="61" />
-<hkern u1="Y" u2="q" k="102" />
-<hkern u1="Y" u2="p" k="61" />
-<hkern u1="Y" u2="o" k="102" />
-<hkern u1="Y" u2="n" k="61" />
-<hkern u1="Y" u2="m" k="61" />
-<hkern u1="Y" u2="g" k="41" />
-<hkern u1="Y" u2="e" k="102" />
-<hkern u1="Y" u2="d" k="102" />
-<hkern u1="Y" u2="c" k="102" />
-<hkern u1="Y" u2="a" k="102" />
-<hkern u1="Y" u2="Q" k="41" />
-<hkern u1="Y" u2="O" k="41" />
-<hkern u1="Y" u2="G" k="41" />
-<hkern u1="Y" u2="C" k="41" />
-<hkern u1="Y" u2="A" k="123" />
-<hkern u1="Y" u2="&#x3f;" k="-41" />
-<hkern u1="Y" u2="&#x2e;" k="123" />
-<hkern u1="Y" u2="&#x2c;" k="123" />
-<hkern u1="Z" u2="&#x152;" k="20" />
-<hkern u1="Z" u2="&#xd8;" k="20" />
-<hkern u1="Z" u2="&#xd6;" k="20" />
-<hkern u1="Z" u2="&#xd5;" k="20" />
-<hkern u1="Z" u2="&#xd4;" k="20" />
-<hkern u1="Z" u2="&#xd3;" k="20" />
-<hkern u1="Z" u2="&#xd2;" k="20" />
-<hkern u1="Z" u2="&#xc7;" k="20" />
-<hkern u1="Z" u2="Q" k="20" />
-<hkern u1="Z" u2="O" k="20" />
-<hkern u1="Z" u2="G" k="20" />
-<hkern u1="Z" u2="C" k="20" />
-<hkern u1="[" u2="J" k="-184" />
-<hkern u1="a" u2="&#x201d;" k="20" />
-<hkern u1="a" u2="&#x2019;" k="20" />
-<hkern u1="a" u2="&#x27;" k="20" />
-<hkern u1="a" u2="&#x22;" k="20" />
-<hkern u1="b" u2="&#x201d;" k="20" />
-<hkern u1="b" u2="&#x2019;" k="20" />
-<hkern u1="b" u2="&#xfd;" k="41" />
-<hkern u1="b" u2="z" k="20" />
-<hkern u1="b" u2="y" k="41" />
-<hkern u1="b" u2="x" k="41" />
-<hkern u1="b" u2="w" k="41" />
-<hkern u1="b" u2="v" k="41" />
-<hkern u1="b" u2="&#x27;" k="20" />
-<hkern u1="b" u2="&#x22;" k="20" />
-<hkern u1="c" u2="&#x201d;" k="-41" />
-<hkern u1="c" u2="&#x2019;" k="-41" />
-<hkern u1="c" u2="&#x27;" k="-41" />
-<hkern u1="c" u2="&#x22;" k="-41" />
-<hkern u1="e" u2="&#x201d;" k="20" />
-<hkern u1="e" u2="&#x2019;" k="20" />
-<hkern u1="e" u2="&#xfd;" k="41" />
-<hkern u1="e" u2="z" k="20" />
-<hkern u1="e" u2="y" k="41" />
-<hkern u1="e" u2="x" k="41" />
-<hkern u1="e" u2="w" k="41" />
-<hkern u1="e" u2="v" k="41" />
-<hkern u1="e" u2="&#x27;" k="20" />
-<hkern u1="e" u2="&#x22;" k="20" />
-<hkern u1="f" u2="&#x201d;" k="-123" />
-<hkern u1="f" u2="&#x2019;" k="-123" />
-<hkern u1="f" u2="&#x27;" k="-123" />
-<hkern u1="f" u2="&#x22;" k="-123" />
-<hkern u1="h" u2="&#x201d;" k="20" />
-<hkern u1="h" u2="&#x2019;" k="20" />
-<hkern u1="h" u2="&#x27;" k="20" />
-<hkern u1="h" u2="&#x22;" k="20" />
-<hkern u1="k" u2="&#x153;" k="41" />
-<hkern u1="k" u2="&#xf8;" k="41" />
-<hkern u1="k" u2="&#xf6;" k="41" />
-<hkern u1="k" u2="&#xf5;" k="41" />
-<hkern u1="k" u2="&#xf4;" k="41" />
-<hkern u1="k" u2="&#xf3;" k="41" />
-<hkern u1="k" u2="&#xf2;" k="41" />
-<hkern u1="k" u2="&#xeb;" k="41" />
-<hkern u1="k" u2="&#xea;" k="41" />
-<hkern u1="k" u2="&#xe9;" k="41" />
-<hkern u1="k" u2="&#xe8;" k="41" />
-<hkern u1="k" u2="&#xe7;" k="41" />
-<hkern u1="k" u2="&#xe0;" k="41" />
-<hkern u1="k" u2="q" k="41" />
-<hkern u1="k" u2="o" k="41" />
-<hkern u1="k" u2="e" k="41" />
-<hkern u1="k" u2="d" k="41" />
-<hkern u1="k" u2="c" k="41" />
-<hkern u1="m" u2="&#x201d;" k="20" />
-<hkern u1="m" u2="&#x2019;" k="20" />
-<hkern u1="m" u2="&#x27;" k="20" />
-<hkern u1="m" u2="&#x22;" k="20" />
-<hkern u1="n" u2="&#x201d;" k="20" />
-<hkern u1="n" u2="&#x2019;" k="20" />
-<hkern u1="n" u2="&#x27;" k="20" />
-<hkern u1="n" u2="&#x22;" k="20" />
-<hkern u1="o" u2="&#x201d;" k="20" />
-<hkern u1="o" u2="&#x2019;" k="20" />
-<hkern u1="o" u2="&#xfd;" k="41" />
-<hkern u1="o" u2="z" k="20" />
-<hkern u1="o" u2="y" k="41" />
-<hkern u1="o" u2="x" k="41" />
-<hkern u1="o" u2="w" k="41" />
-<hkern u1="o" u2="v" k="41" />
-<hkern u1="o" u2="&#x27;" k="20" />
-<hkern u1="o" u2="&#x22;" k="20" />
-<hkern u1="p" u2="&#x201d;" k="20" />
-<hkern u1="p" u2="&#x2019;" k="20" />
-<hkern u1="p" u2="&#xfd;" k="41" />
-<hkern u1="p" u2="z" k="20" />
-<hkern u1="p" u2="y" k="41" />
-<hkern u1="p" u2="x" k="41" />
-<hkern u1="p" u2="w" k="41" />
-<hkern u1="p" u2="v" k="41" />
-<hkern u1="p" u2="&#x27;" k="20" />
-<hkern u1="p" u2="&#x22;" k="20" />
-<hkern u1="r" u2="&#x201d;" k="-82" />
-<hkern u1="r" u2="&#x2019;" k="-82" />
-<hkern u1="r" u2="&#x153;" k="41" />
-<hkern u1="r" u2="&#xf8;" k="41" />
-<hkern u1="r" u2="&#xf6;" k="41" />
-<hkern u1="r" u2="&#xf5;" k="41" />
-<hkern u1="r" u2="&#xf4;" k="41" />
-<hkern u1="r" u2="&#xf3;" k="41" />
-<hkern u1="r" u2="&#xf2;" k="41" />
-<hkern u1="r" u2="&#xeb;" k="41" />
-<hkern u1="r" u2="&#xea;" k="41" />
-<hkern u1="r" u2="&#xe9;" k="41" />
-<hkern u1="r" u2="&#xe8;" k="41" />
-<hkern u1="r" u2="&#xe7;" k="41" />
-<hkern u1="r" u2="&#xe6;" k="41" />
-<hkern u1="r" u2="&#xe5;" k="41" />
-<hkern u1="r" u2="&#xe4;" k="41" />
-<hkern u1="r" u2="&#xe3;" k="41" />
-<hkern u1="r" u2="&#xe2;" k="41" />
-<hkern u1="r" u2="&#xe1;" k="41" />
-<hkern u1="r" u2="&#xe0;" k="41" />
-<hkern u1="r" u2="q" k="41" />
-<hkern u1="r" u2="o" k="41" />
-<hkern u1="r" u2="g" k="20" />
-<hkern u1="r" u2="e" k="41" />
-<hkern u1="r" u2="d" k="41" />
-<hkern u1="r" u2="c" k="41" />
-<hkern u1="r" u2="a" k="41" />
-<hkern u1="r" u2="&#x27;" k="-82" />
-<hkern u1="r" u2="&#x22;" k="-82" />
-<hkern u1="t" u2="&#x201d;" k="-41" />
-<hkern u1="t" u2="&#x2019;" k="-41" />
-<hkern u1="t" u2="&#x27;" k="-41" />
-<hkern u1="t" u2="&#x22;" k="-41" />
-<hkern u1="v" u2="&#x201e;" k="82" />
-<hkern u1="v" u2="&#x201d;" k="-82" />
-<hkern u1="v" u2="&#x201a;" k="82" />
-<hkern u1="v" u2="&#x2019;" k="-82" />
-<hkern u1="v" u2="&#x3f;" k="-41" />
-<hkern u1="v" u2="&#x2e;" k="82" />
-<hkern u1="v" u2="&#x2c;" k="82" />
-<hkern u1="v" u2="&#x27;" k="-82" />
-<hkern u1="v" u2="&#x22;" k="-82" />
-<hkern u1="w" u2="&#x201e;" k="82" />
-<hkern u1="w" u2="&#x201d;" k="-82" />
-<hkern u1="w" u2="&#x201a;" k="82" />
-<hkern u1="w" u2="&#x2019;" k="-82" />
-<hkern u1="w" u2="&#x3f;" k="-41" />
-<hkern u1="w" u2="&#x2e;" k="82" />
-<hkern u1="w" u2="&#x2c;" k="82" />
-<hkern u1="w" u2="&#x27;" k="-82" />
-<hkern u1="w" u2="&#x22;" k="-82" />
-<hkern u1="x" u2="&#x153;" k="41" />
-<hkern u1="x" u2="&#xf8;" k="41" />
-<hkern u1="x" u2="&#xf6;" k="41" />
-<hkern u1="x" u2="&#xf5;" k="41" />
-<hkern u1="x" u2="&#xf4;" k="41" />
-<hkern u1="x" u2="&#xf3;" k="41" />
-<hkern u1="x" u2="&#xf2;" k="41" />
-<hkern u1="x" u2="&#xeb;" k="41" />
-<hkern u1="x" u2="&#xea;" k="41" />
-<hkern u1="x" u2="&#xe9;" k="41" />
-<hkern u1="x" u2="&#xe8;" k="41" />
-<hkern u1="x" u2="&#xe7;" k="41" />
-<hkern u1="x" u2="&#xe0;" k="41" />
-<hkern u1="x" u2="q" k="41" />
-<hkern u1="x" u2="o" k="41" />
-<hkern u1="x" u2="e" k="41" />
-<hkern u1="x" u2="d" k="41" />
-<hkern u1="x" u2="c" k="41" />
-<hkern u1="y" u2="&#x201e;" k="82" />
-<hkern u1="y" u2="&#x201d;" k="-82" />
-<hkern u1="y" u2="&#x201a;" k="82" />
-<hkern u1="y" u2="&#x2019;" k="-82" />
-<hkern u1="y" u2="&#x3f;" k="-41" />
-<hkern u1="y" u2="&#x2e;" k="82" />
-<hkern u1="y" u2="&#x2c;" k="82" />
-<hkern u1="y" u2="&#x27;" k="-82" />
-<hkern u1="y" u2="&#x22;" k="-82" />
-<hkern u1="&#x7b;" u2="J" k="-184" />
-<hkern u1="&#xc0;" u2="&#x201d;" k="143" />
-<hkern u1="&#xc0;" u2="&#x2019;" k="143" />
-<hkern u1="&#xc0;" u2="&#x178;" k="123" />
-<hkern u1="&#xc0;" u2="&#x152;" k="41" />
-<hkern u1="&#xc0;" u2="&#xdd;" k="123" />
-<hkern u1="&#xc0;" u2="&#xd8;" k="41" />
-<hkern u1="&#xc0;" u2="&#xd6;" k="41" />
-<hkern u1="&#xc0;" u2="&#xd5;" k="41" />
-<hkern u1="&#xc0;" u2="&#xd4;" k="41" />
-<hkern u1="&#xc0;" u2="&#xd3;" k="41" />
-<hkern u1="&#xc0;" u2="&#xd2;" k="41" />
-<hkern u1="&#xc0;" u2="&#xc7;" k="41" />
-<hkern u1="&#xc0;" u2="Y" k="123" />
-<hkern u1="&#xc0;" u2="W" k="82" />
-<hkern u1="&#xc0;" u2="V" k="82" />
-<hkern u1="&#xc0;" u2="T" k="143" />
-<hkern u1="&#xc0;" u2="Q" k="41" />
-<hkern u1="&#xc0;" u2="O" k="41" />
-<hkern u1="&#xc0;" u2="J" k="-266" />
-<hkern u1="&#xc0;" u2="G" k="41" />
-<hkern u1="&#xc0;" u2="C" k="41" />
-<hkern u1="&#xc0;" u2="&#x27;" k="143" />
-<hkern u1="&#xc0;" u2="&#x22;" k="143" />
-<hkern u1="&#xc1;" u2="&#x201d;" k="143" />
-<hkern u1="&#xc1;" u2="&#x2019;" k="143" />
-<hkern u1="&#xc1;" u2="&#x178;" k="123" />
-<hkern u1="&#xc1;" u2="&#x152;" k="41" />
-<hkern u1="&#xc1;" u2="&#xdd;" k="123" />
-<hkern u1="&#xc1;" u2="&#xd8;" k="41" />
-<hkern u1="&#xc1;" u2="&#xd6;" k="41" />
-<hkern u1="&#xc1;" u2="&#xd5;" k="41" />
-<hkern u1="&#xc1;" u2="&#xd4;" k="41" />
-<hkern u1="&#xc1;" u2="&#xd3;" k="41" />
-<hkern u1="&#xc1;" u2="&#xd2;" k="41" />
-<hkern u1="&#xc1;" u2="&#xc7;" k="41" />
-<hkern u1="&#xc1;" u2="Y" k="123" />
-<hkern u1="&#xc1;" u2="W" k="82" />
-<hkern u1="&#xc1;" u2="V" k="82" />
-<hkern u1="&#xc1;" u2="T" k="143" />
-<hkern u1="&#xc1;" u2="Q" k="41" />
-<hkern u1="&#xc1;" u2="O" k="41" />
-<hkern u1="&#xc1;" u2="J" k="-266" />
-<hkern u1="&#xc1;" u2="G" k="41" />
-<hkern u1="&#xc1;" u2="C" k="41" />
-<hkern u1="&#xc1;" u2="&#x27;" k="143" />
-<hkern u1="&#xc1;" u2="&#x22;" k="143" />
-<hkern u1="&#xc2;" u2="&#x201d;" k="143" />
-<hkern u1="&#xc2;" u2="&#x2019;" k="143" />
-<hkern u1="&#xc2;" u2="&#x178;" k="123" />
-<hkern u1="&#xc2;" u2="&#x152;" k="41" />
-<hkern u1="&#xc2;" u2="&#xdd;" k="123" />
-<hkern u1="&#xc2;" u2="&#xd8;" k="41" />
-<hkern u1="&#xc2;" u2="&#xd6;" k="41" />
-<hkern u1="&#xc2;" u2="&#xd5;" k="41" />
-<hkern u1="&#xc2;" u2="&#xd4;" k="41" />
-<hkern u1="&#xc2;" u2="&#xd3;" k="41" />
-<hkern u1="&#xc2;" u2="&#xd2;" k="41" />
-<hkern u1="&#xc2;" u2="&#xc7;" k="41" />
-<hkern u1="&#xc2;" u2="Y" k="123" />
-<hkern u1="&#xc2;" u2="W" k="82" />
-<hkern u1="&#xc2;" u2="V" k="82" />
-<hkern u1="&#xc2;" u2="T" k="143" />
-<hkern u1="&#xc2;" u2="Q" k="41" />
-<hkern u1="&#xc2;" u2="O" k="41" />
-<hkern u1="&#xc2;" u2="J" k="-266" />
-<hkern u1="&#xc2;" u2="G" k="41" />
-<hkern u1="&#xc2;" u2="C" k="41" />
-<hkern u1="&#xc2;" u2="&#x27;" k="143" />
-<hkern u1="&#xc2;" u2="&#x22;" k="143" />
-<hkern u1="&#xc3;" u2="&#x201d;" k="143" />
-<hkern u1="&#xc3;" u2="&#x2019;" k="143" />
-<hkern u1="&#xc3;" u2="&#x178;" k="123" />
-<hkern u1="&#xc3;" u2="&#x152;" k="41" />
-<hkern u1="&#xc3;" u2="&#xdd;" k="123" />
-<hkern u1="&#xc3;" u2="&#xd8;" k="41" />
-<hkern u1="&#xc3;" u2="&#xd6;" k="41" />
-<hkern u1="&#xc3;" u2="&#xd5;" k="41" />
-<hkern u1="&#xc3;" u2="&#xd4;" k="41" />
-<hkern u1="&#xc3;" u2="&#xd3;" k="41" />
-<hkern u1="&#xc3;" u2="&#xd2;" k="41" />
-<hkern u1="&#xc3;" u2="&#xc7;" k="41" />
-<hkern u1="&#xc3;" u2="Y" k="123" />
-<hkern u1="&#xc3;" u2="W" k="82" />
-<hkern u1="&#xc3;" u2="V" k="82" />
-<hkern u1="&#xc3;" u2="T" k="143" />
-<hkern u1="&#xc3;" u2="Q" k="41" />
-<hkern u1="&#xc3;" u2="O" k="41" />
-<hkern u1="&#xc3;" u2="J" k="-266" />
-<hkern u1="&#xc3;" u2="G" k="41" />
-<hkern u1="&#xc3;" u2="C" k="41" />
-<hkern u1="&#xc3;" u2="&#x27;" k="143" />
-<hkern u1="&#xc3;" u2="&#x22;" k="143" />
-<hkern u1="&#xc4;" u2="&#x201d;" k="143" />
-<hkern u1="&#xc4;" u2="&#x2019;" k="143" />
-<hkern u1="&#xc4;" u2="&#x178;" k="123" />
-<hkern u1="&#xc4;" u2="&#x152;" k="41" />
-<hkern u1="&#xc4;" u2="&#xdd;" k="123" />
-<hkern u1="&#xc4;" u2="&#xd8;" k="41" />
-<hkern u1="&#xc4;" u2="&#xd6;" k="41" />
-<hkern u1="&#xc4;" u2="&#xd5;" k="41" />
-<hkern u1="&#xc4;" u2="&#xd4;" k="41" />
-<hkern u1="&#xc4;" u2="&#xd3;" k="41" />
-<hkern u1="&#xc4;" u2="&#xd2;" k="41" />
-<hkern u1="&#xc4;" u2="&#xc7;" k="41" />
-<hkern u1="&#xc4;" u2="Y" k="123" />
-<hkern u1="&#xc4;" u2="W" k="82" />
-<hkern u1="&#xc4;" u2="V" k="82" />
-<hkern u1="&#xc4;" u2="T" k="143" />
-<hkern u1="&#xc4;" u2="Q" k="41" />
-<hkern u1="&#xc4;" u2="O" k="41" />
-<hkern u1="&#xc4;" u2="J" k="-266" />
-<hkern u1="&#xc4;" u2="G" k="41" />
-<hkern u1="&#xc4;" u2="C" k="41" />
-<hkern u1="&#xc4;" u2="&#x27;" k="143" />
-<hkern u1="&#xc4;" u2="&#x22;" k="143" />
-<hkern u1="&#xc5;" u2="&#x201d;" k="143" />
-<hkern u1="&#xc5;" u2="&#x2019;" k="143" />
-<hkern u1="&#xc5;" u2="&#x178;" k="123" />
-<hkern u1="&#xc5;" u2="&#x152;" k="41" />
-<hkern u1="&#xc5;" u2="&#xdd;" k="123" />
-<hkern u1="&#xc5;" u2="&#xd8;" k="41" />
-<hkern u1="&#xc5;" u2="&#xd6;" k="41" />
-<hkern u1="&#xc5;" u2="&#xd5;" k="41" />
-<hkern u1="&#xc5;" u2="&#xd4;" k="41" />
-<hkern u1="&#xc5;" u2="&#xd3;" k="41" />
-<hkern u1="&#xc5;" u2="&#xd2;" k="41" />
-<hkern u1="&#xc5;" u2="&#xc7;" k="41" />
-<hkern u1="&#xc5;" u2="Y" k="123" />
-<hkern u1="&#xc5;" u2="W" k="82" />
-<hkern u1="&#xc5;" u2="V" k="82" />
-<hkern u1="&#xc5;" u2="T" k="143" />
-<hkern u1="&#xc5;" u2="Q" k="41" />
-<hkern u1="&#xc5;" u2="O" k="41" />
-<hkern u1="&#xc5;" u2="J" k="-266" />
-<hkern u1="&#xc5;" u2="G" k="41" />
-<hkern u1="&#xc5;" u2="C" k="41" />
-<hkern u1="&#xc5;" u2="&#x27;" k="143" />
-<hkern u1="&#xc5;" u2="&#x22;" k="143" />
-<hkern u1="&#xc6;" u2="J" k="-123" />
-<hkern u1="&#xc7;" u2="&#x152;" k="41" />
-<hkern u1="&#xc7;" u2="&#xd8;" k="41" />
-<hkern u1="&#xc7;" u2="&#xd6;" k="41" />
-<hkern u1="&#xc7;" u2="&#xd5;" k="41" />
-<hkern u1="&#xc7;" u2="&#xd4;" k="41" />
-<hkern u1="&#xc7;" u2="&#xd3;" k="41" />
-<hkern u1="&#xc7;" u2="&#xd2;" k="41" />
-<hkern u1="&#xc7;" u2="&#xc7;" k="41" />
-<hkern u1="&#xc7;" u2="Q" k="41" />
-<hkern u1="&#xc7;" u2="O" k="41" />
-<hkern u1="&#xc7;" u2="G" k="41" />
-<hkern u1="&#xc7;" u2="C" k="41" />
-<hkern u1="&#xc8;" u2="J" k="-123" />
-<hkern u1="&#xc9;" u2="J" k="-123" />
-<hkern u1="&#xca;" u2="J" k="-123" />
-<hkern u1="&#xcb;" u2="J" k="-123" />
-<hkern u1="&#xd0;" u2="&#x201e;" k="82" />
-<hkern u1="&#xd0;" u2="&#x201a;" k="82" />
-<hkern u1="&#xd0;" u2="&#x178;" k="20" />
-<hkern u1="&#xd0;" u2="&#xdd;" k="20" />
-<hkern u1="&#xd0;" u2="&#xc5;" k="41" />
-<hkern u1="&#xd0;" u2="&#xc4;" k="41" />
-<hkern u1="&#xd0;" u2="&#xc3;" k="41" />
-<hkern u1="&#xd0;" u2="&#xc2;" k="41" />
-<hkern u1="&#xd0;" u2="&#xc1;" k="41" />
-<hkern u1="&#xd0;" u2="&#xc0;" k="41" />
-<hkern u1="&#xd0;" u2="Z" k="20" />
-<hkern u1="&#xd0;" u2="Y" k="20" />
-<hkern u1="&#xd0;" u2="X" k="41" />
-<hkern u1="&#xd0;" u2="W" k="20" />
-<hkern u1="&#xd0;" u2="V" k="20" />
-<hkern u1="&#xd0;" u2="T" k="61" />
-<hkern u1="&#xd0;" u2="A" k="41" />
-<hkern u1="&#xd0;" u2="&#x2e;" k="82" />
-<hkern u1="&#xd0;" u2="&#x2c;" k="82" />
-<hkern u1="&#xd2;" u2="&#x201e;" k="82" />
-<hkern u1="&#xd2;" u2="&#x201a;" k="82" />
-<hkern u1="&#xd2;" u2="&#x178;" k="20" />
-<hkern u1="&#xd2;" u2="&#xdd;" k="20" />
-<hkern u1="&#xd2;" u2="&#xc5;" k="41" />
-<hkern u1="&#xd2;" u2="&#xc4;" k="41" />
-<hkern u1="&#xd2;" u2="&#xc3;" k="41" />
-<hkern u1="&#xd2;" u2="&#xc2;" k="41" />
-<hkern u1="&#xd2;" u2="&#xc1;" k="41" />
-<hkern u1="&#xd2;" u2="&#xc0;" k="41" />
-<hkern u1="&#xd2;" u2="Z" k="20" />
-<hkern u1="&#xd2;" u2="Y" k="20" />
-<hkern u1="&#xd2;" u2="X" k="41" />
-<hkern u1="&#xd2;" u2="W" k="20" />
-<hkern u1="&#xd2;" u2="V" k="20" />
-<hkern u1="&#xd2;" u2="T" k="61" />
-<hkern u1="&#xd2;" u2="A" k="41" />
-<hkern u1="&#xd2;" u2="&#x2e;" k="82" />
-<hkern u1="&#xd2;" u2="&#x2c;" k="82" />
-<hkern u1="&#xd3;" u2="&#x201e;" k="82" />
-<hkern u1="&#xd3;" u2="&#x201a;" k="82" />
-<hkern u1="&#xd3;" u2="&#x178;" k="20" />
-<hkern u1="&#xd3;" u2="&#xdd;" k="20" />
-<hkern u1="&#xd3;" u2="&#xc5;" k="41" />
-<hkern u1="&#xd3;" u2="&#xc4;" k="41" />
-<hkern u1="&#xd3;" u2="&#xc3;" k="41" />
-<hkern u1="&#xd3;" u2="&#xc2;" k="41" />
-<hkern u1="&#xd3;" u2="&#xc1;" k="41" />
-<hkern u1="&#xd3;" u2="&#xc0;" k="41" />
-<hkern u1="&#xd3;" u2="Z" k="20" />
-<hkern u1="&#xd3;" u2="Y" k="20" />
-<hkern u1="&#xd3;" u2="X" k="41" />
-<hkern u1="&#xd3;" u2="W" k="20" />
-<hkern u1="&#xd3;" u2="V" k="20" />
-<hkern u1="&#xd3;" u2="T" k="61" />
-<hkern u1="&#xd3;" u2="A" k="41" />
-<hkern u1="&#xd3;" u2="&#x2e;" k="82" />
-<hkern u1="&#xd3;" u2="&#x2c;" k="82" />
-<hkern u1="&#xd4;" u2="&#x201e;" k="82" />
-<hkern u1="&#xd4;" u2="&#x201a;" k="82" />
-<hkern u1="&#xd4;" u2="&#x178;" k="20" />
-<hkern u1="&#xd4;" u2="&#xdd;" k="20" />
-<hkern u1="&#xd4;" u2="&#xc5;" k="41" />
-<hkern u1="&#xd4;" u2="&#xc4;" k="41" />
-<hkern u1="&#xd4;" u2="&#xc3;" k="41" />
-<hkern u1="&#xd4;" u2="&#xc2;" k="41" />
-<hkern u1="&#xd4;" u2="&#xc1;" k="41" />
-<hkern u1="&#xd4;" u2="&#xc0;" k="41" />
-<hkern u1="&#xd4;" u2="Z" k="20" />
-<hkern u1="&#xd4;" u2="Y" k="20" />
-<hkern u1="&#xd4;" u2="X" k="41" />
-<hkern u1="&#xd4;" u2="W" k="20" />
-<hkern u1="&#xd4;" u2="V" k="20" />
-<hkern u1="&#xd4;" u2="T" k="61" />
-<hkern u1="&#xd4;" u2="A" k="41" />
-<hkern u1="&#xd4;" u2="&#x2e;" k="82" />
-<hkern u1="&#xd4;" u2="&#x2c;" k="82" />
-<hkern u1="&#xd5;" u2="&#x201e;" k="82" />
-<hkern u1="&#xd5;" u2="&#x201a;" k="82" />
-<hkern u1="&#xd5;" u2="&#x178;" k="20" />
-<hkern u1="&#xd5;" u2="&#xdd;" k="20" />
-<hkern u1="&#xd5;" u2="&#xc5;" k="41" />
-<hkern u1="&#xd5;" u2="&#xc4;" k="41" />
-<hkern u1="&#xd5;" u2="&#xc3;" k="41" />
-<hkern u1="&#xd5;" u2="&#xc2;" k="41" />
-<hkern u1="&#xd5;" u2="&#xc1;" k="41" />
-<hkern u1="&#xd5;" u2="&#xc0;" k="41" />
-<hkern u1="&#xd5;" u2="Z" k="20" />
-<hkern u1="&#xd5;" u2="Y" k="20" />
-<hkern u1="&#xd5;" u2="X" k="41" />
-<hkern u1="&#xd5;" u2="W" k="20" />
-<hkern u1="&#xd5;" u2="V" k="20" />
-<hkern u1="&#xd5;" u2="T" k="61" />
-<hkern u1="&#xd5;" u2="A" k="41" />
-<hkern u1="&#xd5;" u2="&#x2e;" k="82" />
-<hkern u1="&#xd5;" u2="&#x2c;" k="82" />
-<hkern u1="&#xd6;" u2="&#x201e;" k="82" />
-<hkern u1="&#xd6;" u2="&#x201a;" k="82" />
-<hkern u1="&#xd6;" u2="&#x178;" k="20" />
-<hkern u1="&#xd6;" u2="&#xdd;" k="20" />
-<hkern u1="&#xd6;" u2="&#xc5;" k="41" />
-<hkern u1="&#xd6;" u2="&#xc4;" k="41" />
-<hkern u1="&#xd6;" u2="&#xc3;" k="41" />
-<hkern u1="&#xd6;" u2="&#xc2;" k="41" />
-<hkern u1="&#xd6;" u2="&#xc1;" k="41" />
-<hkern u1="&#xd6;" u2="&#xc0;" k="41" />
-<hkern u1="&#xd6;" u2="Z" k="20" />
-<hkern u1="&#xd6;" u2="Y" k="20" />
-<hkern u1="&#xd6;" u2="X" k="41" />
-<hkern u1="&#xd6;" u2="W" k="20" />
-<hkern u1="&#xd6;" u2="V" k="20" />
-<hkern u1="&#xd6;" u2="T" k="61" />
-<hkern u1="&#xd6;" u2="A" k="41" />
-<hkern u1="&#xd6;" u2="&#x2e;" k="82" />
-<hkern u1="&#xd6;" u2="&#x2c;" k="82" />
-<hkern u1="&#xd8;" u2="&#x201e;" k="82" />
-<hkern u1="&#xd8;" u2="&#x201a;" k="82" />
-<hkern u1="&#xd8;" u2="&#x178;" k="20" />
-<hkern u1="&#xd8;" u2="&#xdd;" k="20" />
-<hkern u1="&#xd8;" u2="&#xc5;" k="41" />
-<hkern u1="&#xd8;" u2="&#xc4;" k="41" />
-<hkern u1="&#xd8;" u2="&#xc3;" k="41" />
-<hkern u1="&#xd8;" u2="&#xc2;" k="41" />
-<hkern u1="&#xd8;" u2="&#xc1;" k="41" />
-<hkern u1="&#xd8;" u2="&#xc0;" k="41" />
-<hkern u1="&#xd8;" u2="Z" k="20" />
-<hkern u1="&#xd8;" u2="Y" k="20" />
-<hkern u1="&#xd8;" u2="X" k="41" />
-<hkern u1="&#xd8;" u2="W" k="20" />
-<hkern u1="&#xd8;" u2="V" k="20" />
-<hkern u1="&#xd8;" u2="T" k="61" />
-<hkern u1="&#xd8;" u2="A" k="41" />
-<hkern u1="&#xd8;" u2="&#x2e;" k="82" />
-<hkern u1="&#xd8;" u2="&#x2c;" k="82" />
-<hkern u1="&#xd9;" u2="&#x201e;" k="41" />
-<hkern u1="&#xd9;" u2="&#x201a;" k="41" />
-<hkern u1="&#xd9;" u2="&#xc5;" k="20" />
-<hkern u1="&#xd9;" u2="&#xc4;" k="20" />
-<hkern u1="&#xd9;" u2="&#xc3;" k="20" />
-<hkern u1="&#xd9;" u2="&#xc2;" k="20" />
-<hkern u1="&#xd9;" u2="&#xc1;" k="20" />
-<hkern u1="&#xd9;" u2="&#xc0;" k="20" />
-<hkern u1="&#xd9;" u2="A" k="20" />
-<hkern u1="&#xd9;" u2="&#x2e;" k="41" />
-<hkern u1="&#xd9;" u2="&#x2c;" k="41" />
-<hkern u1="&#xda;" u2="&#x201e;" k="41" />
-<hkern u1="&#xda;" u2="&#x201a;" k="41" />
-<hkern u1="&#xda;" u2="&#xc5;" k="20" />
-<hkern u1="&#xda;" u2="&#xc4;" k="20" />
-<hkern u1="&#xda;" u2="&#xc3;" k="20" />
-<hkern u1="&#xda;" u2="&#xc2;" k="20" />
-<hkern u1="&#xda;" u2="&#xc1;" k="20" />
-<hkern u1="&#xda;" u2="&#xc0;" k="20" />
-<hkern u1="&#xda;" u2="A" k="20" />
-<hkern u1="&#xda;" u2="&#x2e;" k="41" />
-<hkern u1="&#xda;" u2="&#x2c;" k="41" />
-<hkern u1="&#xdb;" u2="&#x201e;" k="41" />
-<hkern u1="&#xdb;" u2="&#x201a;" k="41" />
-<hkern u1="&#xdb;" u2="&#xc5;" k="20" />
-<hkern u1="&#xdb;" u2="&#xc4;" k="20" />
-<hkern u1="&#xdb;" u2="&#xc3;" k="20" />
-<hkern u1="&#xdb;" u2="&#xc2;" k="20" />
-<hkern u1="&#xdb;" u2="&#xc1;" k="20" />
-<hkern u1="&#xdb;" u2="&#xc0;" k="20" />
-<hkern u1="&#xdb;" u2="A" k="20" />
-<hkern u1="&#xdb;" u2="&#x2e;" k="41" />
-<hkern u1="&#xdb;" u2="&#x2c;" k="41" />
-<hkern u1="&#xdc;" u2="&#x201e;" k="41" />
-<hkern u1="&#xdc;" u2="&#x201a;" k="41" />
-<hkern u1="&#xdc;" u2="&#xc5;" k="20" />
-<hkern u1="&#xdc;" u2="&#xc4;" k="20" />
-<hkern u1="&#xdc;" u2="&#xc3;" k="20" />
-<hkern u1="&#xdc;" u2="&#xc2;" k="20" />
-<hkern u1="&#xdc;" u2="&#xc1;" k="20" />
-<hkern u1="&#xdc;" u2="&#xc0;" k="20" />
-<hkern u1="&#xdc;" u2="A" k="20" />
-<hkern u1="&#xdc;" u2="&#x2e;" k="41" />
-<hkern u1="&#xdc;" u2="&#x2c;" k="41" />
-<hkern u1="&#xdd;" u2="&#x201e;" k="123" />
-<hkern u1="&#xdd;" u2="&#x201a;" k="123" />
-<hkern u1="&#xdd;" u2="&#x153;" k="102" />
-<hkern u1="&#xdd;" u2="&#x152;" k="41" />
-<hkern u1="&#xdd;" u2="&#xfc;" k="61" />
-<hkern u1="&#xdd;" u2="&#xfb;" k="61" />
-<hkern u1="&#xdd;" u2="&#xfa;" k="61" />
-<hkern u1="&#xdd;" u2="&#xf9;" k="61" />
-<hkern u1="&#xdd;" u2="&#xf8;" k="102" />
-<hkern u1="&#xdd;" u2="&#xf6;" k="102" />
-<hkern u1="&#xdd;" u2="&#xf5;" k="102" />
-<hkern u1="&#xdd;" u2="&#xf4;" k="102" />
-<hkern u1="&#xdd;" u2="&#xf3;" k="102" />
-<hkern u1="&#xdd;" u2="&#xf2;" k="102" />
-<hkern u1="&#xdd;" u2="&#xeb;" k="102" />
-<hkern u1="&#xdd;" u2="&#xea;" k="102" />
-<hkern u1="&#xdd;" u2="&#xe9;" k="102" />
-<hkern u1="&#xdd;" u2="&#xe8;" k="102" />
-<hkern u1="&#xdd;" u2="&#xe7;" k="102" />
-<hkern u1="&#xdd;" u2="&#xe6;" k="102" />
-<hkern u1="&#xdd;" u2="&#xe5;" k="102" />
-<hkern u1="&#xdd;" u2="&#xe4;" k="102" />
-<hkern u1="&#xdd;" u2="&#xe3;" k="102" />
-<hkern u1="&#xdd;" u2="&#xe2;" k="102" />
-<hkern u1="&#xdd;" u2="&#xe1;" k="102" />
-<hkern u1="&#xdd;" u2="&#xe0;" k="102" />
-<hkern u1="&#xdd;" u2="&#xd8;" k="41" />
-<hkern u1="&#xdd;" u2="&#xd6;" k="41" />
-<hkern u1="&#xdd;" u2="&#xd5;" k="41" />
-<hkern u1="&#xdd;" u2="&#xd4;" k="41" />
-<hkern u1="&#xdd;" u2="&#xd3;" k="41" />
-<hkern u1="&#xdd;" u2="&#xd2;" k="41" />
-<hkern u1="&#xdd;" u2="&#xc7;" k="41" />
-<hkern u1="&#xdd;" u2="&#xc5;" k="123" />
-<hkern u1="&#xdd;" u2="&#xc4;" k="123" />
-<hkern u1="&#xdd;" u2="&#xc3;" k="123" />
-<hkern u1="&#xdd;" u2="&#xc2;" k="123" />
-<hkern u1="&#xdd;" u2="&#xc1;" k="123" />
-<hkern u1="&#xdd;" u2="&#xc0;" k="123" />
-<hkern u1="&#xdd;" u2="z" k="41" />
-<hkern u1="&#xdd;" u2="u" k="61" />
-<hkern u1="&#xdd;" u2="s" k="82" />
-<hkern u1="&#xdd;" u2="r" k="61" />
-<hkern u1="&#xdd;" u2="q" k="102" />
-<hkern u1="&#xdd;" u2="p" k="61" />
-<hkern u1="&#xdd;" u2="o" k="102" />
-<hkern u1="&#xdd;" u2="n" k="61" />
-<hkern u1="&#xdd;" u2="m" k="61" />
-<hkern u1="&#xdd;" u2="g" k="41" />
-<hkern u1="&#xdd;" u2="e" k="102" />
-<hkern u1="&#xdd;" u2="d" k="102" />
-<hkern u1="&#xdd;" u2="c" k="102" />
-<hkern u1="&#xdd;" u2="a" k="102" />
-<hkern u1="&#xdd;" u2="Q" k="41" />
-<hkern u1="&#xdd;" u2="O" k="41" />
-<hkern u1="&#xdd;" u2="G" k="41" />
-<hkern u1="&#xdd;" u2="C" k="41" />
-<hkern u1="&#xdd;" u2="A" k="123" />
-<hkern u1="&#xdd;" u2="&#x3f;" k="-41" />
-<hkern u1="&#xdd;" u2="&#x2e;" k="123" />
-<hkern u1="&#xdd;" u2="&#x2c;" k="123" />
-<hkern u1="&#xde;" u2="&#x201e;" k="266" />
-<hkern u1="&#xde;" u2="&#x201a;" k="266" />
-<hkern u1="&#xde;" u2="&#xc5;" k="102" />
-<hkern u1="&#xde;" u2="&#xc4;" k="102" />
-<hkern u1="&#xde;" u2="&#xc3;" k="102" />
-<hkern u1="&#xde;" u2="&#xc2;" k="102" />
-<hkern u1="&#xde;" u2="&#xc1;" k="102" />
-<hkern u1="&#xde;" u2="&#xc0;" k="102" />
-<hkern u1="&#xde;" u2="Z" k="20" />
-<hkern u1="&#xde;" u2="X" k="41" />
-<hkern u1="&#xde;" u2="A" k="102" />
-<hkern u1="&#xde;" u2="&#x2e;" k="266" />
-<hkern u1="&#xde;" u2="&#x2c;" k="266" />
-<hkern u1="&#xe0;" u2="&#x201d;" k="20" />
-<hkern u1="&#xe0;" u2="&#x2019;" k="20" />
-<hkern u1="&#xe0;" u2="&#x27;" k="20" />
-<hkern u1="&#xe0;" u2="&#x22;" k="20" />
-<hkern u1="&#xe1;" u2="&#x201d;" k="20" />
-<hkern u1="&#xe1;" u2="&#x2019;" k="20" />
-<hkern u1="&#xe1;" u2="&#x27;" k="20" />
-<hkern u1="&#xe1;" u2="&#x22;" k="20" />
-<hkern u1="&#xe2;" u2="&#x201d;" k="20" />
-<hkern u1="&#xe2;" u2="&#x2019;" k="20" />
-<hkern u1="&#xe2;" u2="&#x27;" k="20" />
-<hkern u1="&#xe2;" u2="&#x22;" k="20" />
-<hkern u1="&#xe3;" u2="&#x201d;" k="20" />
-<hkern u1="&#xe3;" u2="&#x2019;" k="20" />
-<hkern u1="&#xe3;" u2="&#x27;" k="20" />
-<hkern u1="&#xe3;" u2="&#x22;" k="20" />
-<hkern u1="&#xe4;" u2="&#x201d;" k="20" />
-<hkern u1="&#xe4;" u2="&#x2019;" k="20" />
-<hkern u1="&#xe4;" u2="&#x27;" k="20" />
-<hkern u1="&#xe4;" u2="&#x22;" k="20" />
-<hkern u1="&#xe5;" u2="&#x201d;" k="20" />
-<hkern u1="&#xe5;" u2="&#x2019;" k="20" />
-<hkern u1="&#xe5;" u2="&#x27;" k="20" />
-<hkern u1="&#xe5;" u2="&#x22;" k="20" />
-<hkern u1="&#xe8;" u2="&#x201d;" k="20" />
-<hkern u1="&#xe8;" u2="&#x2019;" k="20" />
-<hkern u1="&#xe8;" u2="&#xfd;" k="41" />
-<hkern u1="&#xe8;" u2="z" k="20" />
-<hkern u1="&#xe8;" u2="y" k="41" />
-<hkern u1="&#xe8;" u2="x" k="41" />
-<hkern u1="&#xe8;" u2="w" k="41" />
-<hkern u1="&#xe8;" u2="v" k="41" />
-<hkern u1="&#xe8;" u2="&#x27;" k="20" />
-<hkern u1="&#xe8;" u2="&#x22;" k="20" />
-<hkern u1="&#xe9;" u2="&#x201d;" k="20" />
-<hkern u1="&#xe9;" u2="&#x2019;" k="20" />
-<hkern u1="&#xe9;" u2="&#xfd;" k="41" />
-<hkern u1="&#xe9;" u2="z" k="20" />
-<hkern u1="&#xe9;" u2="y" k="41" />
-<hkern u1="&#xe9;" u2="x" k="41" />
-<hkern u1="&#xe9;" u2="w" k="41" />
-<hkern u1="&#xe9;" u2="v" k="41" />
-<hkern u1="&#xe9;" u2="&#x27;" k="20" />
-<hkern u1="&#xe9;" u2="&#x22;" k="20" />
-<hkern u1="&#xea;" u2="&#x201d;" k="20" />
-<hkern u1="&#xea;" u2="&#x2019;" k="20" />
-<hkern u1="&#xea;" u2="&#xfd;" k="41" />
-<hkern u1="&#xea;" u2="z" k="20" />
-<hkern u1="&#xea;" u2="y" k="41" />
-<hkern u1="&#xea;" u2="x" k="41" />
-<hkern u1="&#xea;" u2="w" k="41" />
-<hkern u1="&#xea;" u2="v" k="41" />
-<hkern u1="&#xea;" u2="&#x27;" k="20" />
-<hkern u1="&#xea;" u2="&#x22;" k="20" />
-<hkern u1="&#xeb;" u2="&#x201d;" k="20" />
-<hkern u1="&#xeb;" u2="&#x2019;" k="20" />
-<hkern u1="&#xeb;" u2="&#xfd;" k="41" />
-<hkern u1="&#xeb;" u2="z" k="20" />
-<hkern u1="&#xeb;" u2="y" k="41" />
-<hkern u1="&#xeb;" u2="x" k="41" />
-<hkern u1="&#xeb;" u2="w" k="41" />
-<hkern u1="&#xeb;" u2="v" k="41" />
-<hkern u1="&#xeb;" u2="&#x27;" k="20" />
-<hkern u1="&#xeb;" u2="&#x22;" k="20" />
-<hkern u1="&#xf0;" u2="&#x201d;" k="20" />
-<hkern u1="&#xf0;" u2="&#x2019;" k="20" />
-<hkern u1="&#xf0;" u2="&#xfd;" k="41" />
-<hkern u1="&#xf0;" u2="z" k="20" />
-<hkern u1="&#xf0;" u2="y" k="41" />
-<hkern u1="&#xf0;" u2="x" k="41" />
-<hkern u1="&#xf0;" u2="w" k="41" />
-<hkern u1="&#xf0;" u2="v" k="41" />
-<hkern u1="&#xf0;" u2="&#x27;" k="20" />
-<hkern u1="&#xf0;" u2="&#x22;" k="20" />
-<hkern u1="&#xf2;" u2="&#x201d;" k="20" />
-<hkern u1="&#xf2;" u2="&#x2019;" k="20" />
-<hkern u1="&#xf2;" u2="&#xfd;" k="41" />
-<hkern u1="&#xf2;" u2="z" k="20" />
-<hkern u1="&#xf2;" u2="y" k="41" />
-<hkern u1="&#xf2;" u2="x" k="41" />
-<hkern u1="&#xf2;" u2="w" k="41" />
-<hkern u1="&#xf2;" u2="v" k="41" />
-<hkern u1="&#xf2;" u2="&#x27;" k="20" />
-<hkern u1="&#xf2;" u2="&#x22;" k="20" />
-<hkern u1="&#xf3;" u2="&#x201d;" k="20" />
-<hkern u1="&#xf3;" u2="&#x2019;" k="20" />
-<hkern u1="&#xf3;" u2="&#xfd;" k="41" />
-<hkern u1="&#xf3;" u2="z" k="20" />
-<hkern u1="&#xf3;" u2="y" k="41" />
-<hkern u1="&#xf3;" u2="x" k="41" />
-<hkern u1="&#xf3;" u2="w" k="41" />
-<hkern u1="&#xf3;" u2="v" k="41" />
-<hkern u1="&#xf3;" u2="&#x27;" k="20" />
-<hkern u1="&#xf3;" u2="&#x22;" k="20" />
-<hkern u1="&#xf4;" u2="&#x201d;" k="20" />
-<hkern u1="&#xf4;" u2="&#x2019;" k="20" />
-<hkern u1="&#xf4;" u2="&#xfd;" k="41" />
-<hkern u1="&#xf4;" u2="z" k="20" />
-<hkern u1="&#xf4;" u2="y" k="41" />
-<hkern u1="&#xf4;" u2="x" k="41" />
-<hkern u1="&#xf4;" u2="w" k="41" />
-<hkern u1="&#xf4;" u2="v" k="41" />
-<hkern u1="&#xf4;" u2="&#x27;" k="20" />
-<hkern u1="&#xf4;" u2="&#x22;" k="20" />
-<hkern u1="&#xf6;" u2="&#x201d;" k="41" />
-<hkern u1="&#xf6;" u2="&#x2019;" k="41" />
-<hkern u1="&#xf6;" u2="&#x27;" k="41" />
-<hkern u1="&#xf6;" u2="&#x22;" k="41" />
-<hkern u1="&#xf8;" u2="&#x201d;" k="20" />
-<hkern u1="&#xf8;" u2="&#x2019;" k="20" />
-<hkern u1="&#xf8;" u2="&#xfd;" k="41" />
-<hkern u1="&#xf8;" u2="z" k="20" />
-<hkern u1="&#xf8;" u2="y" k="41" />
-<hkern u1="&#xf8;" u2="x" k="41" />
-<hkern u1="&#xf8;" u2="w" k="41" />
-<hkern u1="&#xf8;" u2="v" k="41" />
-<hkern u1="&#xf8;" u2="&#x27;" k="20" />
-<hkern u1="&#xf8;" u2="&#x22;" k="20" />
-<hkern u1="&#xfd;" u2="&#x201e;" k="82" />
-<hkern u1="&#xfd;" u2="&#x201d;" k="-82" />
-<hkern u1="&#xfd;" u2="&#x201a;" k="82" />
-<hkern u1="&#xfd;" u2="&#x2019;" k="-82" />
-<hkern u1="&#xfd;" u2="&#x3f;" k="-41" />
-<hkern u1="&#xfd;" u2="&#x2e;" k="82" />
-<hkern u1="&#xfd;" u2="&#x2c;" k="82" />
-<hkern u1="&#xfd;" u2="&#x27;" k="-82" />
-<hkern u1="&#xfd;" u2="&#x22;" k="-82" />
-<hkern u1="&#xfe;" u2="&#x201d;" k="20" />
-<hkern u1="&#xfe;" u2="&#x2019;" k="20" />
-<hkern u1="&#xfe;" u2="&#xfd;" k="41" />
-<hkern u1="&#xfe;" u2="z" k="20" />
-<hkern u1="&#xfe;" u2="y" k="41" />
-<hkern u1="&#xfe;" u2="x" k="41" />
-<hkern u1="&#xfe;" u2="w" k="41" />
-<hkern u1="&#xfe;" u2="v" k="41" />
-<hkern u1="&#xfe;" u2="&#x27;" k="20" />
-<hkern u1="&#xfe;" u2="&#x22;" k="20" />
-<hkern u1="&#xff;" u2="&#x201e;" k="82" />
-<hkern u1="&#xff;" u2="&#x201d;" k="-82" />
-<hkern u1="&#xff;" u2="&#x201a;" k="82" />
-<hkern u1="&#xff;" u2="&#x2019;" k="-82" />
-<hkern u1="&#xff;" u2="&#x3f;" k="-41" />
-<hkern u1="&#xff;" u2="&#x2e;" k="82" />
-<hkern u1="&#xff;" u2="&#x2c;" k="82" />
-<hkern u1="&#xff;" u2="&#x27;" k="-82" />
-<hkern u1="&#xff;" u2="&#x22;" k="-82" />
-<hkern u1="&#x152;" u2="J" k="-123" />
-<hkern u1="&#x178;" u2="&#x201e;" k="123" />
-<hkern u1="&#x178;" u2="&#x201a;" k="123" />
-<hkern u1="&#x178;" u2="&#x153;" k="102" />
-<hkern u1="&#x178;" u2="&#x152;" k="41" />
-<hkern u1="&#x178;" u2="&#xfc;" k="61" />
-<hkern u1="&#x178;" u2="&#xfb;" k="61" />
-<hkern u1="&#x178;" u2="&#xfa;" k="61" />
-<hkern u1="&#x178;" u2="&#xf9;" k="61" />
-<hkern u1="&#x178;" u2="&#xf8;" k="102" />
-<hkern u1="&#x178;" u2="&#xf6;" k="102" />
-<hkern u1="&#x178;" u2="&#xf5;" k="102" />
-<hkern u1="&#x178;" u2="&#xf4;" k="102" />
-<hkern u1="&#x178;" u2="&#xf3;" k="102" />
-<hkern u1="&#x178;" u2="&#xf2;" k="102" />
-<hkern u1="&#x178;" u2="&#xeb;" k="102" />
-<hkern u1="&#x178;" u2="&#xea;" k="102" />
-<hkern u1="&#x178;" u2="&#xe9;" k="102" />
-<hkern u1="&#x178;" u2="&#xe8;" k="102" />
-<hkern u1="&#x178;" u2="&#xe7;" k="102" />
-<hkern u1="&#x178;" u2="&#xe6;" k="102" />
-<hkern u1="&#x178;" u2="&#xe5;" k="102" />
-<hkern u1="&#x178;" u2="&#xe4;" k="102" />
-<hkern u1="&#x178;" u2="&#xe3;" k="102" />
-<hkern u1="&#x178;" u2="&#xe2;" k="102" />
-<hkern u1="&#x178;" u2="&#xe1;" k="102" />
-<hkern u1="&#x178;" u2="&#xe0;" k="102" />
-<hkern u1="&#x178;" u2="&#xd8;" k="41" />
-<hkern u1="&#x178;" u2="&#xd6;" k="41" />
-<hkern u1="&#x178;" u2="&#xd5;" k="41" />
-<hkern u1="&#x178;" u2="&#xd4;" k="41" />
-<hkern u1="&#x178;" u2="&#xd3;" k="41" />
-<hkern u1="&#x178;" u2="&#xd2;" k="41" />
-<hkern u1="&#x178;" u2="&#xc7;" k="41" />
-<hkern u1="&#x178;" u2="&#xc5;" k="123" />
-<hkern u1="&#x178;" u2="&#xc4;" k="123" />
-<hkern u1="&#x178;" u2="&#xc3;" k="123" />
-<hkern u1="&#x178;" u2="&#xc2;" k="123" />
-<hkern u1="&#x178;" u2="&#xc1;" k="123" />
-<hkern u1="&#x178;" u2="&#xc0;" k="123" />
-<hkern u1="&#x178;" u2="z" k="41" />
-<hkern u1="&#x178;" u2="u" k="61" />
-<hkern u1="&#x178;" u2="s" k="82" />
-<hkern u1="&#x178;" u2="r" k="61" />
-<hkern u1="&#x178;" u2="q" k="102" />
-<hkern u1="&#x178;" u2="p" k="61" />
-<hkern u1="&#x178;" u2="o" k="102" />
-<hkern u1="&#x178;" u2="n" k="61" />
-<hkern u1="&#x178;" u2="m" k="61" />
-<hkern u1="&#x178;" u2="g" k="41" />
-<hkern u1="&#x178;" u2="e" k="102" />
-<hkern u1="&#x178;" u2="d" k="102" />
-<hkern u1="&#x178;" u2="c" k="102" />
-<hkern u1="&#x178;" u2="a" k="102" />
-<hkern u1="&#x178;" u2="Q" k="41" />
-<hkern u1="&#x178;" u2="O" k="41" />
-<hkern u1="&#x178;" u2="G" k="41" />
-<hkern u1="&#x178;" u2="C" k="41" />
-<hkern u1="&#x178;" u2="A" k="123" />
-<hkern u1="&#x178;" u2="&#x3f;" k="-41" />
-<hkern u1="&#x178;" u2="&#x2e;" k="123" />
-<hkern u1="&#x178;" u2="&#x2c;" k="123" />
-<hkern u1="&#x2013;" u2="T" k="82" />
-<hkern u1="&#x2014;" u2="T" k="82" />
-<hkern u1="&#x2018;" u2="&#x178;" k="-20" />
-<hkern u1="&#x2018;" u2="&#x153;" k="123" />
-<hkern u1="&#x2018;" u2="&#xfc;" k="61" />
-<hkern u1="&#x2018;" u2="&#xfb;" k="61" />
-<hkern u1="&#x2018;" u2="&#xfa;" k="61" />
-<hkern u1="&#x2018;" u2="&#xf9;" k="61" />
-<hkern u1="&#x2018;" u2="&#xf8;" k="123" />
-<hkern u1="&#x2018;" u2="&#xf6;" k="123" />
-<hkern u1="&#x2018;" u2="&#xf5;" k="123" />
-<hkern u1="&#x2018;" u2="&#xf4;" k="123" />
-<hkern u1="&#x2018;" u2="&#xf3;" k="123" />
-<hkern u1="&#x2018;" u2="&#xf2;" k="123" />
-<hkern u1="&#x2018;" u2="&#xeb;" k="123" />
-<hkern u1="&#x2018;" u2="&#xea;" k="123" />
-<hkern u1="&#x2018;" u2="&#xe9;" k="123" />
-<hkern u1="&#x2018;" u2="&#xe8;" k="123" />
-<hkern u1="&#x2018;" u2="&#xe7;" k="123" />
-<hkern u1="&#x2018;" u2="&#xe6;" k="82" />
-<hkern u1="&#x2018;" u2="&#xe5;" k="82" />
-<hkern u1="&#x2018;" u2="&#xe4;" k="82" />
-<hkern u1="&#x2018;" u2="&#xe3;" k="82" />
-<hkern u1="&#x2018;" u2="&#xe2;" k="82" />
-<hkern u1="&#x2018;" u2="&#xe1;" k="82" />
-<hkern u1="&#x2018;" u2="&#xe0;" k="123" />
-<hkern u1="&#x2018;" u2="&#xdd;" k="-20" />
-<hkern u1="&#x2018;" u2="&#xc5;" k="143" />
-<hkern u1="&#x2018;" u2="&#xc4;" k="143" />
-<hkern u1="&#x2018;" u2="&#xc3;" k="143" />
-<hkern u1="&#x2018;" u2="&#xc2;" k="143" />
-<hkern u1="&#x2018;" u2="&#xc1;" k="143" />
-<hkern u1="&#x2018;" u2="&#xc0;" k="143" />
-<hkern u1="&#x2018;" u2="u" k="61" />
-<hkern u1="&#x2018;" u2="s" k="61" />
-<hkern u1="&#x2018;" u2="r" k="61" />
-<hkern u1="&#x2018;" u2="q" k="123" />
-<hkern u1="&#x2018;" u2="p" k="61" />
-<hkern u1="&#x2018;" u2="o" k="123" />
-<hkern u1="&#x2018;" u2="n" k="61" />
-<hkern u1="&#x2018;" u2="m" k="61" />
-<hkern u1="&#x2018;" u2="g" k="61" />
-<hkern u1="&#x2018;" u2="e" k="123" />
-<hkern u1="&#x2018;" u2="d" k="123" />
-<hkern u1="&#x2018;" u2="c" k="123" />
-<hkern u1="&#x2018;" u2="a" k="82" />
-<hkern u1="&#x2018;" u2="Y" k="-20" />
-<hkern u1="&#x2018;" u2="W" k="-41" />
-<hkern u1="&#x2018;" u2="V" k="-41" />
-<hkern u1="&#x2018;" u2="T" k="-41" />
-<hkern u1="&#x2018;" u2="A" k="143" />
-<hkern u1="&#x2019;" u2="&#x178;" k="-20" />
-<hkern u1="&#x2019;" u2="&#x153;" k="123" />
-<hkern u1="&#x2019;" u2="&#xfc;" k="61" />
-<hkern u1="&#x2019;" u2="&#xfb;" k="61" />
-<hkern u1="&#x2019;" u2="&#xfa;" k="61" />
-<hkern u1="&#x2019;" u2="&#xf9;" k="61" />
-<hkern u1="&#x2019;" u2="&#xf8;" k="123" />
-<hkern u1="&#x2019;" u2="&#xf6;" k="123" />
-<hkern u1="&#x2019;" u2="&#xf5;" k="123" />
-<hkern u1="&#x2019;" u2="&#xf4;" k="123" />
-<hkern u1="&#x2019;" u2="&#xf3;" k="123" />
-<hkern u1="&#x2019;" u2="&#xf2;" k="123" />
-<hkern u1="&#x2019;" u2="&#xeb;" k="123" />
-<hkern u1="&#x2019;" u2="&#xea;" k="123" />
-<hkern u1="&#x2019;" u2="&#xe9;" k="123" />
-<hkern u1="&#x2019;" u2="&#xe8;" k="123" />
-<hkern u1="&#x2019;" u2="&#xe7;" k="123" />
-<hkern u1="&#x2019;" u2="&#xe6;" k="82" />
-<hkern u1="&#x2019;" u2="&#xe5;" k="82" />
-<hkern u1="&#x2019;" u2="&#xe4;" k="82" />
-<hkern u1="&#x2019;" u2="&#xe3;" k="82" />
-<hkern u1="&#x2019;" u2="&#xe2;" k="82" />
-<hkern u1="&#x2019;" u2="&#xe1;" k="82" />
-<hkern u1="&#x2019;" u2="&#xe0;" k="123" />
-<hkern u1="&#x2019;" u2="&#xdd;" k="-20" />
-<hkern u1="&#x2019;" u2="&#xc5;" k="143" />
-<hkern u1="&#x2019;" u2="&#xc4;" k="143" />
-<hkern u1="&#x2019;" u2="&#xc3;" k="143" />
-<hkern u1="&#x2019;" u2="&#xc2;" k="143" />
-<hkern u1="&#x2019;" u2="&#xc1;" k="143" />
-<hkern u1="&#x2019;" u2="&#xc0;" k="143" />
-<hkern u1="&#x2019;" u2="u" k="61" />
-<hkern u1="&#x2019;" u2="s" k="61" />
-<hkern u1="&#x2019;" u2="r" k="61" />
-<hkern u1="&#x2019;" u2="q" k="123" />
-<hkern u1="&#x2019;" u2="p" k="61" />
-<hkern u1="&#x2019;" u2="o" k="123" />
-<hkern u1="&#x2019;" u2="n" k="61" />
-<hkern u1="&#x2019;" u2="m" k="61" />
-<hkern u1="&#x2019;" u2="g" k="61" />
-<hkern u1="&#x2019;" u2="e" k="123" />
-<hkern u1="&#x2019;" u2="d" k="123" />
-<hkern u1="&#x2019;" u2="c" k="123" />
-<hkern u1="&#x2019;" u2="a" k="82" />
-<hkern u1="&#x2019;" u2="Y" k="-20" />
-<hkern u1="&#x2019;" u2="W" k="-41" />
-<hkern u1="&#x2019;" u2="V" k="-41" />
-<hkern u1="&#x2019;" u2="T" k="-41" />
-<hkern u1="&#x2019;" u2="A" k="143" />
-<hkern u1="&#x201a;" u2="&#x178;" k="123" />
-<hkern u1="&#x201a;" u2="&#x152;" k="102" />
-<hkern u1="&#x201a;" u2="&#xdd;" k="123" />
-<hkern u1="&#x201a;" u2="&#xdc;" k="41" />
-<hkern u1="&#x201a;" u2="&#xdb;" k="41" />
-<hkern u1="&#x201a;" u2="&#xda;" k="41" />
-<hkern u1="&#x201a;" u2="&#xd9;" k="41" />
-<hkern u1="&#x201a;" u2="&#xd8;" k="102" />
-<hkern u1="&#x201a;" u2="&#xd6;" k="102" />
-<hkern u1="&#x201a;" u2="&#xd5;" k="102" />
-<hkern u1="&#x201a;" u2="&#xd4;" k="102" />
-<hkern u1="&#x201a;" u2="&#xd3;" k="102" />
-<hkern u1="&#x201a;" u2="&#xd2;" k="102" />
-<hkern u1="&#x201a;" u2="&#xc7;" k="102" />
-<hkern u1="&#x201a;" u2="Y" k="123" />
-<hkern u1="&#x201a;" u2="W" k="123" />
-<hkern u1="&#x201a;" u2="V" k="123" />
-<hkern u1="&#x201a;" u2="U" k="41" />
-<hkern u1="&#x201a;" u2="T" k="143" />
-<hkern u1="&#x201a;" u2="Q" k="102" />
-<hkern u1="&#x201a;" u2="O" k="102" />
-<hkern u1="&#x201a;" u2="G" k="102" />
-<hkern u1="&#x201a;" u2="C" k="102" />
-<hkern u1="&#x201c;" u2="&#x178;" k="-20" />
-<hkern u1="&#x201c;" u2="&#x153;" k="123" />
-<hkern u1="&#x201c;" u2="&#xfc;" k="61" />
-<hkern u1="&#x201c;" u2="&#xfb;" k="61" />
-<hkern u1="&#x201c;" u2="&#xfa;" k="61" />
-<hkern u1="&#x201c;" u2="&#xf9;" k="61" />
-<hkern u1="&#x201c;" u2="&#xf8;" k="123" />
-<hkern u1="&#x201c;" u2="&#xf6;" k="123" />
-<hkern u1="&#x201c;" u2="&#xf5;" k="123" />
-<hkern u1="&#x201c;" u2="&#xf4;" k="123" />
-<hkern u1="&#x201c;" u2="&#xf3;" k="123" />
-<hkern u1="&#x201c;" u2="&#xf2;" k="123" />
-<hkern u1="&#x201c;" u2="&#xeb;" k="123" />
-<hkern u1="&#x201c;" u2="&#xea;" k="123" />
-<hkern u1="&#x201c;" u2="&#xe9;" k="123" />
-<hkern u1="&#x201c;" u2="&#xe8;" k="123" />
-<hkern u1="&#x201c;" u2="&#xe7;" k="123" />
-<hkern u1="&#x201c;" u2="&#xe6;" k="82" />
-<hkern u1="&#x201c;" u2="&#xe5;" k="82" />
-<hkern u1="&#x201c;" u2="&#xe4;" k="82" />
-<hkern u1="&#x201c;" u2="&#xe3;" k="82" />
-<hkern u1="&#x201c;" u2="&#xe2;" k="82" />
-<hkern u1="&#x201c;" u2="&#xe1;" k="82" />
-<hkern u1="&#x201c;" u2="&#xe0;" k="123" />
-<hkern u1="&#x201c;" u2="&#xdd;" k="-20" />
-<hkern u1="&#x201c;" u2="&#xc5;" k="143" />
-<hkern u1="&#x201c;" u2="&#xc4;" k="143" />
-<hkern u1="&#x201c;" u2="&#xc3;" k="143" />
-<hkern u1="&#x201c;" u2="&#xc2;" k="143" />
-<hkern u1="&#x201c;" u2="&#xc1;" k="143" />
-<hkern u1="&#x201c;" u2="&#xc0;" k="143" />
-<hkern u1="&#x201c;" u2="u" k="61" />
-<hkern u1="&#x201c;" u2="s" k="61" />
-<hkern u1="&#x201c;" u2="r" k="61" />
-<hkern u1="&#x201c;" u2="q" k="123" />
-<hkern u1="&#x201c;" u2="p" k="61" />
-<hkern u1="&#x201c;" u2="o" k="123" />
-<hkern u1="&#x201c;" u2="n" k="61" />
-<hkern u1="&#x201c;" u2="m" k="61" />
-<hkern u1="&#x201c;" u2="g" k="61" />
-<hkern u1="&#x201c;" u2="e" k="123" />
-<hkern u1="&#x201c;" u2="d" k="123" />
-<hkern u1="&#x201c;" u2="c" k="123" />
-<hkern u1="&#x201c;" u2="a" k="82" />
-<hkern u1="&#x201c;" u2="Y" k="-20" />
-<hkern u1="&#x201c;" u2="W" k="-41" />
-<hkern u1="&#x201c;" u2="V" k="-41" />
-<hkern u1="&#x201c;" u2="T" k="-41" />
-<hkern u1="&#x201c;" u2="A" k="143" />
-<hkern u1="&#x201e;" u2="&#x178;" k="123" />
-<hkern u1="&#x201e;" u2="&#x152;" k="102" />
-<hkern u1="&#x201e;" u2="&#xdd;" k="123" />
-<hkern u1="&#x201e;" u2="&#xdc;" k="41" />
-<hkern u1="&#x201e;" u2="&#xdb;" k="41" />
-<hkern u1="&#x201e;" u2="&#xda;" k="41" />
-<hkern u1="&#x201e;" u2="&#xd9;" k="41" />
-<hkern u1="&#x201e;" u2="&#xd8;" k="102" />
-<hkern u1="&#x201e;" u2="&#xd6;" k="102" />
-<hkern u1="&#x201e;" u2="&#xd5;" k="102" />
-<hkern u1="&#x201e;" u2="&#xd4;" k="102" />
-<hkern u1="&#x201e;" u2="&#xd3;" k="102" />
-<hkern u1="&#x201e;" u2="&#xd2;" k="102" />
-<hkern u1="&#x201e;" u2="&#xc7;" k="102" />
-<hkern u1="&#x201e;" u2="Y" k="123" />
-<hkern u1="&#x201e;" u2="W" k="123" />
-<hkern u1="&#x201e;" u2="V" k="123" />
-<hkern u1="&#x201e;" u2="U" k="41" />
-<hkern u1="&#x201e;" u2="T" k="143" />
-<hkern u1="&#x201e;" u2="Q" k="102" />
-<hkern u1="&#x201e;" u2="O" k="102" />
-<hkern u1="&#x201e;" u2="G" k="102" />
-<hkern u1="&#x201e;" u2="C" k="102" />
-</font>
-</defs></svg> \ No newline at end of file
diff --git a/documentation/jsapi/fonts/OpenSans-Light-webfont.woff b/documentation/jsapi/fonts/OpenSans-Light-webfont.woff
deleted file mode 100644
index e786074813..0000000000
--- a/documentation/jsapi/fonts/OpenSans-Light-webfont.woff
+++ /dev/null
Binary files differ
diff --git a/documentation/jsapi/fonts/OpenSans-LightItalic-webfont.eot b/documentation/jsapi/fonts/OpenSans-LightItalic-webfont.eot
deleted file mode 100644
index 8f445929ff..0000000000
--- a/documentation/jsapi/fonts/OpenSans-LightItalic-webfont.eot
+++ /dev/null
Binary files differ
diff --git a/documentation/jsapi/fonts/OpenSans-LightItalic-webfont.svg b/documentation/jsapi/fonts/OpenSans-LightItalic-webfont.svg
deleted file mode 100644
index 431d7e3546..0000000000
--- a/documentation/jsapi/fonts/OpenSans-LightItalic-webfont.svg
+++ /dev/null
@@ -1,1835 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
-<svg xmlns="http://www.w3.org/2000/svg">
-<metadata></metadata>
-<defs>
-<font id="open_sanslight_italic" horiz-adv-x="1128" >
-<font-face units-per-em="2048" ascent="1638" descent="-410" />
-<missing-glyph horiz-adv-x="532" />
-<glyph unicode="&#xfb00;" horiz-adv-x="1155" d="M-131 -492q-48 0 -102 19v90q53 -16 100 -16q88 0 134 53t75 186l246 1166h-205l14 67l205 14l35 160q35 168 116.5 244t227.5 76q73 0 166 -31l-25 -80q-87 27 -147 27q-96 0 -153.5 -53.5t-84.5 -178.5l-35 -164h477l35 160q35 168 116.5 244t227.5 76q73 0 166 -31 l-24 -80q-87 27 -148 27q-97 0 -154.5 -54.5t-82.5 -177.5l-35 -164h248l-17 -81h-248l-252 -1190q-34 -165 -105.5 -236.5t-193.5 -71.5q-48 0 -102 19v90q53 -16 100 -16q88 0 134 53t75 186l244 1166h-477l-252 -1190q-33 -161 -104 -234.5t-195 -73.5z" />
-<glyph unicode="&#xfb01;" horiz-adv-x="1040" d="M0 0zM739 0h-98l231 1087h96zM915 1366q0 55 22 88t60 33q57 0 57 -72q0 -57 -22 -90t-57 -33q-29 0 -44.5 19.5t-15.5 54.5zM-148 -492q-48 0 -102 19v90q53 -16 100 -16q88 0 134 53t75 186l246 1166h-205l14 67l205 14l35 160q35 168 116.5 244t227.5 76q73 0 166 -31 l-25 -80q-87 27 -147 27q-96 0 -153.5 -53.5t-84.5 -178.5l-35 -164h248l-16 -81h-248l-252 -1190q-33 -161 -104 -234.5t-195 -73.5z" />
-<glyph unicode="&#xfb02;" horiz-adv-x="1042" d="M0 0zM737 0h-94l334 1556h94zM-148 -492q-48 0 -102 19v90q53 -16 100 -16q88 0 134 53t75 186l246 1166h-205l14 67l205 14l35 160q35 168 116.5 244t227.5 76q73 0 166 -31l-25 -80q-87 27 -147 27q-96 0 -153.5 -53.5t-84.5 -178.5l-35 -164h248l-16 -81h-248 l-252 -1190q-33 -161 -104 -234.5t-195 -73.5z" />
-<glyph unicode="&#xfb03;" horiz-adv-x="1616" d="M0 0zM-148 -492q-48 0 -102 19v90q53 -16 100 -16q88 0 134 53t75 186l246 1166h-205l14 67l205 14l35 160q35 168 116.5 244t227.5 76q73 0 166 -31l-25 -80q-87 27 -147 27q-96 0 -153.5 -53.5t-84.5 -178.5l-35 -164h477l35 160q35 168 116.5 244t227.5 76 q73 0 166 -31l-24 -80q-87 27 -148 27q-97 0 -154.5 -54.5t-82.5 -177.5l-35 -164h248l-17 -81h-248l-252 -1190q-34 -165 -105.5 -236.5t-193.5 -71.5q-48 0 -102 19v90q53 -16 100 -16q88 0 134 53t75 186l244 1166h-477l-252 -1190q-33 -161 -104 -234.5t-195 -73.5z M1315 0h-98l231 1087h96zM1491 1366q0 55 22 88t60 33q57 0 57 -72q0 -57 -22 -90t-57 -33q-29 0 -44.5 19.5t-15.5 54.5z" />
-<glyph unicode="&#xfb04;" horiz-adv-x="1626" d="M0 0zM-148 -492q-48 0 -102 19v90q53 -16 100 -16q88 0 134 53t75 186l246 1166h-205l14 67l205 14l35 160q35 168 116.5 244t227.5 76q73 0 166 -31l-25 -80q-87 27 -147 27q-96 0 -153.5 -53.5t-84.5 -178.5l-35 -164h477l35 160q35 168 116.5 244t227.5 76 q73 0 166 -31l-24 -80q-87 27 -148 27q-97 0 -154.5 -54.5t-82.5 -177.5l-35 -164h248l-17 -81h-248l-252 -1190q-34 -165 -105.5 -236.5t-193.5 -71.5q-48 0 -102 19v90q53 -16 100 -16q88 0 134 53t75 186l244 1166h-477l-252 -1190q-33 -161 -104 -234.5t-195 -73.5z M1321 0h-94l334 1556h94z" />
-<glyph horiz-adv-x="2048" />
-<glyph horiz-adv-x="2048" />
-<glyph unicode="&#xd;" horiz-adv-x="1044" />
-<glyph unicode=" " horiz-adv-x="532" />
-<glyph unicode="&#x09;" horiz-adv-x="532" />
-<glyph unicode="&#xa0;" horiz-adv-x="532" />
-<glyph unicode="!" horiz-adv-x="502" d="M248 377h-62l203 1085h119zM80 57q0 56 25 88.5t69 32.5q66 0 66 -72q0 -53 -25 -87.5t-68 -34.5q-67 0 -67 73z" />
-<glyph unicode="&#x22;" horiz-adv-x="721" d="M455 1462l-146 -528h-61l80 528h127zM784 1462l-145 -528h-61l79 528h127z" />
-<glyph unicode="#" horiz-adv-x="1323" d="M389 530l119 398h-297l8 80h311l134 454h90l-136 -454h365l135 454h86l-135 -454h285l-8 -80h-302l-118 -398h303l-8 -79h-320l-133 -451h-90l135 451h-360l-134 -451h-88l134 451h-283l8 79h299zM475 530h363l120 398h-362z" />
-<glyph unicode="$" d="M928 467q0 -151 -110.5 -243t-297.5 -103l-53 -240h-82l51 240q-79 2 -158 18t-137 43v94q65 -34 153.5 -53.5t160.5 -19.5l110 512q-110 53 -153 91t-66.5 87.5t-23.5 116.5q0 155 105.5 250.5t272.5 99.5l41 192h80l-41 -192q149 -5 277 -68l-35 -78q-110 61 -256 70 l-109 -514q124 -60 172.5 -99.5t73.5 -88.5t25 -115zM537 203q142 7 223.5 74.5t81.5 183.5q0 76 -48 129.5t-157 97.5zM686 1284q-134 -9 -205 -80t-71 -186q0 -78 37 -128.5t137 -96.5z" />
-<glyph unicode="%" horiz-adv-x="1556" d="M1458 1462l-1139 -1462h-106l1135 1462h110zM1520 612q0 -175 -50 -327t-136 -230t-197 -78q-112 0 -172 75.5t-60 223.5q0 160 52 312t138 229.5t193 77.5q121 0 176.5 -71.5t55.5 -211.5zM1284 821q-80 0 -146.5 -72.5t-106.5 -202.5t-40 -263q0 -116 41 -174t113 -58 q130 0 209.5 166.5t79.5 386.5q0 109 -36 163t-114 54zM760 1198q0 -175 -50 -327t-136 -230t-197 -78q-112 0 -172 75.5t-60 223.5q0 160 52 312t138 229.5t193 77.5q232 0 232 -283zM524 1407q-79 0 -145 -71.5t-107 -203t-41 -264.5q0 -115 41 -173t113 -58 q84 0 148.5 72t102.5 204t38 277q0 109 -36 163t-114 54z" />
-<glyph unicode="&#x26;" horiz-adv-x="1331" d="M748 1395q-125 0 -194 -68t-69 -192q0 -132 109 -281q203 89 279.5 163.5t76.5 182.5q0 91 -56.5 143t-145.5 52zM465 63q108 0 211.5 42.5t222.5 146.5l-352 493q-164 -79 -232 -134.5t-103.5 -124t-35.5 -158.5q0 -119 78 -192t211 -73zM78 324q0 162 99 277.5 t325 215.5l-41 67q-78 128 -78 251q0 157 101 253.5t264 96.5q145 0 227 -76.5t82 -206.5q0 -85 -41 -154t-121 -128t-256 -138l330 -463q73 75 135.5 176.5t91.5 186.5h111q-102 -247 -285 -436l184 -246h-123l-131 184q-121 -108 -242 -156t-266 -48q-167 0 -266.5 94 t-99.5 250z" />
-<glyph unicode="'" horiz-adv-x="403" d="M461 1462l-146 -528h-61l80 528h127z" />
-<glyph unicode="(" horiz-adv-x="526" d="M104 270q0 343 122 633t382 559h105q-259 -276 -384.5 -568t-125.5 -618q0 -317 127 -600h-80q-146 262 -146 594z" />
-<glyph unicode=")" horiz-adv-x="526" d="M453 868q0 -345 -123.5 -636t-380.5 -556h-105q257 274 383.5 566.5t126.5 619.5q0 148 -28.5 294t-98.5 306h80q146 -262 146 -594z" />
-<glyph unicode="*" horiz-adv-x="1137" d="M834 1540l-109 -405l438 8l-8 -107l-416 29l181 -401l-115 -37l-135 417l-285 -348l-78 78l318 318l-392 125l39 102l394 -168l47 408z" />
-<glyph unicode="+" d="M563 672h-401v100h401v404h101v-404h401v-100h-401v-400h-101v400z" />
-<glyph unicode="," horiz-adv-x="451" d="M250 238l8 -23q-34 -92 -114 -233.5t-160 -245.5h-74q79 132 141 271t88 231h111z" />
-<glyph unicode="-" horiz-adv-x="629" d="M82 502l18 90h457l-16 -90h-459z" />
-<glyph unicode="." horiz-adv-x="485" d="M82 55q0 56 25 88.5t69 32.5q66 0 66 -72q0 -53 -25 -87.5t-67 -34.5q-68 0 -68 73z" />
-<glyph unicode="/" horiz-adv-x="641" d="M827 1462l-817 -1462h-110l815 1462h112z" />
-<glyph unicode="0" d="M1075 1016q0 -201 -41 -405t-116.5 -346t-183.5 -213.5t-242 -71.5q-176 0 -264.5 126.5t-88.5 387.5q0 186 44.5 381.5t124 334t187 207t240.5 68.5q340 0 340 -469zM723 1397q-134 0 -241.5 -113t-173.5 -329t-66 -451q0 -222 62.5 -329t197.5 -107q139 0 244 112 t166 337t61 489q0 199 -59.5 295t-190.5 96z" />
-<glyph unicode="1" d="M537 0h-105l225 1055q19 92 74 293q-42 -36 -75.5 -61t-249.5 -161l-52 78l406 258h90z" />
-<glyph unicode="2" d="M909 0h-870l22 104l449 402q198 177 284 276.5t126.5 186.5t40.5 180q0 112 -66 178t-197 66q-176 0 -333 -129l-54 73q180 146 394 146q173 0 268.5 -85t95.5 -237q0 -110 -43.5 -208.5t-141.5 -211.5t-311 -303l-383 -338v-4h736z" />
-<glyph unicode="3" d="M1049 1174q0 -162 -106 -275t-286 -143v-4q117 -24 185.5 -115.5t68.5 -226.5q0 -134 -64 -233t-179.5 -148t-274.5 -49q-96 0 -184.5 20.5t-153.5 52.5v101q172 -86 344 -86q197 0 303.5 89.5t106.5 252.5q0 145 -89 223t-247 78h-117l21 96h110q209 0 333 95.5 t124 258.5q0 114 -63.5 175t-188.5 61q-167 0 -344 -131l-49 75q84 67 188 104.5t218 37.5q161 0 252.5 -82.5t91.5 -226.5z" />
-<glyph unicode="4" d="M1071 371h-264l-80 -371h-96l80 371h-688l20 96l881 1010h118l-215 -1018h265zM729 459q79 369 119 558.5t86 354.5h-4q-66 -91 -129 -166l-651 -747h579z" />
-<glyph unicode="5" d="M582 879q188 0 292.5 -102t104.5 -279q0 -237 -148 -377.5t-407 -140.5q-84 0 -177.5 20t-158.5 51v107q170 -90 340 -90q208 0 328.5 114.5t120.5 313.5q0 140 -85 219.5t-225 79.5q-133 0 -243 -41l-66 49l193 659h624l-18 -96h-541l-149 -516q98 29 215 29z" />
-<glyph unicode="6" d="M170 428q0 283 105 544.5t269.5 385t383.5 123.5q123 0 182 -21l-18 -90q-86 23 -170 23q-233 0 -393.5 -174t-233.5 -502h8q68 94 164 143t211 49q161 0 250.5 -100.5t89.5 -282.5q0 -156 -60 -281t-171 -195t-257 -70q-171 0 -265.5 119t-94.5 329zM543 68 q112 0 196.5 58.5t130 162t45.5 229.5q0 146 -67 224.5t-195 78.5q-81 0 -154 -31.5t-129 -87t-78 -115t-22 -173.5q0 -164 72.5 -255t200.5 -91z" />
-<glyph unicode="7" d="M244 0l796 1366h-766l23 96h858l-20 -110l-779 -1352h-112z" />
-<glyph unicode="8" d="M737 1485q163 0 258 -85t95 -229q0 -138 -84 -234.5t-285 -172.5q130 -78 190 -170.5t60 -208.5t-58 -208t-165.5 -144.5t-260.5 -52.5q-178 0 -283.5 92.5t-105.5 253.5q0 159 100.5 268.5t321.5 187.5q-100 72 -144 152t-44 180q0 159 114 265t291 106zM610 733 q-218 -73 -313.5 -167.5t-95.5 -225.5q0 -136 77.5 -206.5t219.5 -70.5q168 0 270 91t102 233q0 104 -62 189t-198 157zM727 1399q-130 0 -214.5 -82t-84.5 -203q0 -91 41.5 -159t157.5 -142q192 62 279 144t87 206q0 109 -70.5 172.5t-195.5 63.5z" />
-<glyph unicode="9" d="M1059 1032q0 -288 -101.5 -548t-263.5 -382t-393 -122q-114 0 -186 22v90q87 -29 192 -29q474 0 627 674h-8q-140 -192 -367 -192q-162 0 -255 105t-93 284q0 155 59.5 281t170.5 196t257 70q174 0 267.5 -115.5t93.5 -333.5zM686 1393q-112 0 -197.5 -58.5 t-130.5 -162.5t-45 -230q0 -145 67.5 -225t192.5 -80q83 0 157.5 32.5t129 87.5t76.5 114t22 176q0 166 -71 256t-201 90z" />
-<glyph unicode=":" horiz-adv-x="485" d="M260 989q0 57 25.5 89t68.5 32q66 0 66 -72q0 -55 -25 -89t-67 -34q-68 0 -68 74zM102 55q0 56 25.5 88.5t69.5 32.5q65 0 65 -72q0 -55 -25.5 -88.5t-66.5 -33.5q-68 0 -68 73z" />
-<glyph unicode=";" horiz-adv-x="485" d="M287 238l8 -23q-35 -96 -118.5 -242t-156.5 -237h-73q79 132 141 271t88 231h111zM266 989q0 57 25.5 89t68.5 32q66 0 66 -72q0 -55 -25 -89t-67 -34q-68 0 -68 74z" />
-<glyph unicode="&#x3c;" d="M1051 262l-914 414v74l914 471v-103l-801 -399l801 -350v-107z" />
-<glyph unicode="=" d="M168 885v100h903v-100h-903zM168 461v98h903v-98h-903z" />
-<glyph unicode="&#x3e;" d="M170 369l801 350l-801 399v103l915 -471v-74l-915 -414v107z" />
-<glyph unicode="?" horiz-adv-x="799" d="M242 362l6 29q29 132 82 206.5t157 147.5q118 84 175 145.5t86.5 127.5t29.5 141q0 108 -67.5 170t-182.5 62q-139 0 -307 -101l-39 86q85 49 171.5 78t187.5 29q159 0 250.5 -84.5t91.5 -229.5q0 -127 -66 -234t-231 -226q-85 -61 -132.5 -108.5t-73 -95t-46.5 -143.5 h-92zM170 59q0 56 25 88.5t69 32.5q66 0 66 -71q0 -54 -24.5 -88.5t-67.5 -34.5q-68 0 -68 73z" />
-<glyph unicode="@" horiz-adv-x="1724" d="M1688 858q0 -179 -56 -323.5t-154.5 -227t-211.5 -82.5q-98 0 -154.5 55t-56.5 144h-4q-54 -97 -132.5 -148t-168.5 -51q-112 0 -178 73t-66 202q0 156 63 283t178 198.5t261 71.5q122 0 252 -52l-84 -315q-39 -140 -39 -221q0 -71 34.5 -111.5t100.5 -40.5 q86 0 160 73.5t117.5 198t43.5 251.5q0 156 -65 277t-187 188t-292 67q-235 0 -424.5 -108.5t-295.5 -304t-106 -439.5q0 -288 155 -449t435 -161q207 0 420 82v-90q-210 -82 -428 -82q-203 0 -357.5 82.5t-238.5 239t-84 370.5q0 276 121.5 493.5t337 337t473.5 119.5 q189 0 330.5 -72.5t221 -213t79.5 -314.5zM1008 969q-113 0 -204.5 -59t-142.5 -165.5t-51 -238.5q0 -92 40.5 -142.5t113.5 -50.5q101 0 180.5 89t124.5 255l78 289q-66 23 -139 23z" />
-<glyph unicode="A" horiz-adv-x="1059" d="M805 520h-512l-287 -520h-117l822 1468h67l201 -1468h-105zM793 612l-39 291q-31 242 -39 402q-30 -63 -64.5 -130t-306.5 -563h449z" />
-<glyph unicode="B" horiz-adv-x="1202" d="M412 1462h379q190 0 290.5 -84t100.5 -241q0 -153 -90 -249t-254 -124v-4q125 -31 188.5 -113.5t63.5 -204.5q0 -205 -140.5 -323.5t-390.5 -118.5h-457zM377 811h278q206 0 313 81t107 238q0 119 -78 180.5t-229 61.5h-272zM358 721l-135 -631h342q201 0 309.5 87.5 t108.5 256.5q0 145 -90 216t-275 71h-260z" />
-<glyph unicode="C" horiz-adv-x="1169" d="M961 1389q-197 0 -351.5 -104.5t-245 -304.5t-90.5 -441q0 -225 110.5 -346t317.5 -121q140 0 304 51v-94q-156 -49 -316 -49q-252 0 -386 145t-134 410q0 266 104.5 488t284.5 341t402 119q177 0 307 -68l-45 -90q-55 30 -124.5 47t-137.5 17z" />
-<glyph unicode="D" horiz-adv-x="1350" d="M1288 879q0 -253 -109.5 -461.5t-300.5 -313t-446 -104.5h-330l310 1462h305q282 0 426.5 -147.5t144.5 -435.5zM430 90q226 0 394.5 94.5t261 275.5t92.5 412q0 498 -476 498h-206l-275 -1280h209z" />
-<glyph unicode="E" horiz-adv-x="1067" d="M829 0h-727l310 1462h727l-21 -94h-624l-117 -553h590l-21 -94h-588l-135 -627h627z" />
-<glyph unicode="F" horiz-adv-x="981" d="M205 0h-103l310 1462h708l-20 -94h-604l-134 -620h570l-21 -95h-569z" />
-<glyph unicode="G" horiz-adv-x="1374" d="M856 735h406l-150 -682q-211 -73 -405 -73q-257 0 -397 146t-140 421q0 265 105 483.5t283.5 335.5t395.5 117q113 0 203 -19t184 -59l-38 -94q-110 46 -189.5 62t-167.5 16q-184 0 -339 -107.5t-244 -301.5t-89 -433q0 -229 114.5 -352t326.5 -123q155 0 309 47l117 526 h-303z" />
-<glyph unicode="H" horiz-adv-x="1366" d="M1063 0h-100l151 719h-760l-149 -719h-103l310 1462h102l-139 -649h760l137 649h100z" />
-<glyph unicode="I" horiz-adv-x="504" d="M102 0l310 1462h98l-309 -1462h-99z" />
-<glyph unicode="J" horiz-adv-x="477" d="M-180 -360q-48 0 -88 8t-56 16l11 92q57 -20 137 -20q213 0 262 241l309 1485h105l-314 -1491q-35 -170 -125 -250.5t-241 -80.5z" />
-<glyph unicode="K" horiz-adv-x="1122" d="M979 0h-111l-342 788l-190 -153l-131 -635h-103l310 1462h102l-158 -723l133 121l680 602h138l-699 -610z" />
-<glyph unicode="L" horiz-adv-x="938" d="M102 0l310 1462h102l-289 -1366h621l-23 -96h-721z" />
-<glyph unicode="M" horiz-adv-x="1669" d="M772 205l733 1257h150l-301 -1462h-101l191 901q79 369 100 447h-6l-780 -1348h-51l-222 1348h-6q-20 -154 -78 -426l-196 -922h-96l309 1462h143l205 -1257h6z" />
-<glyph unicode="N" horiz-adv-x="1372" d="M1069 0h-86l-516 1284h-8q-23 -149 -48 -273t-214 -1011h-95l310 1462h80l522 -1294h8q23 176 74 416l188 878h94z" />
-<glyph unicode="O" horiz-adv-x="1464" d="M1403 911q0 -255 -94 -481.5t-252 -338t-365 -111.5q-250 0 -385 149t-135 430q0 262 93 477.5t255 331t373 115.5q247 0 378.5 -148.5t131.5 -423.5zM879 1389q-174 0 -308.5 -101t-214.5 -298t-80 -417q0 -245 109.5 -373t319.5 -128q169 0 300 98.5t210 300t79 430.5 q0 240 -104.5 364t-310.5 124z" />
-<glyph unicode="P" horiz-adv-x="1145" d="M1145 1102q0 -500 -610 -500h-201l-129 -602h-103l310 1462h315q202 0 310 -92.5t108 -267.5zM350 694h191q252 0 373.5 96.5t121.5 305.5q0 274 -329 274h-211z" />
-<glyph unicode="Q" horiz-adv-x="1464" d="M1403 911q0 -216 -70 -418t-186.5 -324t-274.5 -167l267 -350h-142l-231 332l-74 -4q-250 0 -385 149t-135 430q0 262 93 477.5t255 331t373 115.5q247 0 378.5 -148.5t131.5 -423.5zM879 1389q-174 0 -308.5 -101t-214.5 -298t-80 -417q0 -245 109.5 -373t319.5 -128 q169 0 300 98.5t210 300t79 430.5q0 240 -104.5 364t-310.5 124z" />
-<glyph unicode="R" horiz-adv-x="1145" d="M336 633l-131 -633h-103l310 1462h303q430 0 430 -360q0 -182 -103.5 -303t-281.5 -152q201 -591 221 -647h-111l-211 633h-323zM358 725h252q208 0 317 95.5t109 281.5q0 268 -329 268h-211z" />
-<glyph unicode="S" horiz-adv-x="1020" d="M895 403q0 -126 -65.5 -224.5t-179.5 -148.5t-269 -50q-88 0 -172.5 17t-171.5 58v109q163 -92 348 -92q188 0 295.5 86.5t107.5 232.5q0 61 -17 104.5t-52.5 78.5t-91 68t-131.5 75q-150 76 -209.5 164t-59.5 206t59 207.5t165 139t237 49.5q99 0 180 -17.5t168 -60.5 l-32 -94q-66 40 -151.5 63t-164.5 23q-163 0 -259.5 -82.5t-96.5 -218.5q0 -103 49 -170t182 -133q154 -79 213.5 -130t89 -113t29.5 -147z" />
-<glyph unicode="T" horiz-adv-x="985" d="M438 0h-102l289 1368h-432l20 94h973l-19 -94h-440z" />
-<glyph unicode="U" horiz-adv-x="1370" d="M1395 1462l-207 -977q-58 -270 -197 -387.5t-375 -117.5q-440 0 -440 401q0 83 27 201l186 880h103l-193 -899q-20 -89 -20 -184q0 -309 342 -309q195 0 307.5 96.5t158.5 318.5l207 977h101z" />
-<glyph unicode="V" horiz-adv-x="1079" d="M457 147q51 111 124 247l572 1068h117l-799 -1462h-88l-182 1462h100l117 -950q26 -217 35 -365h4z" />
-<glyph unicode="W" horiz-adv-x="1702" d="M1018 1341q-27 -76 -62 -153.5t-563 -1187.5h-82l-73 1462h100l47 -1031l4 -165l-2 -86h6q85 226 170 398l434 884h105l61 -878q19 -266 19 -410h6q30 86 61.5 163t493.5 1125h108q-169 -365 -330.5 -731t-328.5 -731h-78l-78 1075q-11 142 -11 219l1 47h-8z" />
-<glyph unicode="X" horiz-adv-x="971" d="M879 0h-107l-254 678l-526 -678h-127l608 766l-272 696h106l240 -626l483 626h119l-555 -719z" />
-<glyph unicode="Y" horiz-adv-x="965" d="M494 645l544 817h117l-631 -932l-108 -530h-105l119 545l-237 917h100z" />
-<glyph unicode="Z" d="M913 0h-925l22 92l1069 1276h-764l23 94h887l-19 -88l-1069 -1280h799z" />
-<glyph unicode="[" horiz-adv-x="537" d="M369 -324h-426l376 1786h429l-19 -90h-330l-340 -1605h330z" />
-<glyph unicode="\" horiz-adv-x="641" d="M295 1462l242 -1462h-82l-246 1462h86z" />
-<glyph unicode="]" horiz-adv-x="537" d="M203 1462h426l-377 -1786h-428l18 91h330l340 1605h-330z" />
-<glyph unicode="^" horiz-adv-x="1047" d="M70 569l587 906h91l260 -906h-105l-217 809l-500 -809h-116z" />
-<glyph unicode="_" horiz-adv-x="801" d="M625 -291h-807l18 86h807z" />
-<glyph unicode="`" horiz-adv-x="1135" d="M766 1241h-66q-50 52 -114 144.5t-99 162.5v21h115q46 -129 164 -303v-25z" />
-<glyph unicode="a" horiz-adv-x="1133" d="M655 1104q232 0 279 -219h6l59 202h80l-229 -1087h-82l45 274h-6q-84 -142 -187 -218t-237 -76q-281 0 -281 374q0 197 75 376t200.5 276.5t277.5 97.5zM406 70q89 0 177.5 62t159 166t107.5 230t37 213q0 79 -26 141.5t-77 99t-127 36.5q-124 0 -224 -82t-164 -245.5 t-64 -325.5q0 -152 50 -223.5t151 -71.5z" />
-<glyph unicode="b" horiz-adv-x="1151" d="M500 -16q-113 0 -186 59t-97 166h-6l-55 -209h-80l327 1556h95q-131 -628 -162 -751h6q93 156 199 229.5t231 73.5q281 0 281 -375q0 -203 -76 -380t-201 -273t-276 -96zM750 1018q-91 0 -180 -61.5t-160.5 -169.5t-106.5 -235t-35 -206q0 -129 64 -202.5t166 -73.5 q124 0 224 83t164 245t64 325q0 152 -49 223.5t-151 71.5z" />
-<glyph unicode="c" horiz-adv-x="887" d="M477 -20q-174 0 -274.5 110.5t-100.5 306.5q0 193 73.5 361.5t198.5 257t290 88.5q134 0 241 -43l-28 -90q-107 47 -218 47q-129 0 -232.5 -77t-162.5 -222t-59 -320q0 -158 73.5 -243.5t208.5 -85.5q71 0 131.5 13t131.5 46v-92q-116 -57 -273 -57z" />
-<glyph unicode="d" horiz-adv-x="1133" d="M655 1104q230 0 279 -219h4q12 66 143 671h99l-330 -1556h-82l45 274h-6q-173 -294 -424 -294q-281 0 -281 374q0 193 71.5 370t197.5 278.5t284 101.5zM406 70q89 0 178.5 62.5t160 168t106.5 231t36 209.5q0 126 -61.5 201.5t-168.5 75.5q-124 0 -224 -83t-164 -242.5 t-64 -327.5q0 -295 201 -295z" />
-<glyph unicode="e" horiz-adv-x="928" d="M469 -20q-173 0 -270 109.5t-97 305.5q0 181 71 347t195.5 264t274.5 98q114 0 182 -61t68 -166q0 -181 -163.5 -276t-485.5 -95h-33q-6 -44 -6 -98q0 -165 74 -251.5t213 -86.5q132 0 276 73v-94q-140 -69 -299 -69zM631 1018q-131 0 -243.5 -115.5t-162.5 -308.5h49 q517 0 517 270q0 67 -43.5 110.5t-116.5 43.5z" />
-<glyph unicode="f" horiz-adv-x="578" d="M-131 -492q-48 0 -102 19v90q53 -16 100 -16q88 0 134 53t75 186l246 1166h-205l14 67l205 14l35 160q35 168 116.5 244t227.5 76q73 0 166 -31l-25 -80q-87 27 -147 27q-96 0 -153.5 -53.5t-84.5 -178.5l-35 -164h248l-16 -81h-248l-252 -1190q-33 -161 -104 -234.5 t-195 -73.5z" />
-<glyph unicode="g" horiz-adv-x="1040" d="M1100 1087l-17 -79l-243 -11q26 -28 43.5 -84t17.5 -114q0 -109 -54.5 -206.5t-148 -145.5t-213.5 -48q-63 0 -77 9q-80 -33 -124 -73t-44 -81t31.5 -64.5t113.5 -31.5l121 -11q346 -31 346 -264q0 -112 -65 -197.5t-187 -131.5t-291 -46q-186 0 -291.5 72t-105.5 203 q0 236 309 334q-78 42 -78 123q0 123 191 202q-71 36 -110.5 105.5t-39.5 157.5q0 111 53.5 204t148 146t206.5 53q69 0 147 -21h361zM14 -207q0 -101 81 -150t224 -49q203 0 317 74.5t114 204.5q0 85 -62.5 130.5t-218.5 57.5l-160 15q-157 -45 -226 -114.5t-69 -168.5z M285 711q0 -112 58.5 -170t164.5 -58q88 0 154 37t102.5 114t36.5 169q0 104 -56 161.5t-157 57.5q-93 0 -161 -43t-105 -116t-37 -152z" />
-<glyph unicode="h" horiz-adv-x="1143" d="M764 0l149 692q21 92 21 156q0 80 -43.5 125t-134.5 45q-112 0 -210.5 -67t-166 -188t-103.5 -286l-102 -477h-98l332 1556h96l-86 -411q-44 -200 -66 -279h6q78 113 186.5 175.5t229.5 62.5q124 0 192 -65t68 -183q0 -70 -24 -182l-148 -674h-98z" />
-<glyph unicode="i" horiz-adv-x="475" d="M174 0h-98l231 1087h96zM350 1366q0 55 22 88t60 33q57 0 57 -72q0 -57 -22 -90t-57 -33q-29 0 -44.5 19.5t-15.5 54.5z" />
-<glyph unicode="j" horiz-adv-x="475" d="M-166 -492q-62 0 -113 19v92q47 -22 113 -22q82 0 128.5 51.5t72.5 177.5l266 1261h96l-268 -1271q-35 -165 -106.5 -236.5t-188.5 -71.5zM350 1366q0 55 22 88t60 33q57 0 57 -72q0 -57 -22 -90t-57 -33q-29 0 -44.5 19.5t-15.5 54.5z" />
-<glyph unicode="k" horiz-adv-x="944" d="M270 477l609 610h125l-474 -469l297 -618h-106l-264 559l-205 -188l-80 -371h-96l330 1556h96l-166 -780l-70 -299h4z" />
-<glyph unicode="l" horiz-adv-x="475" d="M170 0h-94l334 1556h94z" />
-<glyph unicode="m" horiz-adv-x="1751" d="M711 0l147 674q25 125 25 162q0 182 -154 182q-106 0 -200 -67.5t-159 -188.5t-100 -287l-100 -475h-98l231 1087h80l-33 -210h6q80 113 181.5 170t212.5 57q106 0 163 -67t60 -195h6q77 129 181 195.5t222 66.5q117 0 182.5 -61.5t65.5 -176.5q0 -29 -2.5 -56.5 t-19.5 -119.5l-152 -690h-100l149 680q25 120 25 176q0 77 -43 119.5t-119 42.5q-157 0 -277.5 -137.5t-168.5 -362.5l-109 -518h-102z" />
-<glyph unicode="n" horiz-adv-x="1143" d="M764 0l149 692q21 92 21 156q0 80 -43.5 125t-134.5 45q-112 0 -210.5 -67t-166 -187.5t-103.5 -286.5l-102 -477h-98l231 1087h82l-37 -221h6q164 238 416 238q130 0 195 -64t65 -184q0 -70 -24 -182l-148 -674h-98z" />
-<glyph unicode="o" horiz-adv-x="1124" d="M649 1108q180 0 278.5 -108.5t98.5 -299.5q0 -197 -71.5 -368.5t-195.5 -261.5t-286 -90q-184 0 -279.5 109.5t-95.5 313.5q0 191 73 358t197 257t281 90zM641 1022q-124 0 -223 -78.5t-158 -225t-59 -310.5q0 -342 282 -342q127 0 225.5 77.5t157 228t58.5 330.5 q0 154 -73 237t-210 83z" />
-<glyph unicode="p" horiz-adv-x="1149" d="M498 -16q-230 0 -279 219h-4q-13 -72 -149 -695h-99l336 1579h82l-45 -274h6q91 153 195.5 224t228.5 71q135 0 208 -92.5t73 -282.5q0 -195 -72 -371t-197.5 -277t-283.5 -101zM748 1018q-87 0 -174 -58.5t-161.5 -167.5t-110.5 -237.5t-36 -208.5q0 -125 61.5 -200.5 t168.5 -75.5q124 0 225 84t164 243.5t63 325.5q0 295 -200 295z" />
-<glyph unicode="q" horiz-adv-x="1157" d="M651 1104q109 0 183.5 -58t99.5 -167h6l55 208h80l-327 -1556h-95l98 470l64 282h-6q-93 -156 -199 -229.5t-231 -73.5q-281 0 -281 374q0 201 75.5 379t200.5 274.5t277 96.5zM401 70q92 0 182 62.5t160.5 171.5t105 236.5t34.5 200.5q0 130 -63.5 203.5t-166.5 73.5 q-124 0 -224 -83t-164 -245t-64 -325q0 -143 45.5 -219t154.5 -76z" />
-<glyph unicode="r" horiz-adv-x="752" d="M713 1106q69 0 123 -14l-21 -93q-47 15 -113 15q-94 0 -179 -64t-153 -192t-100 -277l-100 -481h-98l231 1087h80l-29 -204h6q73 94 123 135.5t106.5 64.5t123.5 23z" />
-<glyph unicode="s" horiz-adv-x="827" d="M713 295q0 -144 -103 -229.5t-280 -85.5q-173 0 -305 75v107q74 -46 153 -71t148 -25q138 0 211 57.5t73 163.5q0 42 -15.5 74t-50 61.5t-132.5 85.5q-148 80 -200 145.5t-52 159.5q0 128 98.5 209.5t259.5 81.5q75 0 158.5 -17.5t140.5 -46.5l-35 -88q-136 64 -264 64 q-116 0 -186 -53t-70 -138q0 -55 17 -88t60.5 -68.5t119.5 -76.5q114 -63 161.5 -103.5t70 -86.5t22.5 -107z" />
-<glyph unicode="t" horiz-adv-x="616" d="M694 1087l-18 -81h-283l-135 -635q-22 -99 -22 -164q0 -139 126 -139q68 0 152 26v-86q-101 -28 -170 -28q-99 0 -153 54.5t-54 158.5q0 73 29 206l129 607h-182l14 67l184 17l97 253h55l-55 -256h286z" />
-<glyph unicode="u" horiz-adv-x="1143" d="M381 1087l-152 -698q-22 -106 -22 -158q0 -74 47.5 -117.5t138.5 -43.5q110 0 207.5 65.5t164 187t99.5 279.5l105 485h98l-231 -1087h-80l28 205h-6q-167 -221 -403 -221q-131 0 -198.5 62t-67.5 181q0 60 22 170l150 690h100z" />
-<glyph unicode="v" horiz-adv-x="895" d="M276 0l-172 1087h101l108 -735q26 -165 33 -254h6q51 115 129 256l406 733h102l-600 -1087h-113z" />
-<glyph unicode="w" horiz-adv-x="1393" d="M838 0l-60 686q-14 224 -14 266h-6q-34 -92 -144 -290l-356 -662h-117l-20 1087h92l13 -821l-3 -157h6q61 134 150 297l373 681h77l64 -681q14 -147 14 -297h6l24 61l101 236l320 681h96l-508 -1087h-108z" />
-<glyph unicode="x" horiz-adv-x="922" d="M442 483l-393 -483h-121l471 559l-245 528h100l207 -462l373 462h120l-448 -534l258 -553h-98z" />
-<glyph unicode="y" horiz-adv-x="920" d="M123 1087h100l82 -548q51 -351 55 -449h11q43 105 186 367l348 630h103l-713 -1290q-72 -127 -122.5 -178t-114 -81t-146.5 -30q-68 0 -129 21v92q71 -27 137 -27q80 0 147 49.5t130 164.5t100 184z" />
-<glyph unicode="z" horiz-adv-x="887" d="M700 0h-729l15 72l776 932h-543l17 83h659l-18 -83l-762 -920h602z" />
-<glyph unicode="{" horiz-adv-x="709" d="M424 -324q-256 0 -256 199q0 45 16 115l56 252q18 90 18 127q0 159 -199 159l21 78q126 0 191 49t89 158l89 393q30 135 106 195.5t215 60.5h29l-17 -86q-86 -2 -129 -20.5t-69.5 -61.5t-44.5 -120l-74 -338q-30 -134 -91.5 -194.5t-164.5 -78.5v-4q68 -18 105.5 -68.5 t37.5 -121.5q0 -52 -24 -164l-47 -225q-13 -58 -13 -101q0 -61 37.5 -89t138.5 -28v-86h-20z" />
-<glyph unicode="|" d="M584 1561h100v-2071h-100v2071z" />
-<glyph unicode="}" horiz-adv-x="709" d="M332 1462q131 0 189.5 -51t58.5 -147q0 -41 -17 -115l-55 -252q-19 -95 -19 -127q0 -77 49.5 -118.5t149.5 -41.5l-20 -78q-125 0 -191 -48.5t-90 -157.5l-88 -394q-32 -139 -108.5 -197.5t-213.5 -58.5h-18v86q96 2 138 21t68.5 61t43.5 121l74 338q27 126 87.5 189.5 t168.5 82.5v5q-75 20 -109.5 72.5t-34.5 117.5q0 55 18 131l54 258q12 61 12 101q0 44 -18 69t-54 36t-116 11l20 86h21z" />
-<glyph unicode="~" d="M350 745q-49 0 -108 -30.5t-115 -89.5v94q108 110 233 110q61 0 115 -13.5t156 -57.5q126 -58 219 -58q54 0 107.5 29t117.5 96v-96q-111 -113 -233 -113q-117 0 -271 72q-62 29 -112.5 43t-108.5 14z" />
-<glyph unicode="&#xa1;" horiz-adv-x="502" d="M264 711h62l-203 -1086h-119zM432 1030q0 -56 -25 -88.5t-69 -32.5q-66 0 -66 72q0 55 25 89t68 34q67 0 67 -74z" />
-<glyph unicode="&#xa2;" d="M578 -20h-93l45 215q-132 25 -206 132.5t-74 272.5q0 184 63.5 341t178 253t256.5 111l36 178h90l-38 -176q116 -4 217 -43l-29 -90q-107 47 -217 47q-130 0 -233 -76t-162.5 -221t-59.5 -322q0 -164 74.5 -247t208.5 -83q127 0 264 60v-92q-118 -58 -281 -58z" />
-<glyph unicode="&#xa3;" d="M879 1479q170 0 313 -78l-39 -84l-54 26q-108 50 -231 50q-134 0 -220.5 -74.5t-117.5 -220.5l-73 -340h409l-18 -82h-408l-57 -268q-50 -225 -188 -314h759l-20 -94h-938l16 84q93 11 165.5 95.5t107.5 236.5l57 260h-199l17 82h198l76 350q41 187 155 279t290 92z" />
-<glyph unicode="&#xa4;" d="M262 723q0 118 74 225l-129 129l63 64l127 -129q105 78 230 78q118 0 223 -78l131 129l61 -62l-129 -129q78 -106 78 -227q0 -135 -78 -227l129 -127l-61 -62l-131 127q-104 -76 -223 -76q-126 0 -228 80l-129 -129l-61 62l127 127q-74 98 -74 225zM350 723 q0 -116 80 -196.5t197 -80.5t198.5 81t81.5 196q0 75 -36.5 140t-102.5 104t-141 39q-114 0 -195.5 -82t-81.5 -201z" />
-<glyph unicode="&#xa5;" d="M584 645l544 817h117l-559 -823h266l-16 -76h-315l-39 -190h317l-18 -84h-316l-59 -289h-105l64 289h-299l18 84h299l41 190h-301l17 76h258l-215 823h100z" />
-<glyph unicode="&#xa6;" d="M578 1561h100v-756h-100v756zM578 246h100v-756h-100v756z" />
-<glyph unicode="&#xa7;" horiz-adv-x="995" d="M211 778q0 101 69.5 182t198.5 130q-64 31 -103.5 85.5t-39.5 120.5q0 74 46 134.5t132.5 94.5t202.5 34q163 0 289 -58l-31 -80q-138 54 -264 54q-124 0 -202.5 -46.5t-78.5 -123.5q0 -59 46 -104.5t183 -106.5q112 -52 158.5 -89.5t71 -85t24.5 -110.5 q0 -197 -249 -317q122 -64 122 -197q0 -86 -48 -153.5t-139.5 -105.5t-221.5 -38q-157 0 -275 53v99q47 -27 126 -46.5t153 -19.5q149 0 228 52.5t79 150.5q0 62 -42.5 106t-166.5 96q-155 65 -211.5 130t-56.5 159zM559 1038q-119 -30 -187.5 -97.5t-68.5 -154.5 q0 -57 24.5 -96.5t81 -73t187.5 -81.5q103 49 162 113.5t59 156.5q0 72 -57.5 126t-200.5 107z" />
-<glyph unicode="&#xa8;" horiz-adv-x="1135" d="M836 1366q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63zM492 1366q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63z" />
-<glyph unicode="&#xa9;" horiz-adv-x="1704" d="M944 1092q-142 0 -222.5 -94.5t-80.5 -264.5q0 -186 74.5 -275t220.5 -89q85 0 199 43v-88q-104 -45 -209 -45q-187 0 -288 116t-101 330q0 207 110 332t297 125q119 0 227 -52l-36 -83q-99 45 -191 45zM147 731q0 200 100 375t275 276t377 101q200 0 375 -100t276 -275 t101 -377q0 -197 -97 -370t-272 -277t-383 -104q-207 0 -382 103.5t-272.5 276.5t-97.5 371zM240 731q0 -178 88.5 -329.5t240.5 -240.5t330 -89q174 0 325 85.5t243 239t92 334.5q0 178 -89 330t-240.5 241t-330.5 89q-182 0 -335 -92t-238.5 -243t-85.5 -325z" />
-<glyph unicode="&#xaa;" horiz-adv-x="643" d="M487 1485q55 0 97.5 -29t66.5 -86h6l35 103h66l-137 -650h-72l22 125h-4q-96 -137 -223 -137q-80 0 -127 56.5t-47 164.5q0 189 90.5 321t226.5 132zM369 885q66 0 133.5 75.5t97.5 184.5q16 51 16 123q0 58 -36 100.5t-93 42.5q-94 0 -161.5 -111.5t-67.5 -271.5 q0 -143 111 -143z" />
-<glyph unicode="&#xab;" horiz-adv-x="860" d="M426 932l57 -49l-317 -336l213 -385l-64 -39l-254 418l2 26zM786 932l58 -49l-314 -336l209 -385l-63 -39l-254 418l2 26z" />
-<glyph unicode="&#xac;" d="M1028 772v-500h-100v400h-803v100h903z" />
-<glyph unicode="&#xad;" horiz-adv-x="629" d="M77 502zM77 502l18 90h457l-16 -90h-459z" />
-<glyph unicode="&#xae;" horiz-adv-x="1704" d="M758 731h112q93 0 144 46.5t51 135.5q0 172 -197 172h-110v-354zM1169 918q0 -80 -39.5 -141t-109.5 -93l237 -393h-120l-211 360h-168v-360h-101v880h211q143 0 222 -62t79 -191zM150 731q0 207 103.5 382t276.5 272.5t371 97.5q200 0 375 -100t276 -275t101 -377 q0 -197 -97 -370t-272 -277t-383 -104q-204 0 -376.5 100.5t-273.5 273t-101 377.5zM242 731q0 -178 88.5 -329.5t240.5 -240.5t330 -89q174 0 325 85.5t243 239t92 334.5q0 178 -89 330t-240.5 241t-330.5 89q-182 0 -335 -92t-238.5 -243t-85.5 -325z" />
-<glyph unicode="&#xaf;" horiz-adv-x="655" d="M1001 1556h-653l53 97h654z" />
-<glyph unicode="&#xb0;" horiz-adv-x="877" d="M242 1190q0 120 85 206.5t208 86.5q122 0 207 -86.5t85 -206.5q0 -122 -85.5 -207.5t-206.5 -85.5q-122 0 -207.5 85.5t-85.5 207.5zM315 1190q0 -89 64.5 -153t155.5 -64q92 0 155.5 64t63.5 153q0 90 -64 155.5t-155 65.5q-90 0 -155 -65.5t-65 -155.5z" />
-<glyph unicode="&#xb1;" d="M528 629h-401v98h401v406h101v-406h401v-98h-401v-400h-101v400zM127 0v100h903v-100h-903z" />
-<glyph unicode="&#xb2;" horiz-adv-x="643" d="M604 586h-522l16 80l297 258q137 118 182.5 190.5t45.5 153.5q0 59 -38.5 97t-105.5 38q-95 0 -194 -76l-41 62q108 90 239 90q73 0 125 -27t78.5 -72t26.5 -100q0 -106 -59 -198.5t-183 -194.5l-266 -223h416z" />
-<glyph unicode="&#xb3;" horiz-adv-x="643" d="M705 1276q0 -85 -48.5 -148t-154.5 -88v-4q66 -16 105.5 -68t39.5 -124q0 -77 -39 -141t-109 -99t-161 -35q-59 0 -123.5 15.5t-105.5 40.5v90q46 -28 108 -48t125 -20q99 0 159 52.5t60 142.5q0 162 -196 162h-84l16 79h86q102 0 168.5 49.5t66.5 129.5 q0 68 -37.5 102.5t-105.5 34.5q-100 0 -199 -68l-40 64q109 86 251 86q100 0 159 -56.5t59 -148.5z" />
-<glyph unicode="&#xb4;" horiz-adv-x="1135" d="M580 1262q66 51 150.5 142t129.5 165h137v-23q-51 -66 -157.5 -158.5t-192.5 -146.5h-67v21z" />
-<glyph unicode="&#xb5;" horiz-adv-x="1171" d="M238 242q0 -82 48.5 -127t135.5 -45q110 0 207 64.5t162.5 182.5t101.5 285l104 485h99l-234 -1087h-78l29 205h-6q-164 -221 -404 -221q-85 0 -139 32.5t-76 89.5h-6q-18 -132 -51 -284l-63 -314h-97l338 1579h101l-152 -698q-20 -96 -20 -147z" />
-<glyph unicode="&#xb6;" horiz-adv-x="1341" d="M1208 -260h-100v1722h-227v-1722h-101v819q-64 -18 -145 -18q-216 0 -318 125t-102 376q0 260 109 387t342 127h542v-1816z" />
-<glyph unicode="&#xb7;" horiz-adv-x="485" d="M207 625zM207 698q0 56 25 88.5t69 32.5q66 0 66 -72q0 -53 -25 -87.5t-67 -34.5q-68 0 -68 73z" />
-<glyph unicode="&#xb8;" horiz-adv-x="420" d="M197 -289q0 -94 -75.5 -148.5t-217.5 -54.5q-46 0 -78 7v79q30 -6 72 -6q198 0 198 115q0 97 -151 107l110 190h80l-78 -137q140 -30 140 -152z" />
-<glyph unicode="&#xb9;" horiz-adv-x="643" d="M512 1462h80l-186 -876h-84l118 569q5 21 11.5 50.5t14 60t15.5 59t15 49.5q-34 -31 -60 -51.5t-143 -93.5l-39 59z" />
-<glyph unicode="&#xba;" horiz-adv-x="655" d="M518 1479q105 0 165 -64t60 -180q0 -115 -40 -214t-114 -156.5t-175 -57.5q-114 0 -169 67.5t-55 184.5q0 112 41.5 209.5t116 154t170.5 56.5zM508 1405q-70 0 -124 -46.5t-84 -124.5t-30 -167q0 -186 156 -186q73 0 125.5 46.5t81.5 127.5t29 176q0 83 -39 128.5 t-115 45.5z" />
-<glyph unicode="&#xbb;" horiz-adv-x="860" d="M451 123l-58 49l314 336l-209 385l63 39l254 -418l-2 -27zM90 123l-57 49l313 336l-209 385l64 39l254 -418l-2 -27z" />
-<glyph unicode="&#xbc;" horiz-adv-x="1481" d="M129 0zM1319 230h-131l-49 -229h-82l49 229h-391l21 76l506 577h86l-125 -581h133zM1121 302q61 294 79 365.5t29 105.5q-10 -16 -61 -79t-338 -392h291zM1323 1462l-1087 -1462h-107l1086 1462h108zM509 1462h80l-186 -876h-84l118 569q5 21 11.5 50.5t14 60t15.5 59 t15 49.5q-34 -31 -60 -51.5t-143 -93.5l-39 59z" />
-<glyph unicode="&#xbd;" horiz-adv-x="1458" d="M53 0zM1278 1h-522l16 80l297 258q137 118 182.5 190.5t45.5 153.5q0 59 -38.5 97t-105.5 38q-95 0 -194 -76l-41 62q108 90 239 90q73 0 125 -27t78.5 -72t26.5 -100q0 -106 -59 -198.5t-183 -194.5l-266 -223h416zM431 1462h80l-186 -876h-84l118 569q5 21 11.5 50.5 t14 60t15.5 59t15 49.5q-34 -31 -60 -51.5t-143 -93.5l-39 59zM1247 1462l-1087 -1462h-107l1086 1462h108z" />
-<glyph unicode="&#xbe;" horiz-adv-x="1458" d="M71 0zM1380 230h-131l-49 -229h-82l49 229h-391l21 76l506 577h86l-125 -581h133zM1182 302q61 294 79 365.5t29 105.5q-10 -16 -61 -79t-338 -392h291zM667 1276q0 -85 -48.5 -148t-154.5 -88v-4q66 -16 105.5 -68t39.5 -124q0 -77 -39 -141t-109 -99t-161 -35 q-59 0 -123.5 15.5t-105.5 40.5v90q46 -28 108 -48t125 -20q99 0 159 52.5t60 142.5q0 162 -196 162h-84l16 79h86q102 0 168.5 49.5t66.5 129.5q0 68 -37.5 102.5t-105.5 34.5q-100 0 -199 -68l-40 64q109 86 251 86q100 0 159 -56.5t59 -148.5zM1407 1462l-1087 -1462 h-107l1086 1462h108z" />
-<glyph unicode="&#xbf;" horiz-adv-x="799" d="M641 717l-6 -29q-28 -127 -79 -200t-161 -154q-118 -84 -175 -145.5t-86.5 -127.5t-29.5 -141q0 -106 65.5 -168.5t184.5 -62.5q141 0 308 100l38 -86q-85 -49 -170.5 -77.5t-187.5 -28.5q-159 0 -250.5 84.5t-91.5 228.5q0 133 70 240.5t227 220.5q85 61 133.5 109 t73 95t45.5 142h92zM713 1020q0 -56 -25.5 -88.5t-69.5 -32.5q-65 0 -65 72q0 56 25 89.5t67 33.5q68 0 68 -74z" />
-<glyph unicode="&#xc0;" horiz-adv-x="1059" d="M0 0zM805 520h-512l-287 -520h-117l822 1468h67l201 -1468h-105zM793 612l-39 291q-31 242 -39 402q-30 -63 -64.5 -130t-306.5 -563h449zM815 1579h-66q-50 52 -114 144.5t-99 162.5v21h115q46 -129 164 -303v-25z" />
-<glyph unicode="&#xc1;" horiz-adv-x="1059" d="M0 0zM805 520h-512l-287 -520h-117l822 1468h67l201 -1468h-105zM793 612l-39 291q-31 242 -39 402q-30 -63 -64.5 -130t-306.5 -563h449zM668 1600q66 51 150.5 142t129.5 165h137v-23q-51 -66 -157.5 -158.5t-192.5 -146.5h-67v21z" />
-<glyph unicode="&#xc2;" horiz-adv-x="1059" d="M0 0zM805 520h-512l-287 -520h-117l822 1468h67l201 -1468h-105zM793 612l-39 291q-31 242 -39 402q-30 -63 -64.5 -130t-306.5 -563h449zM1007 1579h-49q-70 60 -161 207q-55 -57 -125 -114.5t-125 -92.5h-54v29q68 56 157.5 148.5t127.5 150.5h64q23 -64 72.5 -152.5 t92.5 -146.5v-29z" />
-<glyph unicode="&#xc3;" horiz-adv-x="1059" d="M0 0zM805 520h-512l-287 -520h-117l822 1468h67l201 -1468h-105zM793 612l-39 291q-31 242 -39 402q-30 -63 -64.5 -130t-306.5 -563h449zM911 1587q-40 0 -77.5 19t-75.5 45q-34 23 -64.5 41t-68.5 18q-45 0 -74 -28.5t-51 -100.5h-74q19 108 71 166.5t134 58.5 q41 0 73.5 -14t117.5 -72q52 -36 94 -36q43 0 71.5 30.5t46.5 100.5h76q-26 -118 -74.5 -173t-124.5 -55z" />
-<glyph unicode="&#xc4;" horiz-adv-x="1059" d="M0 0zM805 520h-512l-287 -520h-117l822 1468h67l201 -1468h-105zM793 612l-39 291q-31 242 -39 402q-30 -63 -64.5 -130t-306.5 -563h449zM879 1704q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63zM535 1704q0 49 20.5 78t56.5 29q54 0 54 -64 q0 -48 -21 -77t-55 -29q-55 0 -55 63z" />
-<glyph unicode="&#xc5;" horiz-adv-x="1059" d="M0 0zM805 520h-512l-287 -520h-117l822 1468h67l201 -1468h-105zM793 612l-39 291q-31 242 -39 402q-30 -63 -64.5 -130t-306.5 -563h449zM945 1600q0 -92 -57.5 -148.5t-145.5 -56.5q-93 0 -148 52t-55 145q0 88 59.5 144t149.5 56q88 0 142.5 -50t54.5 -142zM867 1598 q0 57 -33.5 90t-87.5 33q-60 0 -93.5 -36t-33.5 -93t33 -90t90 -33q56 0 90.5 36t34.5 93z" />
-<glyph unicode="&#xc6;" horiz-adv-x="1640" d="M1403 0h-727l110 522h-444l-328 -522h-131l946 1462h883l-20 -94h-625l-117 -553h590l-20 -94h-588l-135 -627h626zM408 627h401l156 741h-88z" />
-<glyph unicode="&#xc7;" horiz-adv-x="1169" d="M170 0zM961 1389q-197 0 -351.5 -104.5t-245 -304.5t-90.5 -441q0 -225 110.5 -346t317.5 -121q140 0 304 51v-94q-156 -49 -316 -49q-252 0 -386 145t-134 410q0 266 104.5 488t284.5 341t402 119q177 0 307 -68l-45 -90q-55 30 -124.5 47t-137.5 17zM752 -289 q0 -94 -75.5 -148.5t-217.5 -54.5q-46 0 -78 7v79q30 -6 72 -6q198 0 198 115q0 97 -151 107l110 190h80l-78 -137q140 -30 140 -152z" />
-<glyph unicode="&#xc8;" horiz-adv-x="1067" d="M102 0zM829 0h-727l310 1462h727l-21 -94h-624l-117 -553h590l-21 -94h-588l-135 -627h627zM891 1579h-66q-50 52 -114 144.5t-99 162.5v21h115q46 -129 164 -303v-25z" />
-<glyph unicode="&#xc9;" horiz-adv-x="1067" d="M102 0zM829 0h-727l310 1462h727l-21 -94h-624l-117 -553h590l-21 -94h-588l-135 -627h627zM654 1600q66 51 150.5 142t129.5 165h137v-23q-51 -66 -157.5 -158.5t-192.5 -146.5h-67v21z" />
-<glyph unicode="&#xca;" horiz-adv-x="1067" d="M102 0zM829 0h-727l310 1462h727l-21 -94h-624l-117 -553h590l-21 -94h-588l-135 -627h627zM1036 1579h-49q-70 60 -161 207q-55 -57 -125 -114.5t-125 -92.5h-54v29q68 56 157.5 148.5t127.5 150.5h64q23 -64 72.5 -152.5t92.5 -146.5v-29z" />
-<glyph unicode="&#xcb;" horiz-adv-x="1067" d="M102 0zM829 0h-727l310 1462h727l-21 -94h-624l-117 -553h590l-21 -94h-588l-135 -627h627zM902 1704q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63zM558 1704q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63z" />
-<glyph unicode="&#xcc;" horiz-adv-x="504" d="M102 0zM102 0l310 1462h98l-309 -1462h-99zM525 1579h-66q-50 52 -114 144.5t-99 162.5v21h115q46 -129 164 -303v-25z" />
-<glyph unicode="&#xcd;" horiz-adv-x="504" d="M102 0zM102 0l310 1462h98l-309 -1462h-99zM419 1600q66 51 150.5 142t129.5 165h137v-23q-51 -66 -157.5 -158.5t-192.5 -146.5h-67v21z" />
-<glyph unicode="&#xce;" horiz-adv-x="504" d="M102 0zM102 0l310 1462h98l-309 -1462h-99zM738 1579h-49q-70 60 -161 207q-55 -57 -125 -114.5t-125 -92.5h-54v29q68 56 157.5 148.5t127.5 150.5h64q23 -64 72.5 -152.5t92.5 -146.5v-29z" />
-<glyph unicode="&#xcf;" horiz-adv-x="504" d="M102 0zM102 0l310 1462h98l-309 -1462h-99zM604 1704q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63zM260 1704q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63z" />
-<glyph unicode="&#xd0;" horiz-adv-x="1352" d="M1288 879q0 -253 -109.5 -461.5t-300.5 -313t-446 -104.5h-330l144 676h-156l21 96h155l146 690h305q282 0 426.5 -147.5t144.5 -435.5zM430 90q226 0 394.5 94.5t261 275.5t92.5 412q0 498 -476 498h-206l-129 -598h378l-20 -96h-379l-125 -586h209z" />
-<glyph unicode="&#xd1;" horiz-adv-x="1372" d="M102 0zM1069 0h-86l-516 1284h-8q-23 -149 -48 -273t-214 -1011h-95l310 1462h80l522 -1294h8q23 176 74 416l188 878h94zM1062 1587q-40 0 -77.5 19t-75.5 45q-34 23 -64.5 41t-68.5 18q-45 0 -74 -28.5t-51 -100.5h-74q19 108 71 166.5t134 58.5q41 0 73.5 -14 t117.5 -72q52 -36 94 -36q43 0 71.5 30.5t46.5 100.5h76q-26 -118 -74.5 -173t-124.5 -55z" />
-<glyph unicode="&#xd2;" horiz-adv-x="1464" d="M172 0zM1403 911q0 -255 -94 -481.5t-252 -338t-365 -111.5q-250 0 -385 149t-135 430q0 262 93 477.5t255 331t373 115.5q247 0 378.5 -148.5t131.5 -423.5zM879 1389q-174 0 -308.5 -101t-214.5 -298t-80 -417q0 -245 109.5 -373t319.5 -128q169 0 300 98.5t210 300 t79 430.5q0 240 -104.5 364t-310.5 124zM989 1579h-66q-50 52 -114 144.5t-99 162.5v21h115q46 -129 164 -303v-25z" />
-<glyph unicode="&#xd3;" horiz-adv-x="1464" d="M172 0zM1403 911q0 -255 -94 -481.5t-252 -338t-365 -111.5q-250 0 -385 149t-135 430q0 262 93 477.5t255 331t373 115.5q247 0 378.5 -148.5t131.5 -423.5zM879 1389q-174 0 -308.5 -101t-214.5 -298t-80 -417q0 -245 109.5 -373t319.5 -128q169 0 300 98.5t210 300 t79 430.5q0 240 -104.5 364t-310.5 124zM844 1600q66 51 150.5 142t129.5 165h137v-23q-51 -66 -157.5 -158.5t-192.5 -146.5h-67v21z" />
-<glyph unicode="&#xd4;" horiz-adv-x="1464" d="M172 0zM1403 911q0 -255 -94 -481.5t-252 -338t-365 -111.5q-250 0 -385 149t-135 430q0 262 93 477.5t255 331t373 115.5q247 0 378.5 -148.5t131.5 -423.5zM879 1389q-174 0 -308.5 -101t-214.5 -298t-80 -417q0 -245 109.5 -373t319.5 -128q169 0 300 98.5t210 300 t79 430.5q0 240 -104.5 364t-310.5 124zM1171 1579h-49q-70 60 -161 207q-55 -57 -125 -114.5t-125 -92.5h-54v29q68 56 157.5 148.5t127.5 150.5h64q23 -64 72.5 -152.5t92.5 -146.5v-29z" />
-<glyph unicode="&#xd5;" horiz-adv-x="1464" d="M172 0zM1403 911q0 -255 -94 -481.5t-252 -338t-365 -111.5q-250 0 -385 149t-135 430q0 262 93 477.5t255 331t373 115.5q247 0 378.5 -148.5t131.5 -423.5zM879 1389q-174 0 -308.5 -101t-214.5 -298t-80 -417q0 -245 109.5 -373t319.5 -128q169 0 300 98.5t210 300 t79 430.5q0 240 -104.5 364t-310.5 124zM1077 1587q-40 0 -77.5 19t-75.5 45q-34 23 -64.5 41t-68.5 18q-45 0 -74 -28.5t-51 -100.5h-74q19 108 71 166.5t134 58.5q41 0 73.5 -14t117.5 -72q52 -36 94 -36q43 0 71.5 30.5t46.5 100.5h76q-26 -118 -74.5 -173t-124.5 -55z " />
-<glyph unicode="&#xd6;" horiz-adv-x="1464" d="M172 0zM1403 911q0 -255 -94 -481.5t-252 -338t-365 -111.5q-250 0 -385 149t-135 430q0 262 93 477.5t255 331t373 115.5q247 0 378.5 -148.5t131.5 -423.5zM879 1389q-174 0 -308.5 -101t-214.5 -298t-80 -417q0 -245 109.5 -373t319.5 -128q169 0 300 98.5t210 300 t79 430.5q0 240 -104.5 364t-310.5 124zM1031 1704q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63zM687 1704q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63z" />
-<glyph unicode="&#xd7;" d="M551 723l-330 332l70 69l330 -329l333 329l68 -67l-332 -334l332 -332l-68 -67l-333 329l-330 -327l-68 67z" />
-<glyph unicode="&#xd8;" horiz-adv-x="1464" d="M1403 911q0 -187 -52 -365.5t-144.5 -304.5t-223 -193.5t-291.5 -67.5q-215 0 -348 112l-139 -170l-66 64l146 172q-113 149 -113 401q0 263 94 479.5t256.5 330.5t370.5 114q219 0 352 -121l133 168l70 -53l-145 -183q45 -51 72.5 -161t27.5 -222zM879 1389 q-134 0 -244 -59.5t-188.5 -170t-124.5 -267.5t-46 -319q0 -105 21.5 -191t56.5 -138l826 1032q-107 113 -301 113zM1294 901q0 85 -17.5 172t-43.5 129l-821 -1030q107 -100 293 -100q170 0 301 100t209.5 296.5t78.5 432.5z" />
-<glyph unicode="&#xd9;" horiz-adv-x="1370" d="M176 0zM1395 1462l-207 -977q-58 -270 -197 -387.5t-375 -117.5q-440 0 -440 401q0 83 27 201l186 880h103l-193 -899q-20 -89 -20 -184q0 -309 342 -309q195 0 307.5 96.5t158.5 318.5l207 977h101zM946 1579h-66q-50 52 -114 144.5t-99 162.5v21h115q46 -129 164 -303 v-25z" />
-<glyph unicode="&#xda;" horiz-adv-x="1370" d="M176 0zM1395 1462l-207 -977q-58 -270 -197 -387.5t-375 -117.5q-440 0 -440 401q0 83 27 201l186 880h103l-193 -899q-20 -89 -20 -184q0 -309 342 -309q195 0 307.5 96.5t158.5 318.5l207 977h101zM838 1600q66 51 150.5 142t129.5 165h137v-23q-51 -66 -157.5 -158.5 t-192.5 -146.5h-67v21z" />
-<glyph unicode="&#xdb;" horiz-adv-x="1370" d="M176 0zM1395 1462l-207 -977q-58 -270 -197 -387.5t-375 -117.5q-440 0 -440 401q0 83 27 201l186 880h103l-193 -899q-20 -89 -20 -184q0 -309 342 -309q195 0 307.5 96.5t158.5 318.5l207 977h101zM1148 1579h-49q-70 60 -161 207q-55 -57 -125 -114.5t-125 -92.5h-54 v29q68 56 157.5 148.5t127.5 150.5h64q23 -64 72.5 -152.5t92.5 -146.5v-29z" />
-<glyph unicode="&#xdc;" horiz-adv-x="1370" d="M176 0zM1395 1462l-207 -977q-58 -270 -197 -387.5t-375 -117.5q-440 0 -440 401q0 83 27 201l186 880h103l-193 -899q-20 -89 -20 -184q0 -309 342 -309q195 0 307.5 96.5t158.5 318.5l207 977h101zM1022 1704q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29 q-55 0 -55 63zM678 1704q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63z" />
-<glyph unicode="&#xdd;" horiz-adv-x="965" d="M193 0zM494 645l544 817h117l-631 -932l-108 -530h-105l119 545l-237 917h100zM563 1600q66 51 150.5 142t129.5 165h137v-23q-51 -66 -157.5 -158.5t-192.5 -146.5h-67v21z" />
-<glyph unicode="&#xde;" horiz-adv-x="1145" d="M1087 836q0 -247 -153 -373.5t-457 -126.5h-201l-71 -336h-103l310 1462h102l-57 -266h213q200 0 308.5 -92.5t108.5 -267.5zM293 428h190q256 0 376 98.5t120 302.5q0 275 -330 275h-211z" />
-<glyph unicode="&#xdf;" horiz-adv-x="1094" d="M-162 -492q-73 0 -119 23v90q53 -24 115 -24q79 0 123 50.5t66 153.5l305 1409q80 357 405 357q137 0 215 -61.5t78 -174.5q0 -75 -44.5 -140.5t-166.5 -148.5q-107 -76 -141.5 -124.5t-34.5 -106.5q0 -51 34 -88.5t93 -75.5q96 -63 138 -133.5t42 -165.5 q0 -170 -106.5 -269t-286.5 -99q-143 0 -234 65v109q45 -36 112.5 -59t129.5 -23q132 0 208.5 71t76.5 195q0 75 -31.5 129t-109.5 108q-82 58 -119 110.5t-37 121.5q0 57 21 103t60.5 88.5t137.5 113.5q101 70 131.5 116t30.5 101q0 70 -55 110t-150 40q-129 0 -205 -76 t-108 -229l-291 -1377q-33 -152 -103.5 -220.5t-179.5 -68.5z" />
-<glyph unicode="&#xe0;" horiz-adv-x="1133" d="M102 0zM655 1104q232 0 279 -219h6l59 202h80l-229 -1087h-82l45 274h-6q-84 -142 -187 -218t-237 -76q-281 0 -281 374q0 197 75 376t200.5 276.5t277.5 97.5zM406 70q89 0 177.5 62t159 166t107.5 230t37 213q0 79 -26 141.5t-77 99t-127 36.5q-124 0 -224 -82 t-164 -245.5t-64 -325.5q0 -152 50 -223.5t151 -71.5zM809 1241h-66q-50 52 -114 144.5t-99 162.5v21h115q46 -129 164 -303v-25z" />
-<glyph unicode="&#xe1;" horiz-adv-x="1133" d="M102 0zM655 1104q232 0 279 -219h6l59 202h80l-229 -1087h-82l45 274h-6q-84 -142 -187 -218t-237 -76q-281 0 -281 374q0 197 75 376t200.5 276.5t277.5 97.5zM406 70q89 0 177.5 62t159 166t107.5 230t37 213q0 79 -26 141.5t-77 99t-127 36.5q-124 0 -224 -82 t-164 -245.5t-64 -325.5q0 -152 50 -223.5t151 -71.5zM586 1262q66 51 150.5 142t129.5 165h137v-23q-51 -66 -157.5 -158.5t-192.5 -146.5h-67v21z" />
-<glyph unicode="&#xe2;" horiz-adv-x="1133" d="M102 0zM655 1104q232 0 279 -219h6l59 202h80l-229 -1087h-82l45 274h-6q-84 -142 -187 -218t-237 -76q-281 0 -281 374q0 197 75 376t200.5 276.5t277.5 97.5zM406 70q89 0 177.5 62t159 166t107.5 230t37 213q0 79 -26 141.5t-77 99t-127 36.5q-124 0 -224 -82 t-164 -245.5t-64 -325.5q0 -152 50 -223.5t151 -71.5zM955 1243h-49q-70 60 -161 207q-55 -57 -125 -114.5t-125 -92.5h-54v29q68 56 157.5 148.5t127.5 150.5h64q23 -64 72.5 -152.5t92.5 -146.5v-29z" />
-<glyph unicode="&#xe3;" horiz-adv-x="1133" d="M102 0zM655 1104q232 0 279 -219h6l59 202h80l-229 -1087h-82l45 274h-6q-84 -142 -187 -218t-237 -76q-281 0 -281 374q0 197 75 376t200.5 276.5t277.5 97.5zM406 70q89 0 177.5 62t159 166t107.5 230t37 213q0 79 -26 141.5t-77 99t-127 36.5q-124 0 -224 -82 t-164 -245.5t-64 -325.5q0 -152 50 -223.5t151 -71.5zM858 1249q-40 0 -77.5 19t-75.5 45q-34 23 -64.5 41t-68.5 18q-45 0 -74 -28.5t-51 -100.5h-74q19 108 71 166.5t134 58.5q41 0 73.5 -14t117.5 -72q52 -36 94 -36q43 0 71.5 30.5t46.5 100.5h76q-26 -118 -74.5 -173 t-124.5 -55z" />
-<glyph unicode="&#xe4;" horiz-adv-x="1133" d="M102 0zM655 1104q232 0 279 -219h6l59 202h80l-229 -1087h-82l45 274h-6q-84 -142 -187 -218t-237 -76q-281 0 -281 374q0 197 75 376t200.5 276.5t277.5 97.5zM406 70q89 0 177.5 62t159 166t107.5 230t37 213q0 79 -26 141.5t-77 99t-127 36.5q-124 0 -224 -82 t-164 -245.5t-64 -325.5q0 -152 50 -223.5t151 -71.5zM835 1366q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63zM491 1366q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63z" />
-<glyph unicode="&#xe5;" horiz-adv-x="1133" d="M102 0zM655 1104q232 0 279 -219h6l59 202h80l-229 -1087h-82l45 274h-6q-84 -142 -187 -218t-237 -76q-281 0 -281 374q0 197 75 376t200.5 276.5t277.5 97.5zM406 70q89 0 177.5 62t159 166t107.5 230t37 213q0 79 -26 141.5t-77 99t-127 36.5q-124 0 -224 -82 t-164 -245.5t-64 -325.5q0 -152 50 -223.5t151 -71.5zM927 1448q0 -92 -57.5 -148.5t-145.5 -56.5q-93 0 -148 52t-55 145q0 88 59.5 144t149.5 56q88 0 142.5 -50t54.5 -142zM849 1446q0 57 -33.5 90t-87.5 33q-60 0 -93.5 -36t-33.5 -93t33 -90t90 -33q56 0 90.5 36 t34.5 93z" />
-<glyph unicode="&#xe6;" horiz-adv-x="1602" d="M1155 -20q-123 0 -211 60t-117 165l-39 -205h-77l41 254h-9q-94 -142 -189 -208t-208 -66q-120 0 -182 94t-62 270q0 206 70.5 384.5t192.5 277t274 98.5q106 0 166 -56.5t74 -156.5h10l59 192h66l-35 -186q139 207 350 207q112 0 175 -61.5t63 -172.5 q0 -179 -158.5 -271.5t-470.5 -92.5h-39q-8 -51 -8 -96q0 -161 69.5 -250.5t217.5 -89.5q69 0 133.5 21t130.5 52v-94q-80 -37 -147 -53t-140 -16zM369 70q67 0 138.5 42t134 117.5t106 170.5t63.5 199t20 165q0 118 -49 186t-141 68q-123 0 -223 -86t-156.5 -240 t-56.5 -340q0 -150 42.5 -216t121.5 -66zM1317 1018q-119 0 -232 -115.5t-172 -308.5h48q263 0 383 67t120 203q0 71 -38.5 112.5t-108.5 41.5z" />
-<glyph unicode="&#xe7;" horiz-adv-x="887" d="M102 0zM477 -20q-174 0 -274.5 110.5t-100.5 306.5q0 193 73.5 361.5t198.5 257t290 88.5q134 0 241 -43l-28 -90q-107 47 -218 47q-129 0 -232.5 -77t-162.5 -222t-59 -320q0 -158 73.5 -243.5t208.5 -85.5q71 0 131.5 13t131.5 46v-92q-116 -57 -273 -57zM574 -289 q0 -94 -75.5 -148.5t-217.5 -54.5q-46 0 -78 7v79q30 -6 72 -6q198 0 198 115q0 97 -151 107l110 190h80l-78 -137q140 -30 140 -152z" />
-<glyph unicode="&#xe8;" horiz-adv-x="928" d="M102 0zM469 -20q-173 0 -270 109.5t-97 305.5q0 181 71 347t195.5 264t274.5 98q114 0 182 -61t68 -166q0 -181 -163.5 -276t-485.5 -95h-33q-6 -44 -6 -98q0 -165 74 -251.5t213 -86.5q132 0 276 73v-94q-140 -69 -299 -69zM631 1018q-131 0 -243.5 -115.5 t-162.5 -308.5h49q517 0 517 270q0 67 -43.5 110.5t-116.5 43.5zM751 1241h-66q-50 52 -114 144.5t-99 162.5v21h115q46 -129 164 -303v-25z" />
-<glyph unicode="&#xe9;" horiz-adv-x="928" d="M102 0zM469 -20q-173 0 -270 109.5t-97 305.5q0 181 71 347t195.5 264t274.5 98q114 0 182 -61t68 -166q0 -181 -163.5 -276t-485.5 -95h-33q-6 -44 -6 -98q0 -165 74 -251.5t213 -86.5q132 0 276 73v-94q-140 -69 -299 -69zM631 1018q-131 0 -243.5 -115.5 t-162.5 -308.5h49q517 0 517 270q0 67 -43.5 110.5t-116.5 43.5zM532 1262q66 51 150.5 142t129.5 165h137v-23q-51 -66 -157.5 -158.5t-192.5 -146.5h-67v21z" />
-<glyph unicode="&#xea;" horiz-adv-x="928" d="M102 0zM469 -20q-173 0 -270 109.5t-97 305.5q0 181 71 347t195.5 264t274.5 98q114 0 182 -61t68 -166q0 -181 -163.5 -276t-485.5 -95h-33q-6 -44 -6 -98q0 -165 74 -251.5t213 -86.5q132 0 276 73v-94q-140 -69 -299 -69zM631 1018q-131 0 -243.5 -115.5 t-162.5 -308.5h49q517 0 517 270q0 67 -43.5 110.5t-116.5 43.5zM904 1241h-49q-70 60 -161 207q-55 -57 -125 -114.5t-125 -92.5h-54v29q68 56 157.5 148.5t127.5 150.5h64q23 -64 72.5 -152.5t92.5 -146.5v-29z" />
-<glyph unicode="&#xeb;" horiz-adv-x="928" d="M102 0zM469 -20q-173 0 -270 109.5t-97 305.5q0 181 71 347t195.5 264t274.5 98q114 0 182 -61t68 -166q0 -181 -163.5 -276t-485.5 -95h-33q-6 -44 -6 -98q0 -165 74 -251.5t213 -86.5q132 0 276 73v-94q-140 -69 -299 -69zM631 1018q-131 0 -243.5 -115.5 t-162.5 -308.5h49q517 0 517 270q0 67 -43.5 110.5t-116.5 43.5zM780 1366q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63zM436 1366q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63z" />
-<glyph unicode="&#xec;" horiz-adv-x="475" d="M76 0zM174 0h-98l231 1087h96zM454 1241h-66q-50 52 -114 144.5t-99 162.5v21h115q46 -129 164 -303v-25z" />
-<glyph unicode="&#xed;" horiz-adv-x="475" d="M76 0zM174 0h-98l231 1087h96zM284 1262q66 51 150.5 142t129.5 165h137v-23q-51 -66 -157.5 -158.5t-192.5 -146.5h-67v21z" />
-<glyph unicode="&#xee;" horiz-adv-x="475" d="M76 0zM174 0h-98l231 1087h96zM642 1241h-49q-70 60 -161 207q-55 -57 -125 -114.5t-125 -92.5h-54v29q68 56 157.5 148.5t127.5 150.5h64q23 -64 72.5 -152.5t92.5 -146.5v-29z" />
-<glyph unicode="&#xef;" horiz-adv-x="475" d="M76 0zM174 0h-98l231 1087h96zM515 1366q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63zM171 1366q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63z" />
-<glyph unicode="&#xf0;" horiz-adv-x="1124" d="M713 1364q-54 60 -158 139l59 68q32 -26 81 -66t100 -94l266 150l39 -74l-256 -141q87 -116 131.5 -276t44.5 -335q0 -355 -141.5 -555t-399.5 -200q-177 0 -277 106.5t-100 294.5q0 170 63 301.5t178.5 203.5t262.5 72q107 0 188 -49.5t121 -142.5h5q0 139 -43 289 t-115 243l-295 -163l-39 73zM489 70q118 0 208.5 61t144 186.5t53.5 270.5q0 77 -35 142t-100 101.5t-156 36.5q-124 0 -213.5 -61.5t-137.5 -169.5t-48 -248q0 -153 73.5 -236t210.5 -83z" />
-<glyph unicode="&#xf1;" horiz-adv-x="1143" d="M76 0zM764 0l149 692q21 92 21 156q0 80 -43.5 125t-134.5 45q-112 0 -210.5 -67t-166 -187.5t-103.5 -286.5l-102 -477h-98l231 1087h82l-37 -221h6q164 238 416 238q130 0 195 -64t65 -184q0 -70 -24 -182l-148 -674h-98zM874 1249q-40 0 -77.5 19t-75.5 45 q-34 23 -64.5 41t-68.5 18q-45 0 -74 -28.5t-51 -100.5h-74q19 108 71 166.5t134 58.5q41 0 73.5 -14t117.5 -72q52 -36 94 -36q43 0 71.5 30.5t46.5 100.5h76q-26 -118 -74.5 -173t-124.5 -55z" />
-<glyph unicode="&#xf2;" horiz-adv-x="1124" d="M98 0zM649 1108q180 0 278.5 -108.5t98.5 -299.5q0 -197 -71.5 -368.5t-195.5 -261.5t-286 -90q-184 0 -279.5 109.5t-95.5 313.5q0 191 73 358t197 257t281 90zM641 1022q-124 0 -223 -78.5t-158 -225t-59 -310.5q0 -342 282 -342q127 0 225.5 77.5t157 228t58.5 330.5 q0 154 -73 237t-210 83zM744 1241h-66q-50 52 -114 144.5t-99 162.5v21h115q46 -129 164 -303v-25z" />
-<glyph unicode="&#xf3;" horiz-adv-x="1124" d="M98 0zM649 1108q180 0 278.5 -108.5t98.5 -299.5q0 -197 -71.5 -368.5t-195.5 -261.5t-286 -90q-184 0 -279.5 109.5t-95.5 313.5q0 191 73 358t197 257t281 90zM641 1022q-124 0 -223 -78.5t-158 -225t-59 -310.5q0 -342 282 -342q127 0 225.5 77.5t157 228t58.5 330.5 q0 154 -73 237t-210 83zM573 1262q66 51 150.5 142t129.5 165h137v-23q-51 -66 -157.5 -158.5t-192.5 -146.5h-67v21z" />
-<glyph unicode="&#xf4;" horiz-adv-x="1124" d="M98 0zM649 1108q180 0 278.5 -108.5t98.5 -299.5q0 -197 -71.5 -368.5t-195.5 -261.5t-286 -90q-184 0 -279.5 109.5t-95.5 313.5q0 191 73 358t197 257t281 90zM641 1022q-124 0 -223 -78.5t-158 -225t-59 -310.5q0 -342 282 -342q127 0 225.5 77.5t157 228t58.5 330.5 q0 154 -73 237t-210 83zM941 1241h-49q-70 60 -161 207q-55 -57 -125 -114.5t-125 -92.5h-54v29q68 56 157.5 148.5t127.5 150.5h64q23 -64 72.5 -152.5t92.5 -146.5v-29z" />
-<glyph unicode="&#xf5;" horiz-adv-x="1124" d="M98 0zM649 1108q180 0 278.5 -108.5t98.5 -299.5q0 -197 -71.5 -368.5t-195.5 -261.5t-286 -90q-184 0 -279.5 109.5t-95.5 313.5q0 191 73 358t197 257t281 90zM641 1022q-124 0 -223 -78.5t-158 -225t-59 -310.5q0 -342 282 -342q127 0 225.5 77.5t157 228t58.5 330.5 q0 154 -73 237t-210 83zM839 1249q-40 0 -77.5 19t-75.5 45q-34 23 -64.5 41t-68.5 18q-45 0 -74 -28.5t-51 -100.5h-74q19 108 71 166.5t134 58.5q41 0 73.5 -14t117.5 -72q52 -36 94 -36q43 0 71.5 30.5t46.5 100.5h76q-26 -118 -74.5 -173t-124.5 -55z" />
-<glyph unicode="&#xf6;" horiz-adv-x="1124" d="M98 0zM649 1108q180 0 278.5 -108.5t98.5 -299.5q0 -197 -71.5 -368.5t-195.5 -261.5t-286 -90q-184 0 -279.5 109.5t-95.5 313.5q0 191 73 358t197 257t281 90zM641 1022q-124 0 -223 -78.5t-158 -225t-59 -310.5q0 -342 282 -342q127 0 225.5 77.5t157 228t58.5 330.5 q0 154 -73 237t-210 83zM812 1366q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63zM468 1366q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63z" />
-<glyph unicode="&#xf7;" d="M168 672v100h903v-100h-903zM522 373q0 106 96 106q48 0 73.5 -27.5t25.5 -78.5q0 -57 -29 -82t-70 -25q-96 0 -96 107zM522 1071q0 107 96 107q46 0 72.5 -27.5t26.5 -79.5q0 -57 -29 -81.5t-70 -24.5q-96 0 -96 106z" />
-<glyph unicode="&#xf8;" horiz-adv-x="1124" d="M164 127q-66 106 -66 276q0 191 73 358t197 257t281 90q150 0 250 -82l109 133l65 -53l-117 -143q70 -105 70 -263q0 -197 -71.5 -368.5t-195.5 -261.5t-286 -90q-163 0 -254 83l-110 -135l-64 54zM924 702q0 101 -35 179l-608 -742q67 -73 202 -73q127 0 225.5 77.5 t157 228t58.5 330.5zM641 1022q-124 0 -223 -78.5t-158 -225t-59 -310.5q0 -125 32 -197l605 739q-74 72 -197 72z" />
-<glyph unicode="&#xf9;" horiz-adv-x="1143" d="M109 0zM381 1087l-152 -698q-22 -106 -22 -158q0 -74 47.5 -117.5t138.5 -43.5q110 0 207.5 65.5t164 187t99.5 279.5l105 485h98l-231 -1087h-80l28 205h-6q-167 -221 -403 -221q-131 0 -198.5 62t-67.5 181q0 60 22 170l150 690h100zM774 1241h-66q-50 52 -114 144.5 t-99 162.5v21h115q46 -129 164 -303v-25z" />
-<glyph unicode="&#xfa;" horiz-adv-x="1143" d="M109 0zM381 1087l-152 -698q-22 -106 -22 -158q0 -74 47.5 -117.5t138.5 -43.5q110 0 207.5 65.5t164 187t99.5 279.5l105 485h98l-231 -1087h-80l28 205h-6q-167 -221 -403 -221q-131 0 -198.5 62t-67.5 181q0 60 22 170l150 690h100zM627 1262q66 51 150.5 142 t129.5 165h137v-23q-51 -66 -157.5 -158.5t-192.5 -146.5h-67v21z" />
-<glyph unicode="&#xfb;" horiz-adv-x="1143" d="M109 0zM381 1087l-152 -698q-22 -106 -22 -158q0 -74 47.5 -117.5t138.5 -43.5q110 0 207.5 65.5t164 187t99.5 279.5l105 485h98l-231 -1087h-80l28 205h-6q-167 -221 -403 -221q-131 0 -198.5 62t-67.5 181q0 60 22 170l150 690h100zM957 1241h-49q-70 60 -161 207 q-55 -57 -125 -114.5t-125 -92.5h-54v29q68 56 157.5 148.5t127.5 150.5h64q23 -64 72.5 -152.5t92.5 -146.5v-29z" />
-<glyph unicode="&#xfc;" horiz-adv-x="1143" d="M109 0zM381 1087l-152 -698q-22 -106 -22 -158q0 -74 47.5 -117.5t138.5 -43.5q110 0 207.5 65.5t164 187t99.5 279.5l105 485h98l-231 -1087h-80l28 205h-6q-167 -221 -403 -221q-131 0 -198.5 62t-67.5 181q0 60 22 170l150 690h100zM827 1366q0 49 20.5 78t56.5 29 q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63zM483 1366q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63z" />
-<glyph unicode="&#xfd;" horiz-adv-x="920" d="M0 0zM123 1087h100l82 -548q51 -351 55 -449h11q43 105 186 367l348 630h103l-713 -1290q-72 -127 -122.5 -178t-114 -81t-146.5 -30q-68 0 -129 21v92q71 -27 137 -27q80 0 147 49.5t130 164.5t100 184zM505 1262q66 51 150.5 142t129.5 165h137v-23 q-51 -66 -157.5 -158.5t-192.5 -146.5h-67v21z" />
-<glyph unicode="&#xfe;" horiz-adv-x="1163" d="M498 -16q-230 0 -279 219h-4q-13 -72 -149 -695h-99l434 2048h99q-114 -535 -164 -751h6q93 156 199 229.5t231 73.5q133 0 206 -92.5t73 -282.5q0 -195 -72 -371t-197.5 -277t-283.5 -101zM748 1018q-86 0 -172.5 -57.5t-162.5 -169.5t-111.5 -238t-35.5 -207 q0 -125 61.5 -200.5t168.5 -75.5q124 0 225 84t164 243.5t63 325.5q0 295 -200 295z" />
-<glyph unicode="&#xff;" horiz-adv-x="920" d="M0 0zM123 1087h100l82 -548q51 -351 55 -449h11q43 105 186 367l348 630h103l-713 -1290q-72 -127 -122.5 -178t-114 -81t-146.5 -30q-68 0 -129 21v92q71 -27 137 -27q80 0 147 49.5t130 164.5t100 184zM698 1366q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77 t-55 -29q-55 0 -55 63zM354 1366q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63z" />
-<glyph unicode="&#x131;" horiz-adv-x="475" d="M174 0h-98l231 1087h96z" />
-<glyph unicode="&#x152;" horiz-adv-x="1767" d="M1530 0h-666q-25 -6 -77.5 -13t-94.5 -7q-251 0 -385.5 149.5t-134.5 429.5q0 263 96 482t262 330.5t381 111.5q130 0 240 -21h688l-20 -94h-625l-117 -553h590l-20 -94h-588l-135 -627h626zM705 72q68 0 116 12l271 1290q-110 15 -189 15q-182 0 -321.5 -98.5 t-222.5 -293.5t-83 -424q0 -245 109 -373t320 -128z" />
-<glyph unicode="&#x153;" horiz-adv-x="1720" d="M1262 -20q-135 0 -228 69t-125 201q-65 -127 -179 -198.5t-257 -71.5q-184 0 -279.5 109.5t-95.5 313.5q0 191 73 358t197 257t281 90q141 0 237 -74.5t126 -212.5q70 132 182.5 207.5t241.5 75.5q114 0 182 -61t68 -166q0 -181 -163.5 -276t-486.5 -95h-32 q-7 -38 -7 -98q0 -165 74 -251.5t213 -86.5q133 0 277 73v-94q-140 -69 -299 -69zM641 1022q-124 0 -223 -78.5t-158 -225t-59 -310.5q0 -342 282 -342q127 0 225.5 77.5t157 228t58.5 330.5q0 154 -73 237t-210 83zM1423 1018q-131 0 -243 -115t-162 -309h49q516 0 516 270 q0 70 -44.5 112t-115.5 42z" />
-<glyph unicode="&#x178;" horiz-adv-x="965" d="M193 0zM494 645l544 817h117l-631 -932l-108 -530h-105l119 545l-237 917h100zM798 1704q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63zM454 1704q0 49 20.5 78t56.5 29q54 0 54 -64q0 -48 -21 -77t-55 -29q-55 0 -55 63z" />
-<glyph unicode="&#x2c6;" horiz-adv-x="1135" d="M958 1241h-49q-70 60 -161 207q-55 -57 -125 -114.5t-125 -92.5h-54v29q68 56 157.5 148.5t127.5 150.5h64q23 -64 72.5 -152.5t92.5 -146.5v-29z" />
-<glyph unicode="&#x2da;" horiz-adv-x="1182" d="M967 1448q0 -92 -57.5 -148.5t-145.5 -56.5q-93 0 -148 52t-55 145q0 88 59.5 144t149.5 56q88 0 142.5 -50t54.5 -142zM889 1446q0 57 -33.5 90t-87.5 33q-60 0 -93.5 -36t-33.5 -93t33 -90t90 -33q56 0 90.5 36t34.5 93z" />
-<glyph unicode="&#x2dc;" horiz-adv-x="1135" d="M831 1249q-40 0 -77.5 19t-75.5 45q-34 23 -64.5 41t-68.5 18q-45 0 -74 -28.5t-51 -100.5h-74q19 108 71 166.5t134 58.5q41 0 73.5 -14t117.5 -72q52 -36 94 -36q43 0 71.5 30.5t46.5 100.5h76q-26 -118 -74.5 -173t-124.5 -55z" />
-<glyph unicode="&#x2000;" horiz-adv-x="953" />
-<glyph unicode="&#x2001;" horiz-adv-x="1907" />
-<glyph unicode="&#x2002;" horiz-adv-x="953" />
-<glyph unicode="&#x2003;" horiz-adv-x="1907" />
-<glyph unicode="&#x2004;" horiz-adv-x="635" />
-<glyph unicode="&#x2005;" horiz-adv-x="476" />
-<glyph unicode="&#x2006;" horiz-adv-x="317" />
-<glyph unicode="&#x2007;" horiz-adv-x="317" />
-<glyph unicode="&#x2008;" horiz-adv-x="238" />
-<glyph unicode="&#x2009;" horiz-adv-x="381" />
-<glyph unicode="&#x200a;" horiz-adv-x="105" />
-<glyph unicode="&#x2010;" horiz-adv-x="629" d="M82 502l18 90h457l-16 -90h-459z" />
-<glyph unicode="&#x2011;" horiz-adv-x="629" d="M82 502l18 90h457l-16 -90h-459z" />
-<glyph unicode="&#x2012;" horiz-adv-x="629" d="M82 502l18 90h457l-16 -90h-459z" />
-<glyph unicode="&#x2013;" horiz-adv-x="983" d="M66 502l18 90h807l-17 -90h-808z" />
-<glyph unicode="&#x2014;" horiz-adv-x="1966" d="M68 502l18 90h1788l-16 -90h-1790z" />
-<glyph unicode="&#x2018;" horiz-adv-x="299" d="M133 961l-4 22q41 100 116 231t161 248h73q-66 -106 -129.5 -242.5t-103.5 -258.5h-113z" />
-<glyph unicode="&#x2019;" horiz-adv-x="299" d="M475 1462l4 -22q-43 -105 -117.5 -235.5t-158.5 -243.5h-74q66 106 129.5 242.5t103.5 258.5h113z" />
-<glyph unicode="&#x201a;" horiz-adv-x="451" d="M246 238l4 -23q-40 -97 -115.5 -230t-161.5 -249h-73q68 110 131.5 248t101.5 254h113z" />
-<glyph unicode="&#x201c;" horiz-adv-x="631" d="M133 961l-4 22q41 100 116 231t161 248h73q-66 -106 -129.5 -242.5t-103.5 -258.5h-113zM467 961l-4 22q43 104 120 238.5t156 240.5h74q-66 -106 -129.5 -242.5t-103.5 -258.5h-113z" />
-<glyph unicode="&#x201d;" horiz-adv-x="631" d="M809 1462l4 -22q-43 -105 -117.5 -235.5t-158.5 -243.5h-74q66 106 129.5 242.5t103.5 258.5h113zM475 1462l4 -22q-43 -105 -117.5 -235.5t-158.5 -243.5h-74q66 106 129.5 242.5t103.5 258.5h113z" />
-<glyph unicode="&#x201e;" horiz-adv-x="776" d="M561 238l4 -23q-43 -105 -117.5 -235.5t-158.5 -243.5h-74q66 108 129 242.5t105 259.5h112zM227 238l4 -23q-43 -105 -117.5 -235.5t-158.5 -243.5h-74q73 119 135.5 254.5t98.5 247.5h112z" />
-<glyph unicode="&#x2022;" horiz-adv-x="793" d="M248 682q0 137 63 213t172 76q76 0 116 -39.5t40 -118.5q0 -125 -66 -207t-176 -82q-149 0 -149 158z" />
-<glyph unicode="&#x2026;" horiz-adv-x="1489" d="M69 0zM69 55q0 56 25 88.5t69 32.5q66 0 66 -72q0 -53 -25 -87.5t-67 -34.5q-68 0 -68 73zM569 55q0 56 25 88.5t69 32.5q66 0 66 -72q0 -53 -25 -87.5t-67 -34.5q-68 0 -68 73zM1071 55q0 56 25 88.5t69 32.5q66 0 66 -72q0 -53 -25 -87.5t-67 -34.5q-68 0 -68 73z" />
-<glyph unicode="&#x202f;" horiz-adv-x="381" />
-<glyph unicode="&#x2039;" horiz-adv-x="537" d="M451 932l57 -49l-318 -336l213 -385l-63 -39l-254 418l2 26z" />
-<glyph unicode="&#x203a;" horiz-adv-x="537" d="M94 123l-57 49l317 336l-213 385l64 39l254 -418l-2 -27z" />
-<glyph unicode="&#x2044;" horiz-adv-x="274" d="M731 1462l-1087 -1462h-107l1086 1462h108z" />
-<glyph unicode="&#x205f;" horiz-adv-x="476" />
-<glyph unicode="&#x2074;" horiz-adv-x="643" d="M657 815h-131l-49 -229h-82l49 229h-391l21 76l506 577h86l-125 -581h133zM459 887q61 294 79 365.5t29 105.5q-10 -16 -61 -79t-338 -392h291z" />
-<glyph unicode="&#x20ac;" d="M991 1389q-186 0 -330.5 -120.5t-226.5 -346.5h457l-21 -82h-460q-30 -98 -39 -217h442l-20 -82h-424q0 -243 89 -356t265 -113q115 0 252 57v-94q-129 -55 -270 -55q-209 0 -325 139.5t-116 394.5v27h-184l16 82h172q5 101 35 217h-170l19 82h174q95 273 270 417 t399 144q166 0 287 -90l-53 -82q-102 78 -238 78z" />
-<glyph unicode="&#x2122;" horiz-adv-x="1534" d="M477 741h-86v643h-217v78h522v-78h-219v-643zM1077 741l-221 609h-6l4 -201v-408h-82v721h125l221 -606l223 606h125v-721h-86v398l4 207h-6l-227 -605h-74z" />
-<glyph unicode="&#xe000;" horiz-adv-x="1085" d="M0 1085h1085v-1085h-1085v1085z" />
-<glyph horiz-adv-x="1133" d="M0 0z" />
-<hkern u1="&#x22;" u2="&#x178;" k="-20" />
-<hkern u1="&#x22;" u2="&#x153;" k="123" />
-<hkern u1="&#x22;" u2="&#xfc;" k="61" />
-<hkern u1="&#x22;" u2="&#xfb;" k="61" />
-<hkern u1="&#x22;" u2="&#xfa;" k="61" />
-<hkern u1="&#x22;" u2="&#xf9;" k="61" />
-<hkern u1="&#x22;" u2="&#xf8;" k="123" />
-<hkern u1="&#x22;" u2="&#xf6;" k="123" />
-<hkern u1="&#x22;" u2="&#xf5;" k="123" />
-<hkern u1="&#x22;" u2="&#xf4;" k="123" />
-<hkern u1="&#x22;" u2="&#xf3;" k="123" />
-<hkern u1="&#x22;" u2="&#xf2;" k="123" />
-<hkern u1="&#x22;" u2="&#xeb;" k="123" />
-<hkern u1="&#x22;" u2="&#xea;" k="123" />
-<hkern u1="&#x22;" u2="&#xe9;" k="123" />
-<hkern u1="&#x22;" u2="&#xe8;" k="123" />
-<hkern u1="&#x22;" u2="&#xe7;" k="123" />
-<hkern u1="&#x22;" u2="&#xe6;" k="82" />
-<hkern u1="&#x22;" u2="&#xe5;" k="82" />
-<hkern u1="&#x22;" u2="&#xe4;" k="82" />
-<hkern u1="&#x22;" u2="&#xe3;" k="82" />
-<hkern u1="&#x22;" u2="&#xe2;" k="82" />
-<hkern u1="&#x22;" u2="&#xe1;" k="82" />
-<hkern u1="&#x22;" u2="&#xe0;" k="123" />
-<hkern u1="&#x22;" u2="&#xdd;" k="-20" />
-<hkern u1="&#x22;" u2="&#xc5;" k="143" />
-<hkern u1="&#x22;" u2="&#xc4;" k="143" />
-<hkern u1="&#x22;" u2="&#xc3;" k="143" />
-<hkern u1="&#x22;" u2="&#xc2;" k="143" />
-<hkern u1="&#x22;" u2="&#xc1;" k="143" />
-<hkern u1="&#x22;" u2="&#xc0;" k="143" />
-<hkern u1="&#x22;" u2="u" k="61" />
-<hkern u1="&#x22;" u2="s" k="61" />
-<hkern u1="&#x22;" u2="r" k="61" />
-<hkern u1="&#x22;" u2="q" k="123" />
-<hkern u1="&#x22;" u2="p" k="61" />
-<hkern u1="&#x22;" u2="o" k="123" />
-<hkern u1="&#x22;" u2="n" k="61" />
-<hkern u1="&#x22;" u2="m" k="61" />
-<hkern u1="&#x22;" u2="g" k="61" />
-<hkern u1="&#x22;" u2="e" k="123" />
-<hkern u1="&#x22;" u2="d" k="123" />
-<hkern u1="&#x22;" u2="c" k="123" />
-<hkern u1="&#x22;" u2="a" k="82" />
-<hkern u1="&#x22;" u2="Y" k="-20" />
-<hkern u1="&#x22;" u2="W" k="-41" />
-<hkern u1="&#x22;" u2="V" k="-41" />
-<hkern u1="&#x22;" u2="T" k="-41" />
-<hkern u1="&#x22;" u2="A" k="143" />
-<hkern u1="&#x27;" u2="&#x178;" k="-20" />
-<hkern u1="&#x27;" u2="&#x153;" k="123" />
-<hkern u1="&#x27;" u2="&#xfc;" k="61" />
-<hkern u1="&#x27;" u2="&#xfb;" k="61" />
-<hkern u1="&#x27;" u2="&#xfa;" k="61" />
-<hkern u1="&#x27;" u2="&#xf9;" k="61" />
-<hkern u1="&#x27;" u2="&#xf8;" k="123" />
-<hkern u1="&#x27;" u2="&#xf6;" k="123" />
-<hkern u1="&#x27;" u2="&#xf5;" k="123" />
-<hkern u1="&#x27;" u2="&#xf4;" k="123" />
-<hkern u1="&#x27;" u2="&#xf3;" k="123" />
-<hkern u1="&#x27;" u2="&#xf2;" k="123" />
-<hkern u1="&#x27;" u2="&#xeb;" k="123" />
-<hkern u1="&#x27;" u2="&#xea;" k="123" />
-<hkern u1="&#x27;" u2="&#xe9;" k="123" />
-<hkern u1="&#x27;" u2="&#xe8;" k="123" />
-<hkern u1="&#x27;" u2="&#xe7;" k="123" />
-<hkern u1="&#x27;" u2="&#xe6;" k="82" />
-<hkern u1="&#x27;" u2="&#xe5;" k="82" />
-<hkern u1="&#x27;" u2="&#xe4;" k="82" />
-<hkern u1="&#x27;" u2="&#xe3;" k="82" />
-<hkern u1="&#x27;" u2="&#xe2;" k="82" />
-<hkern u1="&#x27;" u2="&#xe1;" k="82" />
-<hkern u1="&#x27;" u2="&#xe0;" k="123" />
-<hkern u1="&#x27;" u2="&#xdd;" k="-20" />
-<hkern u1="&#x27;" u2="&#xc5;" k="143" />
-<hkern u1="&#x27;" u2="&#xc4;" k="143" />
-<hkern u1="&#x27;" u2="&#xc3;" k="143" />
-<hkern u1="&#x27;" u2="&#xc2;" k="143" />
-<hkern u1="&#x27;" u2="&#xc1;" k="143" />
-<hkern u1="&#x27;" u2="&#xc0;" k="143" />
-<hkern u1="&#x27;" u2="u" k="61" />
-<hkern u1="&#x27;" u2="s" k="61" />
-<hkern u1="&#x27;" u2="r" k="61" />
-<hkern u1="&#x27;" u2="q" k="123" />
-<hkern u1="&#x27;" u2="p" k="61" />
-<hkern u1="&#x27;" u2="o" k="123" />
-<hkern u1="&#x27;" u2="n" k="61" />
-<hkern u1="&#x27;" u2="m" k="61" />
-<hkern u1="&#x27;" u2="g" k="61" />
-<hkern u1="&#x27;" u2="e" k="123" />
-<hkern u1="&#x27;" u2="d" k="123" />
-<hkern u1="&#x27;" u2="c" k="123" />
-<hkern u1="&#x27;" u2="a" k="82" />
-<hkern u1="&#x27;" u2="Y" k="-20" />
-<hkern u1="&#x27;" u2="W" k="-41" />
-<hkern u1="&#x27;" u2="V" k="-41" />
-<hkern u1="&#x27;" u2="T" k="-41" />
-<hkern u1="&#x27;" u2="A" k="143" />
-<hkern u1="&#x28;" u2="J" k="-184" />
-<hkern u1="&#x2c;" u2="&#x178;" k="123" />
-<hkern u1="&#x2c;" u2="&#x152;" k="102" />
-<hkern u1="&#x2c;" u2="&#xdd;" k="123" />
-<hkern u1="&#x2c;" u2="&#xdc;" k="41" />
-<hkern u1="&#x2c;" u2="&#xdb;" k="41" />
-<hkern u1="&#x2c;" u2="&#xda;" k="41" />
-<hkern u1="&#x2c;" u2="&#xd9;" k="41" />
-<hkern u1="&#x2c;" u2="&#xd8;" k="102" />
-<hkern u1="&#x2c;" u2="&#xd6;" k="102" />
-<hkern u1="&#x2c;" u2="&#xd5;" k="102" />
-<hkern u1="&#x2c;" u2="&#xd4;" k="102" />
-<hkern u1="&#x2c;" u2="&#xd3;" k="102" />
-<hkern u1="&#x2c;" u2="&#xd2;" k="102" />
-<hkern u1="&#x2c;" u2="&#xc7;" k="102" />
-<hkern u1="&#x2c;" u2="Y" k="123" />
-<hkern u1="&#x2c;" u2="W" k="123" />
-<hkern u1="&#x2c;" u2="V" k="123" />
-<hkern u1="&#x2c;" u2="U" k="41" />
-<hkern u1="&#x2c;" u2="T" k="143" />
-<hkern u1="&#x2c;" u2="Q" k="102" />
-<hkern u1="&#x2c;" u2="O" k="102" />
-<hkern u1="&#x2c;" u2="G" k="102" />
-<hkern u1="&#x2c;" u2="C" k="102" />
-<hkern u1="&#x2d;" u2="T" k="82" />
-<hkern u1="&#x2e;" u2="&#x178;" k="123" />
-<hkern u1="&#x2e;" u2="&#x152;" k="102" />
-<hkern u1="&#x2e;" u2="&#xdd;" k="123" />
-<hkern u1="&#x2e;" u2="&#xdc;" k="41" />
-<hkern u1="&#x2e;" u2="&#xdb;" k="41" />
-<hkern u1="&#x2e;" u2="&#xda;" k="41" />
-<hkern u1="&#x2e;" u2="&#xd9;" k="41" />
-<hkern u1="&#x2e;" u2="&#xd8;" k="102" />
-<hkern u1="&#x2e;" u2="&#xd6;" k="102" />
-<hkern u1="&#x2e;" u2="&#xd5;" k="102" />
-<hkern u1="&#x2e;" u2="&#xd4;" k="102" />
-<hkern u1="&#x2e;" u2="&#xd3;" k="102" />
-<hkern u1="&#x2e;" u2="&#xd2;" k="102" />
-<hkern u1="&#x2e;" u2="&#xc7;" k="102" />
-<hkern u1="&#x2e;" u2="Y" k="123" />
-<hkern u1="&#x2e;" u2="W" k="123" />
-<hkern u1="&#x2e;" u2="V" k="123" />
-<hkern u1="&#x2e;" u2="U" k="41" />
-<hkern u1="&#x2e;" u2="T" k="143" />
-<hkern u1="&#x2e;" u2="Q" k="102" />
-<hkern u1="&#x2e;" u2="O" k="102" />
-<hkern u1="&#x2e;" u2="G" k="102" />
-<hkern u1="&#x2e;" u2="C" k="102" />
-<hkern u1="A" u2="&#x201d;" k="143" />
-<hkern u1="A" u2="&#x2019;" k="143" />
-<hkern u1="A" u2="&#x178;" k="123" />
-<hkern u1="A" u2="&#x152;" k="41" />
-<hkern u1="A" u2="&#xdd;" k="123" />
-<hkern u1="A" u2="&#xd8;" k="41" />
-<hkern u1="A" u2="&#xd6;" k="41" />
-<hkern u1="A" u2="&#xd5;" k="41" />
-<hkern u1="A" u2="&#xd4;" k="41" />
-<hkern u1="A" u2="&#xd3;" k="41" />
-<hkern u1="A" u2="&#xd2;" k="41" />
-<hkern u1="A" u2="&#xc7;" k="41" />
-<hkern u1="A" u2="Y" k="123" />
-<hkern u1="A" u2="W" k="82" />
-<hkern u1="A" u2="V" k="82" />
-<hkern u1="A" u2="T" k="143" />
-<hkern u1="A" u2="Q" k="41" />
-<hkern u1="A" u2="O" k="41" />
-<hkern u1="A" u2="J" k="-266" />
-<hkern u1="A" u2="G" k="41" />
-<hkern u1="A" u2="C" k="41" />
-<hkern u1="A" u2="&#x27;" k="143" />
-<hkern u1="A" u2="&#x22;" k="143" />
-<hkern u1="B" u2="&#x201e;" k="82" />
-<hkern u1="B" u2="&#x201a;" k="82" />
-<hkern u1="B" u2="&#x178;" k="20" />
-<hkern u1="B" u2="&#xdd;" k="20" />
-<hkern u1="B" u2="&#xc5;" k="41" />
-<hkern u1="B" u2="&#xc4;" k="41" />
-<hkern u1="B" u2="&#xc3;" k="41" />
-<hkern u1="B" u2="&#xc2;" k="41" />
-<hkern u1="B" u2="&#xc1;" k="41" />
-<hkern u1="B" u2="&#xc0;" k="41" />
-<hkern u1="B" u2="Z" k="20" />
-<hkern u1="B" u2="Y" k="20" />
-<hkern u1="B" u2="X" k="41" />
-<hkern u1="B" u2="W" k="20" />
-<hkern u1="B" u2="V" k="20" />
-<hkern u1="B" u2="T" k="61" />
-<hkern u1="B" u2="A" k="41" />
-<hkern u1="B" u2="&#x2e;" k="82" />
-<hkern u1="B" u2="&#x2c;" k="82" />
-<hkern u1="C" u2="&#x152;" k="41" />
-<hkern u1="C" u2="&#xd8;" k="41" />
-<hkern u1="C" u2="&#xd6;" k="41" />
-<hkern u1="C" u2="&#xd5;" k="41" />
-<hkern u1="C" u2="&#xd4;" k="41" />
-<hkern u1="C" u2="&#xd3;" k="41" />
-<hkern u1="C" u2="&#xd2;" k="41" />
-<hkern u1="C" u2="&#xc7;" k="41" />
-<hkern u1="C" u2="Q" k="41" />
-<hkern u1="C" u2="O" k="41" />
-<hkern u1="C" u2="G" k="41" />
-<hkern u1="C" u2="C" k="41" />
-<hkern u1="D" u2="&#x201e;" k="82" />
-<hkern u1="D" u2="&#x201a;" k="82" />
-<hkern u1="D" u2="&#x178;" k="20" />
-<hkern u1="D" u2="&#xdd;" k="20" />
-<hkern u1="D" u2="&#xc5;" k="41" />
-<hkern u1="D" u2="&#xc4;" k="41" />
-<hkern u1="D" u2="&#xc3;" k="41" />
-<hkern u1="D" u2="&#xc2;" k="41" />
-<hkern u1="D" u2="&#xc1;" k="41" />
-<hkern u1="D" u2="&#xc0;" k="41" />
-<hkern u1="D" u2="Z" k="20" />
-<hkern u1="D" u2="Y" k="20" />
-<hkern u1="D" u2="X" k="41" />
-<hkern u1="D" u2="W" k="20" />
-<hkern u1="D" u2="V" k="20" />
-<hkern u1="D" u2="T" k="61" />
-<hkern u1="D" u2="A" k="41" />
-<hkern u1="D" u2="&#x2e;" k="82" />
-<hkern u1="D" u2="&#x2c;" k="82" />
-<hkern u1="E" u2="J" k="-123" />
-<hkern u1="F" u2="&#x201e;" k="123" />
-<hkern u1="F" u2="&#x201a;" k="123" />
-<hkern u1="F" u2="&#xc5;" k="41" />
-<hkern u1="F" u2="&#xc4;" k="41" />
-<hkern u1="F" u2="&#xc3;" k="41" />
-<hkern u1="F" u2="&#xc2;" k="41" />
-<hkern u1="F" u2="&#xc1;" k="41" />
-<hkern u1="F" u2="&#xc0;" k="41" />
-<hkern u1="F" u2="A" k="41" />
-<hkern u1="F" u2="&#x3f;" k="-41" />
-<hkern u1="F" u2="&#x2e;" k="123" />
-<hkern u1="F" u2="&#x2c;" k="123" />
-<hkern u1="K" u2="&#x152;" k="41" />
-<hkern u1="K" u2="&#xd8;" k="41" />
-<hkern u1="K" u2="&#xd6;" k="41" />
-<hkern u1="K" u2="&#xd5;" k="41" />
-<hkern u1="K" u2="&#xd4;" k="41" />
-<hkern u1="K" u2="&#xd3;" k="41" />
-<hkern u1="K" u2="&#xd2;" k="41" />
-<hkern u1="K" u2="&#xc7;" k="41" />
-<hkern u1="K" u2="Q" k="41" />
-<hkern u1="K" u2="O" k="41" />
-<hkern u1="K" u2="G" k="41" />
-<hkern u1="K" u2="C" k="41" />
-<hkern u1="L" u2="&#x201d;" k="164" />
-<hkern u1="L" u2="&#x2019;" k="164" />
-<hkern u1="L" u2="&#x178;" k="61" />
-<hkern u1="L" u2="&#x152;" k="41" />
-<hkern u1="L" u2="&#xdd;" k="61" />
-<hkern u1="L" u2="&#xdc;" k="20" />
-<hkern u1="L" u2="&#xdb;" k="20" />
-<hkern u1="L" u2="&#xda;" k="20" />
-<hkern u1="L" u2="&#xd9;" k="20" />
-<hkern u1="L" u2="&#xd8;" k="41" />
-<hkern u1="L" u2="&#xd6;" k="41" />
-<hkern u1="L" u2="&#xd5;" k="41" />
-<hkern u1="L" u2="&#xd4;" k="41" />
-<hkern u1="L" u2="&#xd3;" k="41" />
-<hkern u1="L" u2="&#xd2;" k="41" />
-<hkern u1="L" u2="&#xc7;" k="41" />
-<hkern u1="L" u2="Y" k="61" />
-<hkern u1="L" u2="W" k="41" />
-<hkern u1="L" u2="V" k="41" />
-<hkern u1="L" u2="U" k="20" />
-<hkern u1="L" u2="T" k="41" />
-<hkern u1="L" u2="Q" k="41" />
-<hkern u1="L" u2="O" k="41" />
-<hkern u1="L" u2="G" k="41" />
-<hkern u1="L" u2="C" k="41" />
-<hkern u1="L" u2="&#x27;" k="164" />
-<hkern u1="L" u2="&#x22;" k="164" />
-<hkern u1="O" u2="&#x201e;" k="82" />
-<hkern u1="O" u2="&#x201a;" k="82" />
-<hkern u1="O" u2="&#x178;" k="20" />
-<hkern u1="O" u2="&#xdd;" k="20" />
-<hkern u1="O" u2="&#xc5;" k="41" />
-<hkern u1="O" u2="&#xc4;" k="41" />
-<hkern u1="O" u2="&#xc3;" k="41" />
-<hkern u1="O" u2="&#xc2;" k="41" />
-<hkern u1="O" u2="&#xc1;" k="41" />
-<hkern u1="O" u2="&#xc0;" k="41" />
-<hkern u1="O" u2="Z" k="20" />
-<hkern u1="O" u2="Y" k="20" />
-<hkern u1="O" u2="X" k="41" />
-<hkern u1="O" u2="W" k="20" />
-<hkern u1="O" u2="V" k="20" />
-<hkern u1="O" u2="T" k="61" />
-<hkern u1="O" u2="A" k="41" />
-<hkern u1="O" u2="&#x2e;" k="82" />
-<hkern u1="O" u2="&#x2c;" k="82" />
-<hkern u1="P" u2="&#x201e;" k="266" />
-<hkern u1="P" u2="&#x201a;" k="266" />
-<hkern u1="P" u2="&#xc5;" k="102" />
-<hkern u1="P" u2="&#xc4;" k="102" />
-<hkern u1="P" u2="&#xc3;" k="102" />
-<hkern u1="P" u2="&#xc2;" k="102" />
-<hkern u1="P" u2="&#xc1;" k="102" />
-<hkern u1="P" u2="&#xc0;" k="102" />
-<hkern u1="P" u2="Z" k="20" />
-<hkern u1="P" u2="X" k="41" />
-<hkern u1="P" u2="A" k="102" />
-<hkern u1="P" u2="&#x2e;" k="266" />
-<hkern u1="P" u2="&#x2c;" k="266" />
-<hkern u1="Q" u2="&#x201e;" k="82" />
-<hkern u1="Q" u2="&#x201a;" k="82" />
-<hkern u1="Q" u2="&#x178;" k="20" />
-<hkern u1="Q" u2="&#xdd;" k="20" />
-<hkern u1="Q" u2="&#xc5;" k="41" />
-<hkern u1="Q" u2="&#xc4;" k="41" />
-<hkern u1="Q" u2="&#xc3;" k="41" />
-<hkern u1="Q" u2="&#xc2;" k="41" />
-<hkern u1="Q" u2="&#xc1;" k="41" />
-<hkern u1="Q" u2="&#xc0;" k="41" />
-<hkern u1="Q" u2="Z" k="20" />
-<hkern u1="Q" u2="Y" k="20" />
-<hkern u1="Q" u2="X" k="41" />
-<hkern u1="Q" u2="W" k="20" />
-<hkern u1="Q" u2="V" k="20" />
-<hkern u1="Q" u2="T" k="61" />
-<hkern u1="Q" u2="A" k="41" />
-<hkern u1="Q" u2="&#x2e;" k="82" />
-<hkern u1="Q" u2="&#x2c;" k="82" />
-<hkern u1="T" u2="&#x201e;" k="123" />
-<hkern u1="T" u2="&#x201a;" k="123" />
-<hkern u1="T" u2="&#x2014;" k="82" />
-<hkern u1="T" u2="&#x2013;" k="82" />
-<hkern u1="T" u2="&#x153;" k="143" />
-<hkern u1="T" u2="&#x152;" k="41" />
-<hkern u1="T" u2="&#xfd;" k="41" />
-<hkern u1="T" u2="&#xfc;" k="102" />
-<hkern u1="T" u2="&#xfb;" k="102" />
-<hkern u1="T" u2="&#xfa;" k="102" />
-<hkern u1="T" u2="&#xf9;" k="102" />
-<hkern u1="T" u2="&#xf8;" k="143" />
-<hkern u1="T" u2="&#xf6;" k="143" />
-<hkern u1="T" u2="&#xf5;" k="143" />
-<hkern u1="T" u2="&#xf4;" k="143" />
-<hkern u1="T" u2="&#xf3;" k="143" />
-<hkern u1="T" u2="&#xf2;" k="143" />
-<hkern u1="T" u2="&#xeb;" k="143" />
-<hkern u1="T" u2="&#xea;" k="143" />
-<hkern u1="T" u2="&#xe9;" k="143" />
-<hkern u1="T" u2="&#xe8;" k="143" />
-<hkern u1="T" u2="&#xe7;" k="143" />
-<hkern u1="T" u2="&#xe6;" k="164" />
-<hkern u1="T" u2="&#xe5;" k="164" />
-<hkern u1="T" u2="&#xe4;" k="164" />
-<hkern u1="T" u2="&#xe3;" k="164" />
-<hkern u1="T" u2="&#xe2;" k="164" />
-<hkern u1="T" u2="&#xe1;" k="164" />
-<hkern u1="T" u2="&#xe0;" k="143" />
-<hkern u1="T" u2="&#xd8;" k="41" />
-<hkern u1="T" u2="&#xd6;" k="41" />
-<hkern u1="T" u2="&#xd5;" k="41" />
-<hkern u1="T" u2="&#xd4;" k="41" />
-<hkern u1="T" u2="&#xd3;" k="41" />
-<hkern u1="T" u2="&#xd2;" k="41" />
-<hkern u1="T" u2="&#xc7;" k="41" />
-<hkern u1="T" u2="&#xc5;" k="143" />
-<hkern u1="T" u2="&#xc4;" k="143" />
-<hkern u1="T" u2="&#xc3;" k="143" />
-<hkern u1="T" u2="&#xc2;" k="143" />
-<hkern u1="T" u2="&#xc1;" k="143" />
-<hkern u1="T" u2="&#xc0;" k="143" />
-<hkern u1="T" u2="z" k="82" />
-<hkern u1="T" u2="y" k="41" />
-<hkern u1="T" u2="x" k="41" />
-<hkern u1="T" u2="w" k="41" />
-<hkern u1="T" u2="v" k="41" />
-<hkern u1="T" u2="u" k="102" />
-<hkern u1="T" u2="s" k="123" />
-<hkern u1="T" u2="r" k="102" />
-<hkern u1="T" u2="q" k="143" />
-<hkern u1="T" u2="p" k="102" />
-<hkern u1="T" u2="o" k="143" />
-<hkern u1="T" u2="n" k="102" />
-<hkern u1="T" u2="m" k="102" />
-<hkern u1="T" u2="g" k="143" />
-<hkern u1="T" u2="e" k="143" />
-<hkern u1="T" u2="d" k="143" />
-<hkern u1="T" u2="c" k="143" />
-<hkern u1="T" u2="a" k="164" />
-<hkern u1="T" u2="T" k="-41" />
-<hkern u1="T" u2="Q" k="41" />
-<hkern u1="T" u2="O" k="41" />
-<hkern u1="T" u2="G" k="41" />
-<hkern u1="T" u2="C" k="41" />
-<hkern u1="T" u2="A" k="143" />
-<hkern u1="T" u2="&#x3f;" k="-41" />
-<hkern u1="T" u2="&#x2e;" k="123" />
-<hkern u1="T" u2="&#x2d;" k="82" />
-<hkern u1="T" u2="&#x2c;" k="123" />
-<hkern u1="U" u2="&#x201e;" k="41" />
-<hkern u1="U" u2="&#x201a;" k="41" />
-<hkern u1="U" u2="&#xc5;" k="20" />
-<hkern u1="U" u2="&#xc4;" k="20" />
-<hkern u1="U" u2="&#xc3;" k="20" />
-<hkern u1="U" u2="&#xc2;" k="20" />
-<hkern u1="U" u2="&#xc1;" k="20" />
-<hkern u1="U" u2="&#xc0;" k="20" />
-<hkern u1="U" u2="A" k="20" />
-<hkern u1="U" u2="&#x2e;" k="41" />
-<hkern u1="U" u2="&#x2c;" k="41" />
-<hkern u1="V" u2="&#x201e;" k="102" />
-<hkern u1="V" u2="&#x201a;" k="102" />
-<hkern u1="V" u2="&#x153;" k="41" />
-<hkern u1="V" u2="&#x152;" k="20" />
-<hkern u1="V" u2="&#xfc;" k="20" />
-<hkern u1="V" u2="&#xfb;" k="20" />
-<hkern u1="V" u2="&#xfa;" k="20" />
-<hkern u1="V" u2="&#xf9;" k="20" />
-<hkern u1="V" u2="&#xf8;" k="41" />
-<hkern u1="V" u2="&#xf6;" k="41" />
-<hkern u1="V" u2="&#xf5;" k="41" />
-<hkern u1="V" u2="&#xf4;" k="41" />
-<hkern u1="V" u2="&#xf3;" k="41" />
-<hkern u1="V" u2="&#xf2;" k="41" />
-<hkern u1="V" u2="&#xeb;" k="41" />
-<hkern u1="V" u2="&#xea;" k="41" />
-<hkern u1="V" u2="&#xe9;" k="41" />
-<hkern u1="V" u2="&#xe8;" k="41" />
-<hkern u1="V" u2="&#xe7;" k="41" />
-<hkern u1="V" u2="&#xe6;" k="41" />
-<hkern u1="V" u2="&#xe5;" k="41" />
-<hkern u1="V" u2="&#xe4;" k="41" />
-<hkern u1="V" u2="&#xe3;" k="41" />
-<hkern u1="V" u2="&#xe2;" k="41" />
-<hkern u1="V" u2="&#xe1;" k="41" />
-<hkern u1="V" u2="&#xe0;" k="41" />
-<hkern u1="V" u2="&#xd8;" k="20" />
-<hkern u1="V" u2="&#xd6;" k="20" />
-<hkern u1="V" u2="&#xd5;" k="20" />
-<hkern u1="V" u2="&#xd4;" k="20" />
-<hkern u1="V" u2="&#xd3;" k="20" />
-<hkern u1="V" u2="&#xd2;" k="20" />
-<hkern u1="V" u2="&#xc7;" k="20" />
-<hkern u1="V" u2="&#xc5;" k="82" />
-<hkern u1="V" u2="&#xc4;" k="82" />
-<hkern u1="V" u2="&#xc3;" k="82" />
-<hkern u1="V" u2="&#xc2;" k="82" />
-<hkern u1="V" u2="&#xc1;" k="82" />
-<hkern u1="V" u2="&#xc0;" k="82" />
-<hkern u1="V" u2="u" k="20" />
-<hkern u1="V" u2="s" k="20" />
-<hkern u1="V" u2="r" k="20" />
-<hkern u1="V" u2="q" k="41" />
-<hkern u1="V" u2="p" k="20" />
-<hkern u1="V" u2="o" k="41" />
-<hkern u1="V" u2="n" k="20" />
-<hkern u1="V" u2="m" k="20" />
-<hkern u1="V" u2="g" k="20" />
-<hkern u1="V" u2="e" k="41" />
-<hkern u1="V" u2="d" k="41" />
-<hkern u1="V" u2="c" k="41" />
-<hkern u1="V" u2="a" k="41" />
-<hkern u1="V" u2="Q" k="20" />
-<hkern u1="V" u2="O" k="20" />
-<hkern u1="V" u2="G" k="20" />
-<hkern u1="V" u2="C" k="20" />
-<hkern u1="V" u2="A" k="82" />
-<hkern u1="V" u2="&#x3f;" k="-41" />
-<hkern u1="V" u2="&#x2e;" k="102" />
-<hkern u1="V" u2="&#x2c;" k="102" />
-<hkern u1="W" u2="&#x201e;" k="102" />
-<hkern u1="W" u2="&#x201a;" k="102" />
-<hkern u1="W" u2="&#x153;" k="41" />
-<hkern u1="W" u2="&#x152;" k="20" />
-<hkern u1="W" u2="&#xfc;" k="20" />
-<hkern u1="W" u2="&#xfb;" k="20" />
-<hkern u1="W" u2="&#xfa;" k="20" />
-<hkern u1="W" u2="&#xf9;" k="20" />
-<hkern u1="W" u2="&#xf8;" k="41" />
-<hkern u1="W" u2="&#xf6;" k="41" />
-<hkern u1="W" u2="&#xf5;" k="41" />
-<hkern u1="W" u2="&#xf4;" k="41" />
-<hkern u1="W" u2="&#xf3;" k="41" />
-<hkern u1="W" u2="&#xf2;" k="41" />
-<hkern u1="W" u2="&#xeb;" k="41" />
-<hkern u1="W" u2="&#xea;" k="41" />
-<hkern u1="W" u2="&#xe9;" k="41" />
-<hkern u1="W" u2="&#xe8;" k="41" />
-<hkern u1="W" u2="&#xe7;" k="41" />
-<hkern u1="W" u2="&#xe6;" k="41" />
-<hkern u1="W" u2="&#xe5;" k="41" />
-<hkern u1="W" u2="&#xe4;" k="41" />
-<hkern u1="W" u2="&#xe3;" k="41" />
-<hkern u1="W" u2="&#xe2;" k="41" />
-<hkern u1="W" u2="&#xe1;" k="41" />
-<hkern u1="W" u2="&#xe0;" k="41" />
-<hkern u1="W" u2="&#xd8;" k="20" />
-<hkern u1="W" u2="&#xd6;" k="20" />
-<hkern u1="W" u2="&#xd5;" k="20" />
-<hkern u1="W" u2="&#xd4;" k="20" />
-<hkern u1="W" u2="&#xd3;" k="20" />
-<hkern u1="W" u2="&#xd2;" k="20" />
-<hkern u1="W" u2="&#xc7;" k="20" />
-<hkern u1="W" u2="&#xc5;" k="82" />
-<hkern u1="W" u2="&#xc4;" k="82" />
-<hkern u1="W" u2="&#xc3;" k="82" />
-<hkern u1="W" u2="&#xc2;" k="82" />
-<hkern u1="W" u2="&#xc1;" k="82" />
-<hkern u1="W" u2="&#xc0;" k="82" />
-<hkern u1="W" u2="u" k="20" />
-<hkern u1="W" u2="s" k="20" />
-<hkern u1="W" u2="r" k="20" />
-<hkern u1="W" u2="q" k="41" />
-<hkern u1="W" u2="p" k="20" />
-<hkern u1="W" u2="o" k="41" />
-<hkern u1="W" u2="n" k="20" />
-<hkern u1="W" u2="m" k="20" />
-<hkern u1="W" u2="g" k="20" />
-<hkern u1="W" u2="e" k="41" />
-<hkern u1="W" u2="d" k="41" />
-<hkern u1="W" u2="c" k="41" />
-<hkern u1="W" u2="a" k="41" />
-<hkern u1="W" u2="Q" k="20" />
-<hkern u1="W" u2="O" k="20" />
-<hkern u1="W" u2="G" k="20" />
-<hkern u1="W" u2="C" k="20" />
-<hkern u1="W" u2="A" k="82" />
-<hkern u1="W" u2="&#x3f;" k="-41" />
-<hkern u1="W" u2="&#x2e;" k="102" />
-<hkern u1="W" u2="&#x2c;" k="102" />
-<hkern u1="X" u2="&#x152;" k="41" />
-<hkern u1="X" u2="&#xd8;" k="41" />
-<hkern u1="X" u2="&#xd6;" k="41" />
-<hkern u1="X" u2="&#xd5;" k="41" />
-<hkern u1="X" u2="&#xd4;" k="41" />
-<hkern u1="X" u2="&#xd3;" k="41" />
-<hkern u1="X" u2="&#xd2;" k="41" />
-<hkern u1="X" u2="&#xc7;" k="41" />
-<hkern u1="X" u2="Q" k="41" />
-<hkern u1="X" u2="O" k="41" />
-<hkern u1="X" u2="G" k="41" />
-<hkern u1="X" u2="C" k="41" />
-<hkern u1="Y" u2="&#x201e;" k="123" />
-<hkern u1="Y" u2="&#x201a;" k="123" />
-<hkern u1="Y" u2="&#x153;" k="102" />
-<hkern u1="Y" u2="&#x152;" k="41" />
-<hkern u1="Y" u2="&#xfc;" k="61" />
-<hkern u1="Y" u2="&#xfb;" k="61" />
-<hkern u1="Y" u2="&#xfa;" k="61" />
-<hkern u1="Y" u2="&#xf9;" k="61" />
-<hkern u1="Y" u2="&#xf8;" k="102" />
-<hkern u1="Y" u2="&#xf6;" k="102" />
-<hkern u1="Y" u2="&#xf5;" k="102" />
-<hkern u1="Y" u2="&#xf4;" k="102" />
-<hkern u1="Y" u2="&#xf3;" k="102" />
-<hkern u1="Y" u2="&#xf2;" k="102" />
-<hkern u1="Y" u2="&#xeb;" k="102" />
-<hkern u1="Y" u2="&#xea;" k="102" />
-<hkern u1="Y" u2="&#xe9;" k="102" />
-<hkern u1="Y" u2="&#xe8;" k="102" />
-<hkern u1="Y" u2="&#xe7;" k="102" />
-<hkern u1="Y" u2="&#xe6;" k="102" />
-<hkern u1="Y" u2="&#xe5;" k="102" />
-<hkern u1="Y" u2="&#xe4;" k="102" />
-<hkern u1="Y" u2="&#xe3;" k="102" />
-<hkern u1="Y" u2="&#xe2;" k="102" />
-<hkern u1="Y" u2="&#xe1;" k="102" />
-<hkern u1="Y" u2="&#xe0;" k="102" />
-<hkern u1="Y" u2="&#xd8;" k="41" />
-<hkern u1="Y" u2="&#xd6;" k="41" />
-<hkern u1="Y" u2="&#xd5;" k="41" />
-<hkern u1="Y" u2="&#xd4;" k="41" />
-<hkern u1="Y" u2="&#xd3;" k="41" />
-<hkern u1="Y" u2="&#xd2;" k="41" />
-<hkern u1="Y" u2="&#xc7;" k="41" />
-<hkern u1="Y" u2="&#xc5;" k="123" />
-<hkern u1="Y" u2="&#xc4;" k="123" />
-<hkern u1="Y" u2="&#xc3;" k="123" />
-<hkern u1="Y" u2="&#xc2;" k="123" />
-<hkern u1="Y" u2="&#xc1;" k="123" />
-<hkern u1="Y" u2="&#xc0;" k="123" />
-<hkern u1="Y" u2="z" k="41" />
-<hkern u1="Y" u2="u" k="61" />
-<hkern u1="Y" u2="s" k="82" />
-<hkern u1="Y" u2="r" k="61" />
-<hkern u1="Y" u2="q" k="102" />
-<hkern u1="Y" u2="p" k="61" />
-<hkern u1="Y" u2="o" k="102" />
-<hkern u1="Y" u2="n" k="61" />
-<hkern u1="Y" u2="m" k="61" />
-<hkern u1="Y" u2="g" k="41" />
-<hkern u1="Y" u2="e" k="102" />
-<hkern u1="Y" u2="d" k="102" />
-<hkern u1="Y" u2="c" k="102" />
-<hkern u1="Y" u2="a" k="102" />
-<hkern u1="Y" u2="Q" k="41" />
-<hkern u1="Y" u2="O" k="41" />
-<hkern u1="Y" u2="G" k="41" />
-<hkern u1="Y" u2="C" k="41" />
-<hkern u1="Y" u2="A" k="123" />
-<hkern u1="Y" u2="&#x3f;" k="-41" />
-<hkern u1="Y" u2="&#x2e;" k="123" />
-<hkern u1="Y" u2="&#x2c;" k="123" />
-<hkern u1="Z" u2="&#x152;" k="20" />
-<hkern u1="Z" u2="&#xd8;" k="20" />
-<hkern u1="Z" u2="&#xd6;" k="20" />
-<hkern u1="Z" u2="&#xd5;" k="20" />
-<hkern u1="Z" u2="&#xd4;" k="20" />
-<hkern u1="Z" u2="&#xd3;" k="20" />
-<hkern u1="Z" u2="&#xd2;" k="20" />
-<hkern u1="Z" u2="&#xc7;" k="20" />
-<hkern u1="Z" u2="Q" k="20" />
-<hkern u1="Z" u2="O" k="20" />
-<hkern u1="Z" u2="G" k="20" />
-<hkern u1="Z" u2="C" k="20" />
-<hkern u1="[" u2="J" k="-184" />
-<hkern u1="a" u2="&#x201d;" k="20" />
-<hkern u1="a" u2="&#x2019;" k="20" />
-<hkern u1="a" u2="&#x27;" k="20" />
-<hkern u1="a" u2="&#x22;" k="20" />
-<hkern u1="b" u2="&#x201d;" k="20" />
-<hkern u1="b" u2="&#x2019;" k="20" />
-<hkern u1="b" u2="&#xfd;" k="41" />
-<hkern u1="b" u2="z" k="20" />
-<hkern u1="b" u2="y" k="41" />
-<hkern u1="b" u2="x" k="41" />
-<hkern u1="b" u2="w" k="41" />
-<hkern u1="b" u2="v" k="41" />
-<hkern u1="b" u2="&#x27;" k="20" />
-<hkern u1="b" u2="&#x22;" k="20" />
-<hkern u1="c" u2="&#x201d;" k="-41" />
-<hkern u1="c" u2="&#x2019;" k="-41" />
-<hkern u1="c" u2="&#x27;" k="-41" />
-<hkern u1="c" u2="&#x22;" k="-41" />
-<hkern u1="e" u2="&#x201d;" k="20" />
-<hkern u1="e" u2="&#x2019;" k="20" />
-<hkern u1="e" u2="&#xfd;" k="41" />
-<hkern u1="e" u2="z" k="20" />
-<hkern u1="e" u2="y" k="41" />
-<hkern u1="e" u2="x" k="41" />
-<hkern u1="e" u2="w" k="41" />
-<hkern u1="e" u2="v" k="41" />
-<hkern u1="e" u2="&#x27;" k="20" />
-<hkern u1="e" u2="&#x22;" k="20" />
-<hkern u1="f" u2="&#x201d;" k="-123" />
-<hkern u1="f" u2="&#x2019;" k="-123" />
-<hkern u1="f" u2="&#x27;" k="-123" />
-<hkern u1="f" u2="&#x22;" k="-123" />
-<hkern u1="h" u2="&#x201d;" k="20" />
-<hkern u1="h" u2="&#x2019;" k="20" />
-<hkern u1="h" u2="&#x27;" k="20" />
-<hkern u1="h" u2="&#x22;" k="20" />
-<hkern u1="k" u2="&#x153;" k="41" />
-<hkern u1="k" u2="&#xf8;" k="41" />
-<hkern u1="k" u2="&#xf6;" k="41" />
-<hkern u1="k" u2="&#xf5;" k="41" />
-<hkern u1="k" u2="&#xf4;" k="41" />
-<hkern u1="k" u2="&#xf3;" k="41" />
-<hkern u1="k" u2="&#xf2;" k="41" />
-<hkern u1="k" u2="&#xeb;" k="41" />
-<hkern u1="k" u2="&#xea;" k="41" />
-<hkern u1="k" u2="&#xe9;" k="41" />
-<hkern u1="k" u2="&#xe8;" k="41" />
-<hkern u1="k" u2="&#xe7;" k="41" />
-<hkern u1="k" u2="&#xe0;" k="41" />
-<hkern u1="k" u2="q" k="41" />
-<hkern u1="k" u2="o" k="41" />
-<hkern u1="k" u2="e" k="41" />
-<hkern u1="k" u2="d" k="41" />
-<hkern u1="k" u2="c" k="41" />
-<hkern u1="m" u2="&#x201d;" k="20" />
-<hkern u1="m" u2="&#x2019;" k="20" />
-<hkern u1="m" u2="&#x27;" k="20" />
-<hkern u1="m" u2="&#x22;" k="20" />
-<hkern u1="n" u2="&#x201d;" k="20" />
-<hkern u1="n" u2="&#x2019;" k="20" />
-<hkern u1="n" u2="&#x27;" k="20" />
-<hkern u1="n" u2="&#x22;" k="20" />
-<hkern u1="o" u2="&#x201d;" k="20" />
-<hkern u1="o" u2="&#x2019;" k="20" />
-<hkern u1="o" u2="&#xfd;" k="41" />
-<hkern u1="o" u2="z" k="20" />
-<hkern u1="o" u2="y" k="41" />
-<hkern u1="o" u2="x" k="41" />
-<hkern u1="o" u2="w" k="41" />
-<hkern u1="o" u2="v" k="41" />
-<hkern u1="o" u2="&#x27;" k="20" />
-<hkern u1="o" u2="&#x22;" k="20" />
-<hkern u1="p" u2="&#x201d;" k="20" />
-<hkern u1="p" u2="&#x2019;" k="20" />
-<hkern u1="p" u2="&#xfd;" k="41" />
-<hkern u1="p" u2="z" k="20" />
-<hkern u1="p" u2="y" k="41" />
-<hkern u1="p" u2="x" k="41" />
-<hkern u1="p" u2="w" k="41" />
-<hkern u1="p" u2="v" k="41" />
-<hkern u1="p" u2="&#x27;" k="20" />
-<hkern u1="p" u2="&#x22;" k="20" />
-<hkern u1="r" u2="&#x201d;" k="-82" />
-<hkern u1="r" u2="&#x2019;" k="-82" />
-<hkern u1="r" u2="&#x153;" k="41" />
-<hkern u1="r" u2="&#xf8;" k="41" />
-<hkern u1="r" u2="&#xf6;" k="41" />
-<hkern u1="r" u2="&#xf5;" k="41" />
-<hkern u1="r" u2="&#xf4;" k="41" />
-<hkern u1="r" u2="&#xf3;" k="41" />
-<hkern u1="r" u2="&#xf2;" k="41" />
-<hkern u1="r" u2="&#xeb;" k="41" />
-<hkern u1="r" u2="&#xea;" k="41" />
-<hkern u1="r" u2="&#xe9;" k="41" />
-<hkern u1="r" u2="&#xe8;" k="41" />
-<hkern u1="r" u2="&#xe7;" k="41" />
-<hkern u1="r" u2="&#xe6;" k="41" />
-<hkern u1="r" u2="&#xe5;" k="41" />
-<hkern u1="r" u2="&#xe4;" k="41" />
-<hkern u1="r" u2="&#xe3;" k="41" />
-<hkern u1="r" u2="&#xe2;" k="41" />
-<hkern u1="r" u2="&#xe1;" k="41" />
-<hkern u1="r" u2="&#xe0;" k="41" />
-<hkern u1="r" u2="q" k="41" />
-<hkern u1="r" u2="o" k="41" />
-<hkern u1="r" u2="g" k="20" />
-<hkern u1="r" u2="e" k="41" />
-<hkern u1="r" u2="d" k="41" />
-<hkern u1="r" u2="c" k="41" />
-<hkern u1="r" u2="a" k="41" />
-<hkern u1="r" u2="&#x27;" k="-82" />
-<hkern u1="r" u2="&#x22;" k="-82" />
-<hkern u1="t" u2="&#x201d;" k="-41" />
-<hkern u1="t" u2="&#x2019;" k="-41" />
-<hkern u1="t" u2="&#x27;" k="-41" />
-<hkern u1="t" u2="&#x22;" k="-41" />
-<hkern u1="v" u2="&#x201e;" k="82" />
-<hkern u1="v" u2="&#x201d;" k="-82" />
-<hkern u1="v" u2="&#x201a;" k="82" />
-<hkern u1="v" u2="&#x2019;" k="-82" />
-<hkern u1="v" u2="&#x3f;" k="-41" />
-<hkern u1="v" u2="&#x2e;" k="82" />
-<hkern u1="v" u2="&#x2c;" k="82" />
-<hkern u1="v" u2="&#x27;" k="-82" />
-<hkern u1="v" u2="&#x22;" k="-82" />
-<hkern u1="w" u2="&#x201e;" k="82" />
-<hkern u1="w" u2="&#x201d;" k="-82" />
-<hkern u1="w" u2="&#x201a;" k="82" />
-<hkern u1="w" u2="&#x2019;" k="-82" />
-<hkern u1="w" u2="&#x3f;" k="-41" />
-<hkern u1="w" u2="&#x2e;" k="82" />
-<hkern u1="w" u2="&#x2c;" k="82" />
-<hkern u1="w" u2="&#x27;" k="-82" />
-<hkern u1="w" u2="&#x22;" k="-82" />
-<hkern u1="x" u2="&#x153;" k="41" />
-<hkern u1="x" u2="&#xf8;" k="41" />
-<hkern u1="x" u2="&#xf6;" k="41" />
-<hkern u1="x" u2="&#xf5;" k="41" />
-<hkern u1="x" u2="&#xf4;" k="41" />
-<hkern u1="x" u2="&#xf3;" k="41" />
-<hkern u1="x" u2="&#xf2;" k="41" />
-<hkern u1="x" u2="&#xeb;" k="41" />
-<hkern u1="x" u2="&#xea;" k="41" />
-<hkern u1="x" u2="&#xe9;" k="41" />
-<hkern u1="x" u2="&#xe8;" k="41" />
-<hkern u1="x" u2="&#xe7;" k="41" />
-<hkern u1="x" u2="&#xe0;" k="41" />
-<hkern u1="x" u2="q" k="41" />
-<hkern u1="x" u2="o" k="41" />
-<hkern u1="x" u2="e" k="41" />
-<hkern u1="x" u2="d" k="41" />
-<hkern u1="x" u2="c" k="41" />
-<hkern u1="y" u2="&#x201e;" k="82" />
-<hkern u1="y" u2="&#x201d;" k="-82" />
-<hkern u1="y" u2="&#x201a;" k="82" />
-<hkern u1="y" u2="&#x2019;" k="-82" />
-<hkern u1="y" u2="&#x3f;" k="-41" />
-<hkern u1="y" u2="&#x2e;" k="82" />
-<hkern u1="y" u2="&#x2c;" k="82" />
-<hkern u1="y" u2="&#x27;" k="-82" />
-<hkern u1="y" u2="&#x22;" k="-82" />
-<hkern u1="&#x7b;" u2="J" k="-184" />
-<hkern u1="&#xc0;" u2="&#x201d;" k="143" />
-<hkern u1="&#xc0;" u2="&#x2019;" k="143" />
-<hkern u1="&#xc0;" u2="&#x178;" k="123" />
-<hkern u1="&#xc0;" u2="&#x152;" k="41" />
-<hkern u1="&#xc0;" u2="&#xdd;" k="123" />
-<hkern u1="&#xc0;" u2="&#xd8;" k="41" />
-<hkern u1="&#xc0;" u2="&#xd6;" k="41" />
-<hkern u1="&#xc0;" u2="&#xd5;" k="41" />
-<hkern u1="&#xc0;" u2="&#xd4;" k="41" />
-<hkern u1="&#xc0;" u2="&#xd3;" k="41" />
-<hkern u1="&#xc0;" u2="&#xd2;" k="41" />
-<hkern u1="&#xc0;" u2="&#xc7;" k="41" />
-<hkern u1="&#xc0;" u2="Y" k="123" />
-<hkern u1="&#xc0;" u2="W" k="82" />
-<hkern u1="&#xc0;" u2="V" k="82" />
-<hkern u1="&#xc0;" u2="T" k="143" />
-<hkern u1="&#xc0;" u2="Q" k="41" />
-<hkern u1="&#xc0;" u2="O" k="41" />
-<hkern u1="&#xc0;" u2="J" k="-266" />
-<hkern u1="&#xc0;" u2="G" k="41" />
-<hkern u1="&#xc0;" u2="C" k="41" />
-<hkern u1="&#xc0;" u2="&#x27;" k="143" />
-<hkern u1="&#xc0;" u2="&#x22;" k="143" />
-<hkern u1="&#xc1;" u2="&#x201d;" k="143" />
-<hkern u1="&#xc1;" u2="&#x2019;" k="143" />
-<hkern u1="&#xc1;" u2="&#x178;" k="123" />
-<hkern u1="&#xc1;" u2="&#x152;" k="41" />
-<hkern u1="&#xc1;" u2="&#xdd;" k="123" />
-<hkern u1="&#xc1;" u2="&#xd8;" k="41" />
-<hkern u1="&#xc1;" u2="&#xd6;" k="41" />
-<hkern u1="&#xc1;" u2="&#xd5;" k="41" />
-<hkern u1="&#xc1;" u2="&#xd4;" k="41" />
-<hkern u1="&#xc1;" u2="&#xd3;" k="41" />
-<hkern u1="&#xc1;" u2="&#xd2;" k="41" />
-<hkern u1="&#xc1;" u2="&#xc7;" k="41" />
-<hkern u1="&#xc1;" u2="Y" k="123" />
-<hkern u1="&#xc1;" u2="W" k="82" />
-<hkern u1="&#xc1;" u2="V" k="82" />
-<hkern u1="&#xc1;" u2="T" k="143" />
-<hkern u1="&#xc1;" u2="Q" k="41" />
-<hkern u1="&#xc1;" u2="O" k="41" />
-<hkern u1="&#xc1;" u2="J" k="-266" />
-<hkern u1="&#xc1;" u2="G" k="41" />
-<hkern u1="&#xc1;" u2="C" k="41" />
-<hkern u1="&#xc1;" u2="&#x27;" k="143" />
-<hkern u1="&#xc1;" u2="&#x22;" k="143" />
-<hkern u1="&#xc2;" u2="&#x201d;" k="143" />
-<hkern u1="&#xc2;" u2="&#x2019;" k="143" />
-<hkern u1="&#xc2;" u2="&#x178;" k="123" />
-<hkern u1="&#xc2;" u2="&#x152;" k="41" />
-<hkern u1="&#xc2;" u2="&#xdd;" k="123" />
-<hkern u1="&#xc2;" u2="&#xd8;" k="41" />
-<hkern u1="&#xc2;" u2="&#xd6;" k="41" />
-<hkern u1="&#xc2;" u2="&#xd5;" k="41" />
-<hkern u1="&#xc2;" u2="&#xd4;" k="41" />
-<hkern u1="&#xc2;" u2="&#xd3;" k="41" />
-<hkern u1="&#xc2;" u2="&#xd2;" k="41" />
-<hkern u1="&#xc2;" u2="&#xc7;" k="41" />
-<hkern u1="&#xc2;" u2="Y" k="123" />
-<hkern u1="&#xc2;" u2="W" k="82" />
-<hkern u1="&#xc2;" u2="V" k="82" />
-<hkern u1="&#xc2;" u2="T" k="143" />
-<hkern u1="&#xc2;" u2="Q" k="41" />
-<hkern u1="&#xc2;" u2="O" k="41" />
-<hkern u1="&#xc2;" u2="J" k="-266" />
-<hkern u1="&#xc2;" u2="G" k="41" />
-<hkern u1="&#xc2;" u2="C" k="41" />
-<hkern u1="&#xc2;" u2="&#x27;" k="143" />
-<hkern u1="&#xc2;" u2="&#x22;" k="143" />
-<hkern u1="&#xc3;" u2="&#x201d;" k="143" />
-<hkern u1="&#xc3;" u2="&#x2019;" k="143" />
-<hkern u1="&#xc3;" u2="&#x178;" k="123" />
-<hkern u1="&#xc3;" u2="&#x152;" k="41" />
-<hkern u1="&#xc3;" u2="&#xdd;" k="123" />
-<hkern u1="&#xc3;" u2="&#xd8;" k="41" />
-<hkern u1="&#xc3;" u2="&#xd6;" k="41" />
-<hkern u1="&#xc3;" u2="&#xd5;" k="41" />
-<hkern u1="&#xc3;" u2="&#xd4;" k="41" />
-<hkern u1="&#xc3;" u2="&#xd3;" k="41" />
-<hkern u1="&#xc3;" u2="&#xd2;" k="41" />
-<hkern u1="&#xc3;" u2="&#xc7;" k="41" />
-<hkern u1="&#xc3;" u2="Y" k="123" />
-<hkern u1="&#xc3;" u2="W" k="82" />
-<hkern u1="&#xc3;" u2="V" k="82" />
-<hkern u1="&#xc3;" u2="T" k="143" />
-<hkern u1="&#xc3;" u2="Q" k="41" />
-<hkern u1="&#xc3;" u2="O" k="41" />
-<hkern u1="&#xc3;" u2="J" k="-266" />
-<hkern u1="&#xc3;" u2="G" k="41" />
-<hkern u1="&#xc3;" u2="C" k="41" />
-<hkern u1="&#xc3;" u2="&#x27;" k="143" />
-<hkern u1="&#xc3;" u2="&#x22;" k="143" />
-<hkern u1="&#xc4;" u2="&#x201d;" k="143" />
-<hkern u1="&#xc4;" u2="&#x2019;" k="143" />
-<hkern u1="&#xc4;" u2="&#x178;" k="123" />
-<hkern u1="&#xc4;" u2="&#x152;" k="41" />
-<hkern u1="&#xc4;" u2="&#xdd;" k="123" />
-<hkern u1="&#xc4;" u2="&#xd8;" k="41" />
-<hkern u1="&#xc4;" u2="&#xd6;" k="41" />
-<hkern u1="&#xc4;" u2="&#xd5;" k="41" />
-<hkern u1="&#xc4;" u2="&#xd4;" k="41" />
-<hkern u1="&#xc4;" u2="&#xd3;" k="41" />
-<hkern u1="&#xc4;" u2="&#xd2;" k="41" />
-<hkern u1="&#xc4;" u2="&#xc7;" k="41" />
-<hkern u1="&#xc4;" u2="Y" k="123" />
-<hkern u1="&#xc4;" u2="W" k="82" />
-<hkern u1="&#xc4;" u2="V" k="82" />
-<hkern u1="&#xc4;" u2="T" k="143" />
-<hkern u1="&#xc4;" u2="Q" k="41" />
-<hkern u1="&#xc4;" u2="O" k="41" />
-<hkern u1="&#xc4;" u2="J" k="-266" />
-<hkern u1="&#xc4;" u2="G" k="41" />
-<hkern u1="&#xc4;" u2="C" k="41" />
-<hkern u1="&#xc4;" u2="&#x27;" k="143" />
-<hkern u1="&#xc4;" u2="&#x22;" k="143" />
-<hkern u1="&#xc5;" u2="&#x201d;" k="143" />
-<hkern u1="&#xc5;" u2="&#x2019;" k="143" />
-<hkern u1="&#xc5;" u2="&#x178;" k="123" />
-<hkern u1="&#xc5;" u2="&#x152;" k="41" />
-<hkern u1="&#xc5;" u2="&#xdd;" k="123" />
-<hkern u1="&#xc5;" u2="&#xd8;" k="41" />
-<hkern u1="&#xc5;" u2="&#xd6;" k="41" />
-<hkern u1="&#xc5;" u2="&#xd5;" k="41" />
-<hkern u1="&#xc5;" u2="&#xd4;" k="41" />
-<hkern u1="&#xc5;" u2="&#xd3;" k="41" />
-<hkern u1="&#xc5;" u2="&#xd2;" k="41" />
-<hkern u1="&#xc5;" u2="&#xc7;" k="41" />
-<hkern u1="&#xc5;" u2="Y" k="123" />
-<hkern u1="&#xc5;" u2="W" k="82" />
-<hkern u1="&#xc5;" u2="V" k="82" />
-<hkern u1="&#xc5;" u2="T" k="143" />
-<hkern u1="&#xc5;" u2="Q" k="41" />
-<hkern u1="&#xc5;" u2="O" k="41" />
-<hkern u1="&#xc5;" u2="J" k="-266" />
-<hkern u1="&#xc5;" u2="G" k="41" />
-<hkern u1="&#xc5;" u2="C" k="41" />
-<hkern u1="&#xc5;" u2="&#x27;" k="143" />
-<hkern u1="&#xc5;" u2="&#x22;" k="143" />
-<hkern u1="&#xc6;" u2="J" k="-123" />
-<hkern u1="&#xc7;" u2="&#x152;" k="41" />
-<hkern u1="&#xc7;" u2="&#xd8;" k="41" />
-<hkern u1="&#xc7;" u2="&#xd6;" k="41" />
-<hkern u1="&#xc7;" u2="&#xd5;" k="41" />
-<hkern u1="&#xc7;" u2="&#xd4;" k="41" />
-<hkern u1="&#xc7;" u2="&#xd3;" k="41" />
-<hkern u1="&#xc7;" u2="&#xd2;" k="41" />
-<hkern u1="&#xc7;" u2="&#xc7;" k="41" />
-<hkern u1="&#xc7;" u2="Q" k="41" />
-<hkern u1="&#xc7;" u2="O" k="41" />
-<hkern u1="&#xc7;" u2="G" k="41" />
-<hkern u1="&#xc7;" u2="C" k="41" />
-<hkern u1="&#xc8;" u2="J" k="-123" />
-<hkern u1="&#xc9;" u2="J" k="-123" />
-<hkern u1="&#xca;" u2="J" k="-123" />
-<hkern u1="&#xcb;" u2="J" k="-123" />
-<hkern u1="&#xd0;" u2="&#x201e;" k="82" />
-<hkern u1="&#xd0;" u2="&#x201a;" k="82" />
-<hkern u1="&#xd0;" u2="&#x178;" k="20" />
-<hkern u1="&#xd0;" u2="&#xdd;" k="20" />
-<hkern u1="&#xd0;" u2="&#xc5;" k="41" />
-<hkern u1="&#xd0;" u2="&#xc4;" k="41" />
-<hkern u1="&#xd0;" u2="&#xc3;" k="41" />
-<hkern u1="&#xd0;" u2="&#xc2;" k="41" />
-<hkern u1="&#xd0;" u2="&#xc1;" k="41" />
-<hkern u1="&#xd0;" u2="&#xc0;" k="41" />
-<hkern u1="&#xd0;" u2="Z" k="20" />
-<hkern u1="&#xd0;" u2="Y" k="20" />
-<hkern u1="&#xd0;" u2="X" k="41" />
-<hkern u1="&#xd0;" u2="W" k="20" />
-<hkern u1="&#xd0;" u2="V" k="20" />
-<hkern u1="&#xd0;" u2="T" k="61" />
-<hkern u1="&#xd0;" u2="A" k="41" />
-<hkern u1="&#xd0;" u2="&#x2e;" k="82" />
-<hkern u1="&#xd0;" u2="&#x2c;" k="82" />
-<hkern u1="&#xd2;" u2="&#x201e;" k="82" />
-<hkern u1="&#xd2;" u2="&#x201a;" k="82" />
-<hkern u1="&#xd2;" u2="&#x178;" k="20" />
-<hkern u1="&#xd2;" u2="&#xdd;" k="20" />
-<hkern u1="&#xd2;" u2="&#xc5;" k="41" />
-<hkern u1="&#xd2;" u2="&#xc4;" k="41" />
-<hkern u1="&#xd2;" u2="&#xc3;" k="41" />
-<hkern u1="&#xd2;" u2="&#xc2;" k="41" />
-<hkern u1="&#xd2;" u2="&#xc1;" k="41" />
-<hkern u1="&#xd2;" u2="&#xc0;" k="41" />
-<hkern u1="&#xd2;" u2="Z" k="20" />
-<hkern u1="&#xd2;" u2="Y" k="20" />
-<hkern u1="&#xd2;" u2="X" k="41" />
-<hkern u1="&#xd2;" u2="W" k="20" />
-<hkern u1="&#xd2;" u2="V" k="20" />
-<hkern u1="&#xd2;" u2="T" k="61" />
-<hkern u1="&#xd2;" u2="A" k="41" />
-<hkern u1="&#xd2;" u2="&#x2e;" k="82" />
-<hkern u1="&#xd2;" u2="&#x2c;" k="82" />
-<hkern u1="&#xd3;" u2="&#x201e;" k="82" />
-<hkern u1="&#xd3;" u2="&#x201a;" k="82" />
-<hkern u1="&#xd3;" u2="&#x178;" k="20" />
-<hkern u1="&#xd3;" u2="&#xdd;" k="20" />
-<hkern u1="&#xd3;" u2="&#xc5;" k="41" />
-<hkern u1="&#xd3;" u2="&#xc4;" k="41" />
-<hkern u1="&#xd3;" u2="&#xc3;" k="41" />
-<hkern u1="&#xd3;" u2="&#xc2;" k="41" />
-<hkern u1="&#xd3;" u2="&#xc1;" k="41" />
-<hkern u1="&#xd3;" u2="&#xc0;" k="41" />
-<hkern u1="&#xd3;" u2="Z" k="20" />
-<hkern u1="&#xd3;" u2="Y" k="20" />
-<hkern u1="&#xd3;" u2="X" k="41" />
-<hkern u1="&#xd3;" u2="W" k="20" />
-<hkern u1="&#xd3;" u2="V" k="20" />
-<hkern u1="&#xd3;" u2="T" k="61" />
-<hkern u1="&#xd3;" u2="A" k="41" />
-<hkern u1="&#xd3;" u2="&#x2e;" k="82" />
-<hkern u1="&#xd3;" u2="&#x2c;" k="82" />
-<hkern u1="&#xd4;" u2="&#x201e;" k="82" />
-<hkern u1="&#xd4;" u2="&#x201a;" k="82" />
-<hkern u1="&#xd4;" u2="&#x178;" k="20" />
-<hkern u1="&#xd4;" u2="&#xdd;" k="20" />
-<hkern u1="&#xd4;" u2="&#xc5;" k="41" />
-<hkern u1="&#xd4;" u2="&#xc4;" k="41" />
-<hkern u1="&#xd4;" u2="&#xc3;" k="41" />
-<hkern u1="&#xd4;" u2="&#xc2;" k="41" />
-<hkern u1="&#xd4;" u2="&#xc1;" k="41" />
-<hkern u1="&#xd4;" u2="&#xc0;" k="41" />
-<hkern u1="&#xd4;" u2="Z" k="20" />
-<hkern u1="&#xd4;" u2="Y" k="20" />
-<hkern u1="&#xd4;" u2="X" k="41" />
-<hkern u1="&#xd4;" u2="W" k="20" />
-<hkern u1="&#xd4;" u2="V" k="20" />
-<hkern u1="&#xd4;" u2="T" k="61" />
-<hkern u1="&#xd4;" u2="A" k="41" />
-<hkern u1="&#xd4;" u2="&#x2e;" k="82" />
-<hkern u1="&#xd4;" u2="&#x2c;" k="82" />
-<hkern u1="&#xd5;" u2="&#x201e;" k="82" />
-<hkern u1="&#xd5;" u2="&#x201a;" k="82" />
-<hkern u1="&#xd5;" u2="&#x178;" k="20" />
-<hkern u1="&#xd5;" u2="&#xdd;" k="20" />
-<hkern u1="&#xd5;" u2="&#xc5;" k="41" />
-<hkern u1="&#xd5;" u2="&#xc4;" k="41" />
-<hkern u1="&#xd5;" u2="&#xc3;" k="41" />
-<hkern u1="&#xd5;" u2="&#xc2;" k="41" />
-<hkern u1="&#xd5;" u2="&#xc1;" k="41" />
-<hkern u1="&#xd5;" u2="&#xc0;" k="41" />
-<hkern u1="&#xd5;" u2="Z" k="20" />
-<hkern u1="&#xd5;" u2="Y" k="20" />
-<hkern u1="&#xd5;" u2="X" k="41" />
-<hkern u1="&#xd5;" u2="W" k="20" />
-<hkern u1="&#xd5;" u2="V" k="20" />
-<hkern u1="&#xd5;" u2="T" k="61" />
-<hkern u1="&#xd5;" u2="A" k="41" />
-<hkern u1="&#xd5;" u2="&#x2e;" k="82" />
-<hkern u1="&#xd5;" u2="&#x2c;" k="82" />
-<hkern u1="&#xd6;" u2="&#x201e;" k="82" />
-<hkern u1="&#xd6;" u2="&#x201a;" k="82" />
-<hkern u1="&#xd6;" u2="&#x178;" k="20" />
-<hkern u1="&#xd6;" u2="&#xdd;" k="20" />
-<hkern u1="&#xd6;" u2="&#xc5;" k="41" />
-<hkern u1="&#xd6;" u2="&#xc4;" k="41" />
-<hkern u1="&#xd6;" u2="&#xc3;" k="41" />
-<hkern u1="&#xd6;" u2="&#xc2;" k="41" />
-<hkern u1="&#xd6;" u2="&#xc1;" k="41" />
-<hkern u1="&#xd6;" u2="&#xc0;" k="41" />
-<hkern u1="&#xd6;" u2="Z" k="20" />
-<hkern u1="&#xd6;" u2="Y" k="20" />
-<hkern u1="&#xd6;" u2="X" k="41" />
-<hkern u1="&#xd6;" u2="W" k="20" />
-<hkern u1="&#xd6;" u2="V" k="20" />
-<hkern u1="&#xd6;" u2="T" k="61" />
-<hkern u1="&#xd6;" u2="A" k="41" />
-<hkern u1="&#xd6;" u2="&#x2e;" k="82" />
-<hkern u1="&#xd6;" u2="&#x2c;" k="82" />
-<hkern u1="&#xd8;" u2="&#x201e;" k="82" />
-<hkern u1="&#xd8;" u2="&#x201a;" k="82" />
-<hkern u1="&#xd8;" u2="&#x178;" k="20" />
-<hkern u1="&#xd8;" u2="&#xdd;" k="20" />
-<hkern u1="&#xd8;" u2="&#xc5;" k="41" />
-<hkern u1="&#xd8;" u2="&#xc4;" k="41" />
-<hkern u1="&#xd8;" u2="&#xc3;" k="41" />
-<hkern u1="&#xd8;" u2="&#xc2;" k="41" />
-<hkern u1="&#xd8;" u2="&#xc1;" k="41" />
-<hkern u1="&#xd8;" u2="&#xc0;" k="41" />
-<hkern u1="&#xd8;" u2="Z" k="20" />
-<hkern u1="&#xd8;" u2="Y" k="20" />
-<hkern u1="&#xd8;" u2="X" k="41" />
-<hkern u1="&#xd8;" u2="W" k="20" />
-<hkern u1="&#xd8;" u2="V" k="20" />
-<hkern u1="&#xd8;" u2="T" k="61" />
-<hkern u1="&#xd8;" u2="A" k="41" />
-<hkern u1="&#xd8;" u2="&#x2e;" k="82" />
-<hkern u1="&#xd8;" u2="&#x2c;" k="82" />
-<hkern u1="&#xd9;" u2="&#x201e;" k="41" />
-<hkern u1="&#xd9;" u2="&#x201a;" k="41" />
-<hkern u1="&#xd9;" u2="&#xc5;" k="20" />
-<hkern u1="&#xd9;" u2="&#xc4;" k="20" />
-<hkern u1="&#xd9;" u2="&#xc3;" k="20" />
-<hkern u1="&#xd9;" u2="&#xc2;" k="20" />
-<hkern u1="&#xd9;" u2="&#xc1;" k="20" />
-<hkern u1="&#xd9;" u2="&#xc0;" k="20" />
-<hkern u1="&#xd9;" u2="A" k="20" />
-<hkern u1="&#xd9;" u2="&#x2e;" k="41" />
-<hkern u1="&#xd9;" u2="&#x2c;" k="41" />
-<hkern u1="&#xda;" u2="&#x201e;" k="41" />
-<hkern u1="&#xda;" u2="&#x201a;" k="41" />
-<hkern u1="&#xda;" u2="&#xc5;" k="20" />
-<hkern u1="&#xda;" u2="&#xc4;" k="20" />
-<hkern u1="&#xda;" u2="&#xc3;" k="20" />
-<hkern u1="&#xda;" u2="&#xc2;" k="20" />
-<hkern u1="&#xda;" u2="&#xc1;" k="20" />
-<hkern u1="&#xda;" u2="&#xc0;" k="20" />
-<hkern u1="&#xda;" u2="A" k="20" />
-<hkern u1="&#xda;" u2="&#x2e;" k="41" />
-<hkern u1="&#xda;" u2="&#x2c;" k="41" />
-<hkern u1="&#xdb;" u2="&#x201e;" k="41" />
-<hkern u1="&#xdb;" u2="&#x201a;" k="41" />
-<hkern u1="&#xdb;" u2="&#xc5;" k="20" />
-<hkern u1="&#xdb;" u2="&#xc4;" k="20" />
-<hkern u1="&#xdb;" u2="&#xc3;" k="20" />
-<hkern u1="&#xdb;" u2="&#xc2;" k="20" />
-<hkern u1="&#xdb;" u2="&#xc1;" k="20" />
-<hkern u1="&#xdb;" u2="&#xc0;" k="20" />
-<hkern u1="&#xdb;" u2="A" k="20" />
-<hkern u1="&#xdb;" u2="&#x2e;" k="41" />
-<hkern u1="&#xdb;" u2="&#x2c;" k="41" />
-<hkern u1="&#xdc;" u2="&#x201e;" k="41" />
-<hkern u1="&#xdc;" u2="&#x201a;" k="41" />
-<hkern u1="&#xdc;" u2="&#xc5;" k="20" />
-<hkern u1="&#xdc;" u2="&#xc4;" k="20" />
-<hkern u1="&#xdc;" u2="&#xc3;" k="20" />
-<hkern u1="&#xdc;" u2="&#xc2;" k="20" />
-<hkern u1="&#xdc;" u2="&#xc1;" k="20" />
-<hkern u1="&#xdc;" u2="&#xc0;" k="20" />
-<hkern u1="&#xdc;" u2="A" k="20" />
-<hkern u1="&#xdc;" u2="&#x2e;" k="41" />
-<hkern u1="&#xdc;" u2="&#x2c;" k="41" />
-<hkern u1="&#xdd;" u2="&#x201e;" k="123" />
-<hkern u1="&#xdd;" u2="&#x201a;" k="123" />
-<hkern u1="&#xdd;" u2="&#x153;" k="102" />
-<hkern u1="&#xdd;" u2="&#x152;" k="41" />
-<hkern u1="&#xdd;" u2="&#xfc;" k="61" />
-<hkern u1="&#xdd;" u2="&#xfb;" k="61" />
-<hkern u1="&#xdd;" u2="&#xfa;" k="61" />
-<hkern u1="&#xdd;" u2="&#xf9;" k="61" />
-<hkern u1="&#xdd;" u2="&#xf8;" k="102" />
-<hkern u1="&#xdd;" u2="&#xf6;" k="102" />
-<hkern u1="&#xdd;" u2="&#xf5;" k="102" />
-<hkern u1="&#xdd;" u2="&#xf4;" k="102" />
-<hkern u1="&#xdd;" u2="&#xf3;" k="102" />
-<hkern u1="&#xdd;" u2="&#xf2;" k="102" />
-<hkern u1="&#xdd;" u2="&#xeb;" k="102" />
-<hkern u1="&#xdd;" u2="&#xea;" k="102" />
-<hkern u1="&#xdd;" u2="&#xe9;" k="102" />
-<hkern u1="&#xdd;" u2="&#xe8;" k="102" />
-<hkern u1="&#xdd;" u2="&#xe7;" k="102" />
-<hkern u1="&#xdd;" u2="&#xe6;" k="102" />
-<hkern u1="&#xdd;" u2="&#xe5;" k="102" />
-<hkern u1="&#xdd;" u2="&#xe4;" k="102" />
-<hkern u1="&#xdd;" u2="&#xe3;" k="102" />
-<hkern u1="&#xdd;" u2="&#xe2;" k="102" />
-<hkern u1="&#xdd;" u2="&#xe1;" k="102" />
-<hkern u1="&#xdd;" u2="&#xe0;" k="102" />
-<hkern u1="&#xdd;" u2="&#xd8;" k="41" />
-<hkern u1="&#xdd;" u2="&#xd6;" k="41" />
-<hkern u1="&#xdd;" u2="&#xd5;" k="41" />
-<hkern u1="&#xdd;" u2="&#xd4;" k="41" />
-<hkern u1="&#xdd;" u2="&#xd3;" k="41" />
-<hkern u1="&#xdd;" u2="&#xd2;" k="41" />
-<hkern u1="&#xdd;" u2="&#xc7;" k="41" />
-<hkern u1="&#xdd;" u2="&#xc5;" k="123" />
-<hkern u1="&#xdd;" u2="&#xc4;" k="123" />
-<hkern u1="&#xdd;" u2="&#xc3;" k="123" />
-<hkern u1="&#xdd;" u2="&#xc2;" k="123" />
-<hkern u1="&#xdd;" u2="&#xc1;" k="123" />
-<hkern u1="&#xdd;" u2="&#xc0;" k="123" />
-<hkern u1="&#xdd;" u2="z" k="41" />
-<hkern u1="&#xdd;" u2="u" k="61" />
-<hkern u1="&#xdd;" u2="s" k="82" />
-<hkern u1="&#xdd;" u2="r" k="61" />
-<hkern u1="&#xdd;" u2="q" k="102" />
-<hkern u1="&#xdd;" u2="p" k="61" />
-<hkern u1="&#xdd;" u2="o" k="102" />
-<hkern u1="&#xdd;" u2="n" k="61" />
-<hkern u1="&#xdd;" u2="m" k="61" />
-<hkern u1="&#xdd;" u2="g" k="41" />
-<hkern u1="&#xdd;" u2="e" k="102" />
-<hkern u1="&#xdd;" u2="d" k="102" />
-<hkern u1="&#xdd;" u2="c" k="102" />
-<hkern u1="&#xdd;" u2="a" k="102" />
-<hkern u1="&#xdd;" u2="Q" k="41" />
-<hkern u1="&#xdd;" u2="O" k="41" />
-<hkern u1="&#xdd;" u2="G" k="41" />
-<hkern u1="&#xdd;" u2="C" k="41" />
-<hkern u1="&#xdd;" u2="A" k="123" />
-<hkern u1="&#xdd;" u2="&#x3f;" k="-41" />
-<hkern u1="&#xdd;" u2="&#x2e;" k="123" />
-<hkern u1="&#xdd;" u2="&#x2c;" k="123" />
-<hkern u1="&#xde;" u2="&#x201e;" k="266" />
-<hkern u1="&#xde;" u2="&#x201a;" k="266" />
-<hkern u1="&#xde;" u2="&#xc5;" k="102" />
-<hkern u1="&#xde;" u2="&#xc4;" k="102" />
-<hkern u1="&#xde;" u2="&#xc3;" k="102" />
-<hkern u1="&#xde;" u2="&#xc2;" k="102" />
-<hkern u1="&#xde;" u2="&#xc1;" k="102" />
-<hkern u1="&#xde;" u2="&#xc0;" k="102" />
-<hkern u1="&#xde;" u2="Z" k="20" />
-<hkern u1="&#xde;" u2="X" k="41" />
-<hkern u1="&#xde;" u2="A" k="102" />
-<hkern u1="&#xde;" u2="&#x2e;" k="266" />
-<hkern u1="&#xde;" u2="&#x2c;" k="266" />
-<hkern u1="&#xe0;" u2="&#x201d;" k="20" />
-<hkern u1="&#xe0;" u2="&#x2019;" k="20" />
-<hkern u1="&#xe0;" u2="&#x27;" k="20" />
-<hkern u1="&#xe0;" u2="&#x22;" k="20" />
-<hkern u1="&#xe1;" u2="&#x201d;" k="20" />
-<hkern u1="&#xe1;" u2="&#x2019;" k="20" />
-<hkern u1="&#xe1;" u2="&#x27;" k="20" />
-<hkern u1="&#xe1;" u2="&#x22;" k="20" />
-<hkern u1="&#xe2;" u2="&#x201d;" k="20" />
-<hkern u1="&#xe2;" u2="&#x2019;" k="20" />
-<hkern u1="&#xe2;" u2="&#x27;" k="20" />
-<hkern u1="&#xe2;" u2="&#x22;" k="20" />
-<hkern u1="&#xe3;" u2="&#x201d;" k="20" />
-<hkern u1="&#xe3;" u2="&#x2019;" k="20" />
-<hkern u1="&#xe3;" u2="&#x27;" k="20" />
-<hkern u1="&#xe3;" u2="&#x22;" k="20" />
-<hkern u1="&#xe4;" u2="&#x201d;" k="20" />
-<hkern u1="&#xe4;" u2="&#x2019;" k="20" />
-<hkern u1="&#xe4;" u2="&#x27;" k="20" />
-<hkern u1="&#xe4;" u2="&#x22;" k="20" />
-<hkern u1="&#xe5;" u2="&#x201d;" k="20" />
-<hkern u1="&#xe5;" u2="&#x2019;" k="20" />
-<hkern u1="&#xe5;" u2="&#x27;" k="20" />
-<hkern u1="&#xe5;" u2="&#x22;" k="20" />
-<hkern u1="&#xe8;" u2="&#x201d;" k="20" />
-<hkern u1="&#xe8;" u2="&#x2019;" k="20" />
-<hkern u1="&#xe8;" u2="&#xfd;" k="41" />
-<hkern u1="&#xe8;" u2="z" k="20" />
-<hkern u1="&#xe8;" u2="y" k="41" />
-<hkern u1="&#xe8;" u2="x" k="41" />
-<hkern u1="&#xe8;" u2="w" k="41" />
-<hkern u1="&#xe8;" u2="v" k="41" />
-<hkern u1="&#xe8;" u2="&#x27;" k="20" />
-<hkern u1="&#xe8;" u2="&#x22;" k="20" />
-<hkern u1="&#xe9;" u2="&#x201d;" k="20" />
-<hkern u1="&#xe9;" u2="&#x2019;" k="20" />
-<hkern u1="&#xe9;" u2="&#xfd;" k="41" />
-<hkern u1="&#xe9;" u2="z" k="20" />
-<hkern u1="&#xe9;" u2="y" k="41" />
-<hkern u1="&#xe9;" u2="x" k="41" />
-<hkern u1="&#xe9;" u2="w" k="41" />
-<hkern u1="&#xe9;" u2="v" k="41" />
-<hkern u1="&#xe9;" u2="&#x27;" k="20" />
-<hkern u1="&#xe9;" u2="&#x22;" k="20" />
-<hkern u1="&#xea;" u2="&#x201d;" k="20" />
-<hkern u1="&#xea;" u2="&#x2019;" k="20" />
-<hkern u1="&#xea;" u2="&#xfd;" k="41" />
-<hkern u1="&#xea;" u2="z" k="20" />
-<hkern u1="&#xea;" u2="y" k="41" />
-<hkern u1="&#xea;" u2="x" k="41" />
-<hkern u1="&#xea;" u2="w" k="41" />
-<hkern u1="&#xea;" u2="v" k="41" />
-<hkern u1="&#xea;" u2="&#x27;" k="20" />
-<hkern u1="&#xea;" u2="&#x22;" k="20" />
-<hkern u1="&#xeb;" u2="&#x201d;" k="20" />
-<hkern u1="&#xeb;" u2="&#x2019;" k="20" />
-<hkern u1="&#xeb;" u2="&#xfd;" k="41" />
-<hkern u1="&#xeb;" u2="z" k="20" />
-<hkern u1="&#xeb;" u2="y" k="41" />
-<hkern u1="&#xeb;" u2="x" k="41" />
-<hkern u1="&#xeb;" u2="w" k="41" />
-<hkern u1="&#xeb;" u2="v" k="41" />
-<hkern u1="&#xeb;" u2="&#x27;" k="20" />
-<hkern u1="&#xeb;" u2="&#x22;" k="20" />
-<hkern u1="&#xf0;" u2="&#x201d;" k="20" />
-<hkern u1="&#xf0;" u2="&#x2019;" k="20" />
-<hkern u1="&#xf0;" u2="&#xfd;" k="41" />
-<hkern u1="&#xf0;" u2="z" k="20" />
-<hkern u1="&#xf0;" u2="y" k="41" />
-<hkern u1="&#xf0;" u2="x" k="41" />
-<hkern u1="&#xf0;" u2="w" k="41" />
-<hkern u1="&#xf0;" u2="v" k="41" />
-<hkern u1="&#xf0;" u2="&#x27;" k="20" />
-<hkern u1="&#xf0;" u2="&#x22;" k="20" />
-<hkern u1="&#xf2;" u2="&#x201d;" k="20" />
-<hkern u1="&#xf2;" u2="&#x2019;" k="20" />
-<hkern u1="&#xf2;" u2="&#xfd;" k="41" />
-<hkern u1="&#xf2;" u2="z" k="20" />
-<hkern u1="&#xf2;" u2="y" k="41" />
-<hkern u1="&#xf2;" u2="x" k="41" />
-<hkern u1="&#xf2;" u2="w" k="41" />
-<hkern u1="&#xf2;" u2="v" k="41" />
-<hkern u1="&#xf2;" u2="&#x27;" k="20" />
-<hkern u1="&#xf2;" u2="&#x22;" k="20" />
-<hkern u1="&#xf3;" u2="&#x201d;" k="20" />
-<hkern u1="&#xf3;" u2="&#x2019;" k="20" />
-<hkern u1="&#xf3;" u2="&#xfd;" k="41" />
-<hkern u1="&#xf3;" u2="z" k="20" />
-<hkern u1="&#xf3;" u2="y" k="41" />
-<hkern u1="&#xf3;" u2="x" k="41" />
-<hkern u1="&#xf3;" u2="w" k="41" />
-<hkern u1="&#xf3;" u2="v" k="41" />
-<hkern u1="&#xf3;" u2="&#x27;" k="20" />
-<hkern u1="&#xf3;" u2="&#x22;" k="20" />
-<hkern u1="&#xf4;" u2="&#x201d;" k="20" />
-<hkern u1="&#xf4;" u2="&#x2019;" k="20" />
-<hkern u1="&#xf4;" u2="&#xfd;" k="41" />
-<hkern u1="&#xf4;" u2="z" k="20" />
-<hkern u1="&#xf4;" u2="y" k="41" />
-<hkern u1="&#xf4;" u2="x" k="41" />
-<hkern u1="&#xf4;" u2="w" k="41" />
-<hkern u1="&#xf4;" u2="v" k="41" />
-<hkern u1="&#xf4;" u2="&#x27;" k="20" />
-<hkern u1="&#xf4;" u2="&#x22;" k="20" />
-<hkern u1="&#xf6;" u2="&#x201d;" k="41" />
-<hkern u1="&#xf6;" u2="&#x2019;" k="41" />
-<hkern u1="&#xf6;" u2="&#x27;" k="41" />
-<hkern u1="&#xf6;" u2="&#x22;" k="41" />
-<hkern u1="&#xf8;" u2="&#x201d;" k="20" />
-<hkern u1="&#xf8;" u2="&#x2019;" k="20" />
-<hkern u1="&#xf8;" u2="&#xfd;" k="41" />
-<hkern u1="&#xf8;" u2="z" k="20" />
-<hkern u1="&#xf8;" u2="y" k="41" />
-<hkern u1="&#xf8;" u2="x" k="41" />
-<hkern u1="&#xf8;" u2="w" k="41" />
-<hkern u1="&#xf8;" u2="v" k="41" />
-<hkern u1="&#xf8;" u2="&#x27;" k="20" />
-<hkern u1="&#xf8;" u2="&#x22;" k="20" />
-<hkern u1="&#xfd;" u2="&#x201e;" k="82" />
-<hkern u1="&#xfd;" u2="&#x201d;" k="-82" />
-<hkern u1="&#xfd;" u2="&#x201a;" k="82" />
-<hkern u1="&#xfd;" u2="&#x2019;" k="-82" />
-<hkern u1="&#xfd;" u2="&#x3f;" k="-41" />
-<hkern u1="&#xfd;" u2="&#x2e;" k="82" />
-<hkern u1="&#xfd;" u2="&#x2c;" k="82" />
-<hkern u1="&#xfd;" u2="&#x27;" k="-82" />
-<hkern u1="&#xfd;" u2="&#x22;" k="-82" />
-<hkern u1="&#xfe;" u2="&#x201d;" k="20" />
-<hkern u1="&#xfe;" u2="&#x2019;" k="20" />
-<hkern u1="&#xfe;" u2="&#xfd;" k="41" />
-<hkern u1="&#xfe;" u2="z" k="20" />
-<hkern u1="&#xfe;" u2="y" k="41" />
-<hkern u1="&#xfe;" u2="x" k="41" />
-<hkern u1="&#xfe;" u2="w" k="41" />
-<hkern u1="&#xfe;" u2="v" k="41" />
-<hkern u1="&#xfe;" u2="&#x27;" k="20" />
-<hkern u1="&#xfe;" u2="&#x22;" k="20" />
-<hkern u1="&#xff;" u2="&#x201e;" k="82" />
-<hkern u1="&#xff;" u2="&#x201d;" k="-82" />
-<hkern u1="&#xff;" u2="&#x201a;" k="82" />
-<hkern u1="&#xff;" u2="&#x2019;" k="-82" />
-<hkern u1="&#xff;" u2="&#x3f;" k="-41" />
-<hkern u1="&#xff;" u2="&#x2e;" k="82" />
-<hkern u1="&#xff;" u2="&#x2c;" k="82" />
-<hkern u1="&#xff;" u2="&#x27;" k="-82" />
-<hkern u1="&#xff;" u2="&#x22;" k="-82" />
-<hkern u1="&#x152;" u2="J" k="-123" />
-<hkern u1="&#x178;" u2="&#x201e;" k="123" />
-<hkern u1="&#x178;" u2="&#x201a;" k="123" />
-<hkern u1="&#x178;" u2="&#x153;" k="102" />
-<hkern u1="&#x178;" u2="&#x152;" k="41" />
-<hkern u1="&#x178;" u2="&#xfc;" k="61" />
-<hkern u1="&#x178;" u2="&#xfb;" k="61" />
-<hkern u1="&#x178;" u2="&#xfa;" k="61" />
-<hkern u1="&#x178;" u2="&#xf9;" k="61" />
-<hkern u1="&#x178;" u2="&#xf8;" k="102" />
-<hkern u1="&#x178;" u2="&#xf6;" k="102" />
-<hkern u1="&#x178;" u2="&#xf5;" k="102" />
-<hkern u1="&#x178;" u2="&#xf4;" k="102" />
-<hkern u1="&#x178;" u2="&#xf3;" k="102" />
-<hkern u1="&#x178;" u2="&#xf2;" k="102" />
-<hkern u1="&#x178;" u2="&#xeb;" k="102" />
-<hkern u1="&#x178;" u2="&#xea;" k="102" />
-<hkern u1="&#x178;" u2="&#xe9;" k="102" />
-<hkern u1="&#x178;" u2="&#xe8;" k="102" />
-<hkern u1="&#x178;" u2="&#xe7;" k="102" />
-<hkern u1="&#x178;" u2="&#xe6;" k="102" />
-<hkern u1="&#x178;" u2="&#xe5;" k="102" />
-<hkern u1="&#x178;" u2="&#xe4;" k="102" />
-<hkern u1="&#x178;" u2="&#xe3;" k="102" />
-<hkern u1="&#x178;" u2="&#xe2;" k="102" />
-<hkern u1="&#x178;" u2="&#xe1;" k="102" />
-<hkern u1="&#x178;" u2="&#xe0;" k="102" />
-<hkern u1="&#x178;" u2="&#xd8;" k="41" />
-<hkern u1="&#x178;" u2="&#xd6;" k="41" />
-<hkern u1="&#x178;" u2="&#xd5;" k="41" />
-<hkern u1="&#x178;" u2="&#xd4;" k="41" />
-<hkern u1="&#x178;" u2="&#xd3;" k="41" />
-<hkern u1="&#x178;" u2="&#xd2;" k="41" />
-<hkern u1="&#x178;" u2="&#xc7;" k="41" />
-<hkern u1="&#x178;" u2="&#xc5;" k="123" />
-<hkern u1="&#x178;" u2="&#xc4;" k="123" />
-<hkern u1="&#x178;" u2="&#xc3;" k="123" />
-<hkern u1="&#x178;" u2="&#xc2;" k="123" />
-<hkern u1="&#x178;" u2="&#xc1;" k="123" />
-<hkern u1="&#x178;" u2="&#xc0;" k="123" />
-<hkern u1="&#x178;" u2="z" k="41" />
-<hkern u1="&#x178;" u2="u" k="61" />
-<hkern u1="&#x178;" u2="s" k="82" />
-<hkern u1="&#x178;" u2="r" k="61" />
-<hkern u1="&#x178;" u2="q" k="102" />
-<hkern u1="&#x178;" u2="p" k="61" />
-<hkern u1="&#x178;" u2="o" k="102" />
-<hkern u1="&#x178;" u2="n" k="61" />
-<hkern u1="&#x178;" u2="m" k="61" />
-<hkern u1="&#x178;" u2="g" k="41" />
-<hkern u1="&#x178;" u2="e" k="102" />
-<hkern u1="&#x178;" u2="d" k="102" />
-<hkern u1="&#x178;" u2="c" k="102" />
-<hkern u1="&#x178;" u2="a" k="102" />
-<hkern u1="&#x178;" u2="Q" k="41" />
-<hkern u1="&#x178;" u2="O" k="41" />
-<hkern u1="&#x178;" u2="G" k="41" />
-<hkern u1="&#x178;" u2="C" k="41" />
-<hkern u1="&#x178;" u2="A" k="123" />
-<hkern u1="&#x178;" u2="&#x3f;" k="-41" />
-<hkern u1="&#x178;" u2="&#x2e;" k="123" />
-<hkern u1="&#x178;" u2="&#x2c;" k="123" />
-<hkern u1="&#x2013;" u2="T" k="82" />
-<hkern u1="&#x2014;" u2="T" k="82" />
-<hkern u1="&#x2018;" u2="&#x178;" k="-20" />
-<hkern u1="&#x2018;" u2="&#x153;" k="123" />
-<hkern u1="&#x2018;" u2="&#xfc;" k="61" />
-<hkern u1="&#x2018;" u2="&#xfb;" k="61" />
-<hkern u1="&#x2018;" u2="&#xfa;" k="61" />
-<hkern u1="&#x2018;" u2="&#xf9;" k="61" />
-<hkern u1="&#x2018;" u2="&#xf8;" k="123" />
-<hkern u1="&#x2018;" u2="&#xf6;" k="123" />
-<hkern u1="&#x2018;" u2="&#xf5;" k="123" />
-<hkern u1="&#x2018;" u2="&#xf4;" k="123" />
-<hkern u1="&#x2018;" u2="&#xf3;" k="123" />
-<hkern u1="&#x2018;" u2="&#xf2;" k="123" />
-<hkern u1="&#x2018;" u2="&#xeb;" k="123" />
-<hkern u1="&#x2018;" u2="&#xea;" k="123" />
-<hkern u1="&#x2018;" u2="&#xe9;" k="123" />
-<hkern u1="&#x2018;" u2="&#xe8;" k="123" />
-<hkern u1="&#x2018;" u2="&#xe7;" k="123" />
-<hkern u1="&#x2018;" u2="&#xe6;" k="82" />
-<hkern u1="&#x2018;" u2="&#xe5;" k="82" />
-<hkern u1="&#x2018;" u2="&#xe4;" k="82" />
-<hkern u1="&#x2018;" u2="&#xe3;" k="82" />
-<hkern u1="&#x2018;" u2="&#xe2;" k="82" />
-<hkern u1="&#x2018;" u2="&#xe1;" k="82" />
-<hkern u1="&#x2018;" u2="&#xe0;" k="123" />
-<hkern u1="&#x2018;" u2="&#xdd;" k="-20" />
-<hkern u1="&#x2018;" u2="&#xc5;" k="143" />
-<hkern u1="&#x2018;" u2="&#xc4;" k="143" />
-<hkern u1="&#x2018;" u2="&#xc3;" k="143" />
-<hkern u1="&#x2018;" u2="&#xc2;" k="143" />
-<hkern u1="&#x2018;" u2="&#xc1;" k="143" />
-<hkern u1="&#x2018;" u2="&#xc0;" k="143" />
-<hkern u1="&#x2018;" u2="u" k="61" />
-<hkern u1="&#x2018;" u2="s" k="61" />
-<hkern u1="&#x2018;" u2="r" k="61" />
-<hkern u1="&#x2018;" u2="q" k="123" />
-<hkern u1="&#x2018;" u2="p" k="61" />
-<hkern u1="&#x2018;" u2="o" k="123" />
-<hkern u1="&#x2018;" u2="n" k="61" />
-<hkern u1="&#x2018;" u2="m" k="61" />
-<hkern u1="&#x2018;" u2="g" k="61" />
-<hkern u1="&#x2018;" u2="e" k="123" />
-<hkern u1="&#x2018;" u2="d" k="123" />
-<hkern u1="&#x2018;" u2="c" k="123" />
-<hkern u1="&#x2018;" u2="a" k="82" />
-<hkern u1="&#x2018;" u2="Y" k="-20" />
-<hkern u1="&#x2018;" u2="W" k="-41" />
-<hkern u1="&#x2018;" u2="V" k="-41" />
-<hkern u1="&#x2018;" u2="T" k="-41" />
-<hkern u1="&#x2018;" u2="A" k="143" />
-<hkern u1="&#x2019;" u2="&#x178;" k="-20" />
-<hkern u1="&#x2019;" u2="&#x153;" k="123" />
-<hkern u1="&#x2019;" u2="&#xfc;" k="61" />
-<hkern u1="&#x2019;" u2="&#xfb;" k="61" />
-<hkern u1="&#x2019;" u2="&#xfa;" k="61" />
-<hkern u1="&#x2019;" u2="&#xf9;" k="61" />
-<hkern u1="&#x2019;" u2="&#xf8;" k="123" />
-<hkern u1="&#x2019;" u2="&#xf6;" k="123" />
-<hkern u1="&#x2019;" u2="&#xf5;" k="123" />
-<hkern u1="&#x2019;" u2="&#xf4;" k="123" />
-<hkern u1="&#x2019;" u2="&#xf3;" k="123" />
-<hkern u1="&#x2019;" u2="&#xf2;" k="123" />
-<hkern u1="&#x2019;" u2="&#xeb;" k="123" />
-<hkern u1="&#x2019;" u2="&#xea;" k="123" />
-<hkern u1="&#x2019;" u2="&#xe9;" k="123" />
-<hkern u1="&#x2019;" u2="&#xe8;" k="123" />
-<hkern u1="&#x2019;" u2="&#xe7;" k="123" />
-<hkern u1="&#x2019;" u2="&#xe6;" k="82" />
-<hkern u1="&#x2019;" u2="&#xe5;" k="82" />
-<hkern u1="&#x2019;" u2="&#xe4;" k="82" />
-<hkern u1="&#x2019;" u2="&#xe3;" k="82" />
-<hkern u1="&#x2019;" u2="&#xe2;" k="82" />
-<hkern u1="&#x2019;" u2="&#xe1;" k="82" />
-<hkern u1="&#x2019;" u2="&#xe0;" k="123" />
-<hkern u1="&#x2019;" u2="&#xdd;" k="-20" />
-<hkern u1="&#x2019;" u2="&#xc5;" k="143" />
-<hkern u1="&#x2019;" u2="&#xc4;" k="143" />
-<hkern u1="&#x2019;" u2="&#xc3;" k="143" />
-<hkern u1="&#x2019;" u2="&#xc2;" k="143" />
-<hkern u1="&#x2019;" u2="&#xc1;" k="143" />
-<hkern u1="&#x2019;" u2="&#xc0;" k="143" />
-<hkern u1="&#x2019;" u2="u" k="61" />
-<hkern u1="&#x2019;" u2="s" k="61" />
-<hkern u1="&#x2019;" u2="r" k="61" />
-<hkern u1="&#x2019;" u2="q" k="123" />
-<hkern u1="&#x2019;" u2="p" k="61" />
-<hkern u1="&#x2019;" u2="o" k="123" />
-<hkern u1="&#x2019;" u2="n" k="61" />
-<hkern u1="&#x2019;" u2="m" k="61" />
-<hkern u1="&#x2019;" u2="g" k="61" />
-<hkern u1="&#x2019;" u2="e" k="123" />
-<hkern u1="&#x2019;" u2="d" k="123" />
-<hkern u1="&#x2019;" u2="c" k="123" />
-<hkern u1="&#x2019;" u2="a" k="82" />
-<hkern u1="&#x2019;" u2="Y" k="-20" />
-<hkern u1="&#x2019;" u2="W" k="-41" />
-<hkern u1="&#x2019;" u2="V" k="-41" />
-<hkern u1="&#x2019;" u2="T" k="-41" />
-<hkern u1="&#x2019;" u2="A" k="143" />
-<hkern u1="&#x201a;" u2="&#x178;" k="123" />
-<hkern u1="&#x201a;" u2="&#x152;" k="102" />
-<hkern u1="&#x201a;" u2="&#xdd;" k="123" />
-<hkern u1="&#x201a;" u2="&#xdc;" k="41" />
-<hkern u1="&#x201a;" u2="&#xdb;" k="41" />
-<hkern u1="&#x201a;" u2="&#xda;" k="41" />
-<hkern u1="&#x201a;" u2="&#xd9;" k="41" />
-<hkern u1="&#x201a;" u2="&#xd8;" k="102" />
-<hkern u1="&#x201a;" u2="&#xd6;" k="102" />
-<hkern u1="&#x201a;" u2="&#xd5;" k="102" />
-<hkern u1="&#x201a;" u2="&#xd4;" k="102" />
-<hkern u1="&#x201a;" u2="&#xd3;" k="102" />
-<hkern u1="&#x201a;" u2="&#xd2;" k="102" />
-<hkern u1="&#x201a;" u2="&#xc7;" k="102" />
-<hkern u1="&#x201a;" u2="Y" k="123" />
-<hkern u1="&#x201a;" u2="W" k="123" />
-<hkern u1="&#x201a;" u2="V" k="123" />
-<hkern u1="&#x201a;" u2="U" k="41" />
-<hkern u1="&#x201a;" u2="T" k="143" />
-<hkern u1="&#x201a;" u2="Q" k="102" />
-<hkern u1="&#x201a;" u2="O" k="102" />
-<hkern u1="&#x201a;" u2="G" k="102" />
-<hkern u1="&#x201a;" u2="C" k="102" />
-<hkern u1="&#x201c;" u2="&#x178;" k="-20" />
-<hkern u1="&#x201c;" u2="&#x153;" k="123" />
-<hkern u1="&#x201c;" u2="&#xfc;" k="61" />
-<hkern u1="&#x201c;" u2="&#xfb;" k="61" />
-<hkern u1="&#x201c;" u2="&#xfa;" k="61" />
-<hkern u1="&#x201c;" u2="&#xf9;" k="61" />
-<hkern u1="&#x201c;" u2="&#xf8;" k="123" />
-<hkern u1="&#x201c;" u2="&#xf6;" k="123" />
-<hkern u1="&#x201c;" u2="&#xf5;" k="123" />
-<hkern u1="&#x201c;" u2="&#xf4;" k="123" />
-<hkern u1="&#x201c;" u2="&#xf3;" k="123" />
-<hkern u1="&#x201c;" u2="&#xf2;" k="123" />
-<hkern u1="&#x201c;" u2="&#xeb;" k="123" />
-<hkern u1="&#x201c;" u2="&#xea;" k="123" />
-<hkern u1="&#x201c;" u2="&#xe9;" k="123" />
-<hkern u1="&#x201c;" u2="&#xe8;" k="123" />
-<hkern u1="&#x201c;" u2="&#xe7;" k="123" />
-<hkern u1="&#x201c;" u2="&#xe6;" k="82" />
-<hkern u1="&#x201c;" u2="&#xe5;" k="82" />
-<hkern u1="&#x201c;" u2="&#xe4;" k="82" />
-<hkern u1="&#x201c;" u2="&#xe3;" k="82" />
-<hkern u1="&#x201c;" u2="&#xe2;" k="82" />
-<hkern u1="&#x201c;" u2="&#xe1;" k="82" />
-<hkern u1="&#x201c;" u2="&#xe0;" k="123" />
-<hkern u1="&#x201c;" u2="&#xdd;" k="-20" />
-<hkern u1="&#x201c;" u2="&#xc5;" k="143" />
-<hkern u1="&#x201c;" u2="&#xc4;" k="143" />
-<hkern u1="&#x201c;" u2="&#xc3;" k="143" />
-<hkern u1="&#x201c;" u2="&#xc2;" k="143" />
-<hkern u1="&#x201c;" u2="&#xc1;" k="143" />
-<hkern u1="&#x201c;" u2="&#xc0;" k="143" />
-<hkern u1="&#x201c;" u2="u" k="61" />
-<hkern u1="&#x201c;" u2="s" k="61" />
-<hkern u1="&#x201c;" u2="r" k="61" />
-<hkern u1="&#x201c;" u2="q" k="123" />
-<hkern u1="&#x201c;" u2="p" k="61" />
-<hkern u1="&#x201c;" u2="o" k="123" />
-<hkern u1="&#x201c;" u2="n" k="61" />
-<hkern u1="&#x201c;" u2="m" k="61" />
-<hkern u1="&#x201c;" u2="g" k="61" />
-<hkern u1="&#x201c;" u2="e" k="123" />
-<hkern u1="&#x201c;" u2="d" k="123" />
-<hkern u1="&#x201c;" u2="c" k="123" />
-<hkern u1="&#x201c;" u2="a" k="82" />
-<hkern u1="&#x201c;" u2="Y" k="-20" />
-<hkern u1="&#x201c;" u2="W" k="-41" />
-<hkern u1="&#x201c;" u2="V" k="-41" />
-<hkern u1="&#x201c;" u2="T" k="-41" />
-<hkern u1="&#x201c;" u2="A" k="143" />
-<hkern u1="&#x201e;" u2="&#x178;" k="123" />
-<hkern u1="&#x201e;" u2="&#x152;" k="102" />
-<hkern u1="&#x201e;" u2="&#xdd;" k="123" />
-<hkern u1="&#x201e;" u2="&#xdc;" k="41" />
-<hkern u1="&#x201e;" u2="&#xdb;" k="41" />
-<hkern u1="&#x201e;" u2="&#xda;" k="41" />
-<hkern u1="&#x201e;" u2="&#xd9;" k="41" />
-<hkern u1="&#x201e;" u2="&#xd8;" k="102" />
-<hkern u1="&#x201e;" u2="&#xd6;" k="102" />
-<hkern u1="&#x201e;" u2="&#xd5;" k="102" />
-<hkern u1="&#x201e;" u2="&#xd4;" k="102" />
-<hkern u1="&#x201e;" u2="&#xd3;" k="102" />
-<hkern u1="&#x201e;" u2="&#xd2;" k="102" />
-<hkern u1="&#x201e;" u2="&#xc7;" k="102" />
-<hkern u1="&#x201e;" u2="Y" k="123" />
-<hkern u1="&#x201e;" u2="W" k="123" />
-<hkern u1="&#x201e;" u2="V" k="123" />
-<hkern u1="&#x201e;" u2="U" k="41" />
-<hkern u1="&#x201e;" u2="T" k="143" />
-<hkern u1="&#x201e;" u2="Q" k="102" />
-<hkern u1="&#x201e;" u2="O" k="102" />
-<hkern u1="&#x201e;" u2="G" k="102" />
-<hkern u1="&#x201e;" u2="C" k="102" />
-<hkern g1="uniFB00" u2="&#x201d;" k="-123" />
-<hkern g1="uniFB00" u2="&#x2019;" k="-123" />
-<hkern g1="uniFB00" u2="&#x27;" k="-123" />
-<hkern g1="uniFB00" u2="&#x22;" k="-123" />
-</font>
-</defs></svg> \ No newline at end of file
diff --git a/documentation/jsapi/fonts/OpenSans-LightItalic-webfont.woff b/documentation/jsapi/fonts/OpenSans-LightItalic-webfont.woff
deleted file mode 100644
index 43e8b9e6cc..0000000000
--- a/documentation/jsapi/fonts/OpenSans-LightItalic-webfont.woff
+++ /dev/null
Binary files differ
diff --git a/documentation/jsapi/fonts/OpenSans-Regular-webfont.eot b/documentation/jsapi/fonts/OpenSans-Regular-webfont.eot
deleted file mode 100644
index 6bbc3cf58c..0000000000
--- a/documentation/jsapi/fonts/OpenSans-Regular-webfont.eot
+++ /dev/null
Binary files differ
diff --git a/documentation/jsapi/fonts/OpenSans-Regular-webfont.svg b/documentation/jsapi/fonts/OpenSans-Regular-webfont.svg
deleted file mode 100644
index 25a3952340..0000000000
--- a/documentation/jsapi/fonts/OpenSans-Regular-webfont.svg
+++ /dev/null
@@ -1,1831 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
-<svg xmlns="http://www.w3.org/2000/svg">
-<metadata></metadata>
-<defs>
-<font id="open_sansregular" horiz-adv-x="1171" >
-<font-face units-per-em="2048" ascent="1638" descent="-410" />
-<missing-glyph horiz-adv-x="532" />
-<glyph unicode="&#xfb01;" horiz-adv-x="1212" d="M29 0zM670 967h-279v-967h-166v967h-196v75l196 60v61q0 404 353 404q87 0 204 -35l-43 -133q-96 31 -164 31q-94 0 -139 -62.5t-45 -200.5v-71h279v-129zM1036 0h-166v1096h166v-1096zM856 1393q0 57 28 83.5t70 26.5q40 0 69 -27t29 -83t-29 -83.5t-69 -27.5 q-42 0 -70 27.5t-28 83.5z" />
-<glyph unicode="&#xfb02;" horiz-adv-x="1212" d="M29 0zM670 967h-279v-967h-166v967h-196v75l196 60v61q0 404 353 404q87 0 204 -35l-43 -133q-96 31 -164 31q-94 0 -139 -62.5t-45 -200.5v-71h279v-129zM1036 0h-166v1556h166v-1556z" />
-<glyph unicode="&#xfb03;" horiz-adv-x="1909" d="M29 0zM1358 967h-279v-967h-166v967h-196v75l196 60v61q0 404 353 404q87 0 204 -35l-43 -133q-96 31 -164 31q-94 0 -139 -62.5t-45 -200.5v-71h279v-129zM670 967h-279v-967h-166v967h-196v75l196 60v61q0 404 353 404q87 0 204 -35l-43 -133q-96 31 -164 31 q-94 0 -139 -62.5t-45 -200.5v-71h279v-129zM1731 0h-166v1096h166v-1096zM1551 1393q0 57 28 83.5t70 26.5q40 0 69 -27t29 -83t-29 -83.5t-69 -27.5q-42 0 -70 27.5t-28 83.5z" />
-<glyph unicode="&#xfb04;" horiz-adv-x="1909" d="M29 0zM1358 967h-279v-967h-166v967h-196v75l196 60v61q0 404 353 404q87 0 204 -35l-43 -133q-96 31 -164 31q-94 0 -139 -62.5t-45 -200.5v-71h279v-129zM670 967h-279v-967h-166v967h-196v75l196 60v61q0 404 353 404q87 0 204 -35l-43 -133q-96 31 -164 31 q-94 0 -139 -62.5t-45 -200.5v-71h279v-129zM1731 0h-166v1556h166v-1556z" />
-<glyph horiz-adv-x="2048" />
-<glyph horiz-adv-x="2048" />
-<glyph unicode="&#xd;" horiz-adv-x="1044" />
-<glyph unicode=" " horiz-adv-x="532" />
-<glyph unicode="&#x09;" horiz-adv-x="532" />
-<glyph unicode="&#xa0;" horiz-adv-x="532" />
-<glyph unicode="!" horiz-adv-x="547" d="M326 403h-105l-51 1059h207zM152 106q0 136 120 136q58 0 89.5 -35t31.5 -101q0 -64 -32 -99.5t-89 -35.5q-52 0 -86 31.5t-34 103.5z" />
-<glyph unicode="&#x22;" horiz-adv-x="821" d="M319 1462l-40 -528h-105l-41 528h186zM688 1462l-41 -528h-104l-41 528h186z" />
-<glyph unicode="#" horiz-adv-x="1323" d="M981 899l-66 -340h283v-129h-307l-84 -430h-137l84 430h-303l-82 -430h-136l80 430h-262v129h287l68 340h-277v127h299l82 436h139l-82 -436h305l84 436h134l-84 -436h264v-127h-289zM475 559h303l66 340h-303z" />
-<glyph unicode="$" d="M1036 449q0 -136 -102 -224.5t-285 -111.5v-232h-129v223q-112 0 -217 17.5t-172 48.5v156q83 -37 191.5 -60.5t197.5 -23.5v440q-205 65 -287.5 151t-82.5 222q0 131 101.5 215t268.5 102v182h129v-180q184 -5 355 -74l-52 -131q-149 59 -303 70v-434q157 -50 235 -97.5 t115 -109t37 -149.5zM866 436q0 72 -44.5 116.5t-172.5 88.5v-389q217 30 217 184zM319 1057q0 -76 45 -122t156 -87v387q-99 -16 -150 -62.5t-51 -115.5z" />
-<glyph unicode="%" horiz-adv-x="1686" d="M242 1026q0 -170 37 -255t120 -85q164 0 164 340q0 338 -164 338q-83 0 -120 -84t-37 -254zM700 1026q0 -228 -76.5 -344.5t-224.5 -116.5q-140 0 -217.5 119t-77.5 342q0 227 74.5 342t220.5 115q145 0 223 -119t78 -338zM1122 440q0 -171 37 -255.5t121 -84.5t124 83.5 t40 256.5q0 171 -40 253.5t-124 82.5t-121 -82.5t-37 -253.5zM1581 440q0 -227 -76.5 -343.5t-224.5 -116.5q-142 0 -218.5 119t-76.5 341q0 227 74.5 342t220.5 115q142 0 221.5 -117.5t79.5 -339.5zM1323 1462l-811 -1462h-147l811 1462h147z" />
-<glyph unicode="&#x26;" horiz-adv-x="1495" d="M414 1171q0 -69 36 -131.5t123 -150.5q129 75 179.5 138.5t50.5 146.5q0 77 -51.5 125.5t-137.5 48.5q-89 0 -144.5 -48t-55.5 -129zM569 129q241 0 400 154l-437 424q-111 -68 -157 -112.5t-68 -95.5t-22 -116q0 -117 77.5 -185.5t206.5 -68.5zM113 379q0 130 69.5 230 t249.5 202q-85 95 -115.5 144t-48.5 102t-18 110q0 150 98 234t273 84q162 0 255 -83.5t93 -232.5q0 -107 -68 -197.5t-225 -183.5l407 -391q56 62 89.5 145.5t56.5 182.5h168q-68 -286 -205 -434l299 -291h-229l-185 178q-118 -106 -240 -152t-272 -46q-215 0 -333.5 106 t-118.5 293z" />
-<glyph unicode="'" horiz-adv-x="453" d="M319 1462l-40 -528h-105l-41 528h186z" />
-<glyph unicode="(" horiz-adv-x="606" d="M82 561q0 265 77.5 496t223.5 405h162q-144 -193 -216.5 -424t-72.5 -475q0 -240 74 -469t213 -418h-160q-147 170 -224 397t-77 488z" />
-<glyph unicode=")" horiz-adv-x="606" d="M524 561q0 -263 -77.5 -490t-223.5 -395h-160q139 188 213 417.5t74 469.5q0 244 -72.5 475t-216.5 424h162q147 -175 224 -406.5t77 -494.5z" />
-<glyph unicode="*" horiz-adv-x="1130" d="M657 1556l-43 -395l398 111l26 -182l-381 -31l248 -326l-172 -94l-176 362l-160 -362l-176 94l242 326l-377 31l29 182l391 -111l-43 395h194z" />
-<glyph unicode="+" d="M653 791h412v-138h-412v-426h-139v426h-410v138h410v428h139v-428z" />
-<glyph unicode="," horiz-adv-x="502" d="M350 238l15 -23q-26 -100 -75 -232.5t-102 -246.5h-125q27 104 59.5 257t45.5 245h182z" />
-<glyph unicode="-" horiz-adv-x="659" d="M84 473v152h491v-152h-491z" />
-<glyph unicode="." horiz-adv-x="545" d="M152 106q0 67 30.5 101.5t87.5 34.5q58 0 90.5 -34.5t32.5 -101.5q0 -65 -33 -100t-90 -35q-51 0 -84.5 31.5t-33.5 103.5z" />
-<glyph unicode="/" horiz-adv-x="752" d="M731 1462l-545 -1462h-166l545 1462h166z" />
-<glyph unicode="0" d="M1069 733q0 -379 -119.5 -566t-365.5 -187q-236 0 -359 191.5t-123 561.5q0 382 119 567t363 185q238 0 361.5 -193t123.5 -559zM270 733q0 -319 75 -464.5t239 -145.5q166 0 240.5 147.5t74.5 462.5t-74.5 461.5t-240.5 146.5q-164 0 -239 -144.5t-75 -463.5z" />
-<glyph unicode="1" d="M715 0h-162v1042q0 130 8 246q-21 -21 -47 -44t-238 -195l-88 114l387 299h140v-1462z" />
-<glyph unicode="2" d="M1061 0h-961v143l385 387q176 178 232 254t84 148t28 155q0 117 -71 185.5t-197 68.5q-91 0 -172.5 -30t-181.5 -109l-88 113q202 168 440 168q206 0 323 -105.5t117 -283.5q0 -139 -78 -275t-292 -344l-320 -313v-8h752v-154z" />
-<glyph unicode="3" d="M1006 1118q0 -140 -78.5 -229t-222.5 -119v-8q176 -22 261 -112t85 -236q0 -209 -145 -321.5t-412 -112.5q-116 0 -212.5 17.5t-187.5 61.5v158q95 -47 202.5 -71.5t203.5 -24.5q379 0 379 297q0 266 -418 266h-144v143h146q171 0 271 75.5t100 209.5q0 107 -73.5 168 t-199.5 61q-96 0 -181 -26t-194 -96l-84 112q90 71 207.5 111.5t247.5 40.5q213 0 331 -97.5t118 -267.5z" />
-<glyph unicode="4" d="M1130 336h-217v-336h-159v336h-711v145l694 989h176v-983h217v-151zM754 487v486q0 143 10 323h-8q-48 -96 -90 -159l-457 -650h545z" />
-<glyph unicode="5" d="M557 893q231 0 363.5 -114.5t132.5 -313.5q0 -227 -144.5 -356t-398.5 -129q-247 0 -377 79v160q70 -45 174 -70.5t205 -25.5q176 0 273.5 83t97.5 240q0 306 -375 306q-95 0 -254 -29l-86 55l55 684h727v-153h-585l-37 -439q115 23 229 23z" />
-<glyph unicode="6" d="M117 625q0 431 167.5 644.5t495.5 213.5q113 0 178 -19v-143q-77 25 -176 25q-235 0 -359 -146.5t-136 -460.5h12q110 172 348 172q197 0 310.5 -119t113.5 -323q0 -228 -124.5 -358.5t-336.5 -130.5q-227 0 -360 170.5t-133 474.5zM608 121q142 0 220.5 89.5t78.5 258.5 q0 145 -73 228t-218 83q-90 0 -165 -37t-119.5 -102t-44.5 -135q0 -103 40 -192t113.5 -141t167.5 -52z" />
-<glyph unicode="7" d="M285 0l606 1309h-797v153h973v-133l-598 -1329h-184z" />
-<glyph unicode="8" d="M584 1483q200 0 317 -93t117 -257q0 -108 -67 -197t-214 -162q178 -85 253 -178.5t75 -216.5q0 -182 -127 -290.5t-348 -108.5q-234 0 -360 102.5t-126 290.5q0 251 306 391q-138 78 -198 168.5t-60 202.5q0 159 117.5 253.5t314.5 94.5zM268 369q0 -120 83.5 -187 t234.5 -67q149 0 232 70t83 192q0 97 -78 172.5t-272 146.5q-149 -64 -216 -141.5t-67 -185.5zM582 1348q-125 0 -196 -60t-71 -160q0 -92 59 -158t218 -132q143 60 202.5 129t59.5 161q0 101 -72.5 160.5t-199.5 59.5z" />
-<glyph unicode="9" d="M1061 838q0 -858 -664 -858q-116 0 -184 20v143q80 -26 182 -26q240 0 362.5 148.5t133.5 455.5h-12q-55 -83 -146 -126.5t-205 -43.5q-194 0 -308 116t-114 324q0 228 127.5 360t335.5 132q149 0 260.5 -76.5t171.5 -223t60 -345.5zM569 1341q-143 0 -221 -92t-78 -256 q0 -144 72 -226.5t219 -82.5q91 0 167.5 37t120.5 101t44 134q0 105 -41 194t-114.5 140t-168.5 51z" />
-<glyph unicode=":" horiz-adv-x="545" d="M152 106q0 67 30.5 101.5t87.5 34.5q58 0 90.5 -34.5t32.5 -101.5q0 -65 -33 -100t-90 -35q-51 0 -84.5 31.5t-33.5 103.5zM152 989q0 135 118 135q123 0 123 -135q0 -65 -33 -100t-90 -35q-51 0 -84.5 31.5t-33.5 103.5z" />
-<glyph unicode=";" horiz-adv-x="545" d="M350 238l15 -23q-26 -100 -75 -232.5t-102 -246.5h-125q27 104 59.5 257t45.5 245h182zM147 989q0 135 119 135q123 0 123 -135q0 -65 -33 -100t-90 -35q-58 0 -88.5 35t-30.5 100z" />
-<glyph unicode="&#x3c;" d="M1065 242l-961 422v98l961 479v-149l-782 -371l782 -328v-151z" />
-<glyph unicode="=" d="M119 858v137h930v-137h-930zM119 449v137h930v-137h-930z" />
-<glyph unicode="&#x3e;" d="M104 393l783 326l-783 373v149l961 -479v-98l-961 -422v151z" />
-<glyph unicode="?" horiz-adv-x="879" d="M289 403v54q0 117 36 192.5t134 159.5q136 115 171.5 173t35.5 140q0 102 -65.5 157.5t-188.5 55.5q-79 0 -154 -18.5t-172 -67.5l-59 135q189 99 395 99q191 0 297 -94t106 -265q0 -73 -19.5 -128.5t-57.5 -105t-164 -159.5q-101 -86 -133.5 -143t-32.5 -152v-33h-129z M240 106q0 136 120 136q58 0 89.5 -35t31.5 -101q0 -64 -32 -99.5t-89 -35.5q-52 0 -86 31.5t-34 103.5z" />
-<glyph unicode="@" horiz-adv-x="1841" d="M1720 729q0 -142 -44 -260t-124 -183t-184 -65q-86 0 -145 52t-70 133h-8q-40 -87 -114.5 -136t-176.5 -49q-150 0 -234.5 102.5t-84.5 278.5q0 204 118 331.5t310 127.5q68 0 154 -12.5t155 -34.5l-25 -470v-22q0 -178 133 -178q91 0 148 107.5t57 279.5q0 181 -74 317 t-210.5 209.5t-313.5 73.5q-223 0 -388 -92.5t-252 -264t-87 -396.5q0 -305 161 -469t464 -164q210 0 436 86v-133q-192 -84 -436 -84q-363 0 -563.5 199.5t-200.5 557.5q0 260 107 463t305 314.5t454 111.5q215 0 382.5 -90.5t259 -257t91.5 -383.5zM686 598 q0 -254 195 -254q207 0 225 313l14 261q-72 20 -157 20q-130 0 -203.5 -90t-73.5 -250z" />
-<glyph unicode="A" horiz-adv-x="1296" d="M1120 0l-182 465h-586l-180 -465h-172l578 1468h143l575 -1468h-176zM885 618l-170 453q-33 86 -68 211q-22 -96 -63 -211l-172 -453h473z" />
-<glyph unicode="B" horiz-adv-x="1327" d="M201 1462h413q291 0 421 -87t130 -275q0 -130 -72.5 -214.5t-211.5 -109.5v-10q333 -57 333 -350q0 -196 -132.5 -306t-370.5 -110h-510v1462zM371 836h280q180 0 259 56.5t79 190.5q0 123 -88 177.5t-280 54.5h-250v-479zM371 692v-547h305q177 0 266.5 68.5t89.5 214.5 q0 136 -91.5 200t-278.5 64h-291z" />
-<glyph unicode="C" horiz-adv-x="1292" d="M827 1331q-241 0 -380.5 -160.5t-139.5 -439.5q0 -287 134.5 -443.5t383.5 -156.5q153 0 349 55v-149q-152 -57 -375 -57q-323 0 -498.5 196t-175.5 557q0 226 84.5 396t244 262t375.5 92q230 0 402 -84l-72 -146q-166 78 -332 78z" />
-<glyph unicode="D" horiz-adv-x="1493" d="M1368 745q0 -362 -196.5 -553.5t-565.5 -191.5h-405v1462h448q341 0 530 -189t189 -528zM1188 739q0 286 -143.5 431t-426.5 145h-247v-1168h207q304 0 457 149.5t153 442.5z" />
-<glyph unicode="E" horiz-adv-x="1139" d="M1016 0h-815v1462h815v-151h-645v-471h606v-150h-606v-538h645v-152z" />
-<glyph unicode="F" horiz-adv-x="1057" d="M371 0h-170v1462h815v-151h-645v-535h606v-151h-606v-625z" />
-<glyph unicode="G" horiz-adv-x="1491" d="M844 766h497v-711q-116 -37 -236 -56t-278 -19q-332 0 -517 197.5t-185 553.5q0 228 91.5 399.5t263.5 262t403 90.5q234 0 436 -86l-66 -150q-198 84 -381 84q-267 0 -417 -159t-150 -441q0 -296 144.5 -449t424.5 -153q152 0 297 35v450h-327v152z" />
-<glyph unicode="H" horiz-adv-x="1511" d="M1311 0h-170v688h-770v-688h-170v1462h170v-622h770v622h170v-1462z" />
-<glyph unicode="I" horiz-adv-x="571" d="M201 0v1462h170v-1462h-170z" />
-<glyph unicode="J" horiz-adv-x="547" d="M-12 -385q-94 0 -148 27v145q71 -20 148 -20q99 0 150.5 60t51.5 173v1462h170v-1448q0 -190 -96 -294.5t-276 -104.5z" />
-<glyph unicode="K" horiz-adv-x="1257" d="M1257 0h-200l-533 709l-153 -136v-573h-170v1462h170v-725l663 725h201l-588 -635z" />
-<glyph unicode="L" horiz-adv-x="1063" d="M201 0v1462h170v-1308h645v-154h-815z" />
-<glyph unicode="M" horiz-adv-x="1849" d="M848 0l-496 1296h-8q14 -154 14 -366v-930h-157v1462h256l463 -1206h8l467 1206h254v-1462h-170v942q0 162 14 352h-8l-500 -1294h-137z" />
-<glyph unicode="N" horiz-adv-x="1544" d="M1343 0h-194l-799 1227h-8q16 -216 16 -396v-831h-157v1462h192l797 -1222h8q-2 27 -9 173.5t-5 209.5v839h159v-1462z" />
-<glyph unicode="O" horiz-adv-x="1595" d="M1470 733q0 -351 -177.5 -552t-493.5 -201q-323 0 -498.5 197.5t-175.5 557.5q0 357 176 553.5t500 196.5q315 0 492 -200t177 -552zM305 733q0 -297 126.5 -450.5t367.5 -153.5q243 0 367 153t124 451q0 295 -123.5 447.5t-365.5 152.5q-243 0 -369.5 -153.5 t-126.5 -446.5z" />
-<glyph unicode="P" horiz-adv-x="1233" d="M1128 1036q0 -222 -151.5 -341.5t-433.5 -119.5h-172v-575h-170v1462h379q548 0 548 -426zM371 721h153q226 0 327 73t101 234q0 145 -95 216t-296 71h-190v-594z" />
-<glyph unicode="Q" horiz-adv-x="1595" d="M1470 733q0 -281 -113 -467t-319 -252l348 -362h-247l-285 330l-55 -2q-323 0 -498.5 197.5t-175.5 557.5q0 357 176 553.5t500 196.5q315 0 492 -200t177 -552zM305 733q0 -297 126.5 -450.5t367.5 -153.5q243 0 367 153t124 451q0 295 -123.5 447.5t-365.5 152.5 q-243 0 -369.5 -153.5t-126.5 -446.5z" />
-<glyph unicode="R" horiz-adv-x="1266" d="M371 608v-608h-170v1462h401q269 0 397.5 -103t128.5 -310q0 -290 -294 -392l397 -657h-201l-354 608h-305zM371 754h233q180 0 264 71.5t84 214.5q0 145 -85.5 209t-274.5 64h-221v-559z" />
-<glyph unicode="S" horiz-adv-x="1124" d="M1026 389q0 -193 -140 -301t-380 -108q-260 0 -400 67v164q90 -38 196 -60t210 -22q170 0 256 64.5t86 179.5q0 76 -30.5 124.5t-102 89.5t-217.5 93q-204 73 -291.5 173t-87.5 261q0 169 127 269t336 100q218 0 401 -80l-53 -148q-181 76 -352 76q-135 0 -211 -58 t-76 -161q0 -76 28 -124.5t94.5 -89t203.5 -89.5q230 -82 316.5 -176t86.5 -244z" />
-<glyph unicode="T" horiz-adv-x="1133" d="M651 0h-170v1311h-463v151h1096v-151h-463v-1311z" />
-<glyph unicode="U" horiz-adv-x="1491" d="M1305 1462v-946q0 -250 -151 -393t-415 -143t-408.5 144t-144.5 396v942h170v-954q0 -183 100 -281t294 -98q185 0 285 98.5t100 282.5v952h170z" />
-<glyph unicode="V" horiz-adv-x="1219" d="M1036 1462h183l-527 -1462h-168l-524 1462h180l336 -946q58 -163 92 -317q36 162 94 323z" />
-<glyph unicode="W" horiz-adv-x="1896" d="M1477 0h-168l-295 979q-21 65 -47 164t-27 119q-22 -132 -70 -289l-286 -973h-168l-389 1462h180l231 -903q48 -190 70 -344q27 183 80 358l262 889h180l275 -897q48 -155 81 -350q19 142 72 346l230 901h180z" />
-<glyph unicode="X" horiz-adv-x="1182" d="M1174 0h-193l-393 643l-400 -643h-180l486 764l-453 698h188l363 -579l366 579h181l-453 -692z" />
-<glyph unicode="Y" horiz-adv-x="1147" d="M573 731l390 731h184l-488 -895v-567h-172v559l-487 903h186z" />
-<glyph unicode="Z" horiz-adv-x="1169" d="M1087 0h-1005v133l776 1176h-752v153h959v-133l-776 -1175h798v-154z" />
-<glyph unicode="[" horiz-adv-x="674" d="M623 -324h-457v1786h457v-141h-289v-1503h289v-142z" />
-<glyph unicode="\" horiz-adv-x="752" d="M186 1462l547 -1462h-166l-544 1462h163z" />
-<glyph unicode="]" horiz-adv-x="674" d="M51 -182h289v1503h-289v141h457v-1786h-457v142z" />
-<glyph unicode="^" horiz-adv-x="1110" d="M49 551l434 922h99l477 -922h-152l-372 745l-334 -745h-152z" />
-<glyph unicode="_" horiz-adv-x="918" d="M922 -315h-926v131h926v-131z" />
-<glyph unicode="`" horiz-adv-x="1182" d="M786 1241h-110q-65 52 -154 148t-129 159v21h203q32 -69 89 -159.5t101 -143.5v-25z" />
-<glyph unicode="a" horiz-adv-x="1139" d="M850 0l-33 156h-8q-82 -103 -163.5 -139.5t-203.5 -36.5q-163 0 -255.5 84t-92.5 239q0 332 531 348l186 6v68q0 129 -55.5 190.5t-177.5 61.5q-137 0 -310 -84l-51 127q81 44 177.5 69t193.5 25q196 0 290.5 -87t94.5 -279v-748h-123zM475 117q155 0 243.5 85t88.5 238 v99l-166 -7q-198 -7 -285.5 -61.5t-87.5 -169.5q0 -90 54.5 -137t152.5 -47z" />
-<glyph unicode="b" horiz-adv-x="1255" d="M686 1114q216 0 335.5 -147.5t119.5 -417.5t-120.5 -419.5t-334.5 -149.5q-107 0 -195.5 39.5t-148.5 121.5h-12l-35 -141h-119v1556h166v-378q0 -127 -8 -228h8q116 164 344 164zM662 975q-170 0 -245 -97.5t-75 -328.5t77 -330.5t247 -99.5q153 0 228 111.5t75 320.5 q0 214 -75 319t-232 105z" />
-<glyph unicode="c" horiz-adv-x="975" d="M614 -20q-238 0 -368.5 146.5t-130.5 414.5q0 275 132.5 425t377.5 150q79 0 158 -17t124 -40l-51 -141q-55 22 -120 36.5t-115 14.5q-334 0 -334 -426q0 -202 81.5 -310t241.5 -108q137 0 281 59v-147q-110 -57 -277 -57z" />
-<glyph unicode="d" horiz-adv-x="1255" d="M922 147h-9q-115 -167 -344 -167q-215 0 -334.5 147t-119.5 418t120 421t334 150q223 0 342 -162h13l-7 79l-4 77v446h166v-1556h-135zM590 119q170 0 246.5 92.5t76.5 298.5v35q0 233 -77.5 332.5t-247.5 99.5q-146 0 -223.5 -113.5t-77.5 -320.5q0 -210 77 -317 t226 -107z" />
-<glyph unicode="e" horiz-adv-x="1149" d="M639 -20q-243 0 -383.5 148t-140.5 411q0 265 130.5 421t350.5 156q206 0 326 -135.5t120 -357.5v-105h-755q5 -193 97.5 -293t260.5 -100q177 0 350 74v-148q-88 -38 -166.5 -54.5t-189.5 -16.5zM594 977q-132 0 -210.5 -86t-92.5 -238h573q0 157 -70 240.5t-200 83.5z " />
-<glyph unicode="f" horiz-adv-x="694" d="M670 967h-279v-967h-166v967h-196v75l196 60v61q0 404 353 404q87 0 204 -35l-43 -133q-96 31 -164 31q-94 0 -139 -62.5t-45 -200.5v-71h279v-129z" />
-<glyph unicode="g" horiz-adv-x="1122" d="M1073 1096v-105l-203 -24q28 -35 50 -91.5t22 -127.5q0 -161 -110 -257t-302 -96q-49 0 -92 8q-106 -56 -106 -141q0 -45 37 -66.5t127 -21.5h194q178 0 273.5 -75t95.5 -218q0 -182 -146 -277.5t-426 -95.5q-215 0 -331.5 80t-116.5 226q0 100 64 173t180 99 q-42 19 -70.5 59t-28.5 93q0 60 32 105t101 87q-85 35 -138.5 119t-53.5 192q0 180 108 277.5t306 97.5q86 0 155 -20h379zM199 -184q0 -89 75 -135t215 -46q209 0 309.5 62.5t100.5 169.5q0 89 -55 123.5t-207 34.5h-199q-113 0 -176 -54t-63 -155zM289 745q0 -115 65 -174 t181 -59q243 0 243 236q0 247 -246 247q-117 0 -180 -63t-63 -187z" />
-<glyph unicode="h" horiz-adv-x="1257" d="M926 0v709q0 134 -61 200t-191 66q-173 0 -252.5 -94t-79.5 -308v-573h-166v1556h166v-471q0 -85 -8 -141h10q49 79 139.5 124.5t206.5 45.5q201 0 301.5 -95.5t100.5 -303.5v-715h-166z" />
-<glyph unicode="i" horiz-adv-x="518" d="M342 0h-166v1096h166v-1096zM162 1393q0 57 28 83.5t70 26.5q40 0 69 -27t29 -83t-29 -83.5t-69 -27.5q-42 0 -70 27.5t-28 83.5z" />
-<glyph unicode="j" horiz-adv-x="518" d="M43 -492q-95 0 -154 25v135q69 -20 136 -20q78 0 114.5 42.5t36.5 129.5v1276h166v-1264q0 -324 -299 -324zM162 1393q0 57 28 83.5t70 26.5q40 0 69 -27t29 -83t-29 -83.5t-69 -27.5q-42 0 -70 27.5t-28 83.5z" />
-<glyph unicode="k" horiz-adv-x="1075" d="M340 561q43 61 131 160l354 375h197l-444 -467l475 -629h-201l-387 518l-125 -108v-410h-164v1556h164v-825q0 -55 -8 -170h8z" />
-<glyph unicode="l" horiz-adv-x="518" d="M342 0h-166v1556h166v-1556z" />
-<glyph unicode="m" horiz-adv-x="1905" d="M1573 0v713q0 131 -56 196.5t-174 65.5q-155 0 -229 -89t-74 -274v-612h-166v713q0 131 -56 196.5t-175 65.5q-156 0 -228.5 -93.5t-72.5 -306.5v-575h-166v1096h135l27 -150h8q47 80 132.5 125t191.5 45q257 0 336 -186h8q49 86 142 136t212 50q186 0 278.5 -95.5 t92.5 -305.5v-715h-166z" />
-<glyph unicode="n" horiz-adv-x="1257" d="M926 0v709q0 134 -61 200t-191 66q-172 0 -252 -93t-80 -307v-575h-166v1096h135l27 -150h8q51 81 143 125.5t205 44.5q198 0 298 -95.5t100 -305.5v-715h-166z" />
-<glyph unicode="o" horiz-adv-x="1237" d="M1122 549q0 -268 -135 -418.5t-373 -150.5q-147 0 -261 69t-176 198t-62 302q0 268 134 417.5t372 149.5q230 0 365.5 -153t135.5 -414zM287 549q0 -210 84 -320t247 -110t247.5 109.5t84.5 320.5q0 209 -84.5 317.5t-249.5 108.5q-163 0 -246 -107t-83 -319z" />
-<glyph unicode="p" horiz-adv-x="1255" d="M686 -20q-107 0 -195.5 39.5t-148.5 121.5h-12q12 -96 12 -182v-451h-166v1588h135l23 -150h8q64 90 149 130t195 40q218 0 336.5 -149t118.5 -418q0 -270 -120.5 -419.5t-334.5 -149.5zM662 975q-168 0 -243 -93t-77 -296v-37q0 -231 77 -330.5t247 -99.5 q142 0 222.5 115t80.5 317q0 205 -80.5 314.5t-226.5 109.5z" />
-<glyph unicode="q" horiz-adv-x="1255" d="M590 119q166 0 242 89t81 300v37q0 230 -78 331t-247 101q-146 0 -223.5 -113.5t-77.5 -320.5t76.5 -315.5t226.5 -108.5zM565 -20q-212 0 -331 149t-119 416q0 269 120 420t334 151q225 0 346 -170h9l24 150h131v-1588h-166v469q0 100 11 170h-13q-115 -167 -346 -167z " />
-<glyph unicode="r" horiz-adv-x="836" d="M676 1116q73 0 131 -12l-23 -154q-68 15 -120 15q-133 0 -227.5 -108t-94.5 -269v-588h-166v1096h137l19 -203h8q61 107 147 165t189 58z" />
-<glyph unicode="s" horiz-adv-x="977" d="M883 299q0 -153 -114 -236t-320 -83q-218 0 -340 69v154q79 -40 169.5 -63t174.5 -23q130 0 200 41.5t70 126.5q0 64 -55.5 109.5t-216.5 107.5q-153 57 -217.5 99.5t-96 96.5t-31.5 129q0 134 109 211.5t299 77.5q177 0 346 -72l-59 -135q-165 68 -299 68 q-118 0 -178 -37t-60 -102q0 -44 22.5 -75t72.5 -59t192 -81q195 -71 263.5 -143t68.5 -181z" />
-<glyph unicode="t" horiz-adv-x="723" d="M530 117q44 0 85 6.5t65 13.5v-127q-27 -13 -79.5 -21.5t-94.5 -8.5q-318 0 -318 335v652h-157v80l157 69l70 234h96v-254h318v-129h-318v-645q0 -99 47 -152t129 -53z" />
-<glyph unicode="u" horiz-adv-x="1257" d="M332 1096v-711q0 -134 61 -200t191 -66q172 0 251.5 94t79.5 307v576h166v-1096h-137l-24 147h-9q-51 -81 -141.5 -124t-206.5 -43q-200 0 -299.5 95t-99.5 304v717h168z" />
-<glyph unicode="v" horiz-adv-x="1026" d="M416 0l-416 1096h178l236 -650q80 -228 94 -296h8q11 53 69.5 219.5t262.5 726.5h178l-416 -1096h-194z" />
-<glyph unicode="w" horiz-adv-x="1593" d="M1071 0l-201 643q-19 59 -71 268h-8q-40 -175 -70 -270l-207 -641h-192l-299 1096h174q106 -413 161.5 -629t63.5 -291h8q11 57 35.5 147.5t42.5 143.5l201 629h180l196 -629q56 -172 76 -289h8q4 36 21.5 111t208.5 807h172l-303 -1096h-197z" />
-<glyph unicode="x" horiz-adv-x="1073" d="M440 561l-381 535h189l289 -420l288 420h187l-381 -535l401 -561h-188l-307 444l-310 -444h-188z" />
-<glyph unicode="y" horiz-adv-x="1032" d="M2 1096h178l240 -625q79 -214 98 -309h8q13 51 54.5 174.5t271.5 759.5h178l-471 -1248q-70 -185 -163.5 -262.5t-229.5 -77.5q-76 0 -150 17v133q55 -12 123 -12q171 0 244 192l61 156z" />
-<glyph unicode="z" horiz-adv-x="958" d="M877 0h-795v113l598 854h-561v129h743v-129l-590 -838h605v-129z" />
-<glyph unicode="{" horiz-adv-x="776" d="M475 12q0 -102 58.5 -148t171.5 -48v-140q-190 2 -294 87t-104 239v303q0 104 -63 148.5t-183 44.5v141q130 2 188 48t58 142v306q0 155 108 241t290 86v-139q-230 -6 -230 -199v-295q0 -215 -223 -254v-12q223 -39 223 -254v-297z" />
-<glyph unicode="|" horiz-adv-x="1128" d="M494 1556h141v-2052h-141v2052z" />
-<glyph unicode="}" horiz-adv-x="776" d="M522 575q-223 39 -223 254v295q0 193 -227 199v139q184 0 289.5 -87t105.5 -240v-306q0 -97 59 -142.5t189 -47.5v-141q-122 0 -185 -44.5t-63 -148.5v-303q0 -153 -102.5 -238.5t-292.5 -87.5v140q111 2 169 48t58 148v297q0 114 55 174t168 80v12z" />
-<glyph unicode="~" d="M338 713q-53 0 -116.5 -33.5t-117.5 -87.5v151q100 109 244 109q68 0 124.5 -14t145.5 -52q66 -28 115 -41.5t96 -13.5q54 0 118 32t118 89v-150q-102 -110 -244 -110q-72 0 -135 16.5t-135 48.5q-75 32 -120 44t-93 12z" />
-<glyph unicode="&#xa1;" horiz-adv-x="547" d="M219 684h105l51 -1057h-207zM393 983q0 -135 -121 -135q-60 0 -90 35.5t-30 99.5q0 63 31.5 99t88.5 36q51 0 86 -32t35 -103z" />
-<glyph unicode="&#xa2;" d="M971 240q-105 -54 -252 -60v-200h-133v206q-203 32 -299.5 168.5t-96.5 386.5q0 508 396 570v172h135v-164q75 -3 146 -19.5t120 -39.5l-49 -140q-133 51 -242 51q-172 0 -253 -105.5t-81 -322.5q0 -212 79.5 -313.5t246.5 -101.5q141 0 283 59v-147z" />
-<glyph unicode="&#xa3;" d="M682 1481q190 0 360 -84l-61 -133q-154 77 -297 77q-123 0 -185.5 -62t-62.5 -202v-295h422v-127h-422v-221q0 -100 -32.5 -168t-106.5 -112h795v-154h-1029v141q205 47 205 291v223h-198v127h198v316q0 178 112 280.5t302 102.5z" />
-<glyph unicode="&#xa4;" d="M184 723q0 122 74 229l-135 140l94 92l135 -133q104 73 234 73q127 0 229 -73l137 133l95 -92l-134 -138q74 -113 74 -231q0 -131 -74 -234l131 -135l-92 -92l-137 133q-102 -71 -229 -71q-134 0 -234 73l-135 -133l-92 92l133 136q-74 107 -74 231zM313 723 q0 -112 78.5 -192t194.5 -80t195 79.5t79 192.5q0 114 -80 195t-194 81q-116 0 -194.5 -82t-78.5 -194z" />
-<glyph unicode="&#xa5;" d="M584 735l379 727h174l-416 -770h262v-127h-317v-170h317v-127h-317v-268h-164v268h-316v127h316v170h-316v127h256l-411 770h178z" />
-<glyph unicode="&#xa6;" horiz-adv-x="1128" d="M494 1556h141v-776h-141v776zM494 281h141v-777h-141v777z" />
-<glyph unicode="&#xa7;" horiz-adv-x="1057" d="M139 809q0 86 43 154.5t121 105.5q-74 40 -116 95.5t-42 140.5q0 121 103.5 190.5t300.5 69.5q94 0 173.5 -14.5t176.5 -53.5l-53 -131q-98 39 -165.5 52.5t-143.5 13.5q-116 0 -174 -29.5t-58 -93.5q0 -60 61.5 -102t215.5 -97q186 -68 261 -143.5t75 -182.5 q0 -90 -41 -160.5t-115 -111.5q153 -81 153 -227q0 -140 -117 -216.5t-329 -76.5q-218 0 -346 65v148q78 -37 175 -59.5t179 -22.5q134 0 204.5 38t70.5 109q0 46 -24 75t-78 58t-169 72q-142 52 -209 97t-100 102t-33 135zM285 829q0 -77 66 -129.5t233 -113.5l49 -19 q137 80 137 191q0 83 -73.5 139t-258.5 113q-68 -19 -110.5 -69t-42.5 -112z" />
-<glyph unicode="&#xa8;" horiz-adv-x="1182" d="M309 1393q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5zM690 1393q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" />
-<glyph unicode="&#xa9;" horiz-adv-x="1704" d="M893 1059q-125 0 -192.5 -87t-67.5 -241q0 -168 63.5 -249t194.5 -81q86 0 211 45v-124q-48 -20 -98.5 -34t-120.5 -14q-194 0 -298 120.5t-104 336.5q0 209 110.5 332t301.5 123q128 0 246 -60l-58 -118q-108 51 -188 51zM100 731q0 200 100 375t275 276t377 101 q200 0 375 -100t276 -275t101 -377q0 -197 -97 -370t-272 -277t-383 -104q-207 0 -382 103.5t-272.5 276.5t-97.5 371zM205 731q0 -173 87 -323.5t237.5 -237t322.5 -86.5q174 0 323 87t236.5 235.5t87.5 324.5q0 174 -87 323t-235.5 236.5t-324.5 87.5q-174 0 -323 -87 t-236.5 -235.5t-87.5 -324.5z" />
-<glyph unicode="&#xaa;" horiz-adv-x="725" d="M532 801l-24 84q-92 -97 -232 -97q-95 0 -150.5 49.5t-55.5 151.5t77 154.5t242 58.5l117 4v39q0 133 -148 133q-100 0 -204 -51l-43 96q114 56 247 56q130 0 198.5 -52.5t68.5 -173.5v-452h-93zM193 989q0 -100 112 -100q201 0 201 180v49l-98 -4q-112 -4 -163.5 -32.5 t-51.5 -92.5z" />
-<glyph unicode="&#xab;" horiz-adv-x="1018" d="M82 551l342 407l119 -69l-289 -350l289 -351l-119 -71l-342 407v27zM477 551l344 407l117 -69l-287 -350l287 -351l-117 -71l-344 407v27z" />
-<glyph unicode="&#xac;" d="M1065 791v-527h-137v389h-824v138h961z" />
-<glyph unicode="&#xad;" horiz-adv-x="659" d="M84 473zM84 473v152h491v-152h-491z" />
-<glyph unicode="&#xae;" horiz-adv-x="1704" d="M723 762h108q80 0 128.5 41.5t48.5 105.5q0 75 -43 107.5t-136 32.5h-106v-287zM1157 913q0 -80 -42.5 -141.5t-119.5 -91.5l238 -395h-168l-207 354h-135v-354h-148v891h261q166 0 243.5 -65t77.5 -198zM100 731q0 200 100 375t275 276t377 101q200 0 375 -100t276 -275 t101 -377q0 -197 -97 -370t-272 -277t-383 -104q-207 0 -382 103.5t-272.5 276.5t-97.5 371zM205 731q0 -173 87 -323.5t237.5 -237t322.5 -86.5q174 0 323 87t236.5 235.5t87.5 324.5q0 174 -87 323t-235.5 236.5t-324.5 87.5q-174 0 -323 -87t-236.5 -235.5t-87.5 -324.5z " />
-<glyph unicode="&#xaf;" horiz-adv-x="1024" d="M1030 1556h-1036v127h1036v-127z" />
-<glyph unicode="&#xb0;" horiz-adv-x="877" d="M127 1171q0 130 90.5 221t220.5 91t221 -90.5t91 -221.5q0 -84 -41 -155.5t-114 -113.5t-157 -42q-130 0 -220.5 90t-90.5 221zM242 1171q0 -82 58.5 -139t139.5 -57q80 0 137.5 56.5t57.5 139.5q0 84 -56.5 140.5t-138.5 56.5q-83 0 -140.5 -57t-57.5 -140z" />
-<glyph unicode="&#xb1;" d="M104 1zM653 791h412v-138h-412v-426h-139v426h-410v138h410v428h139v-428zM104 1v138h961v-138h-961z" />
-<glyph unicode="&#xb2;" horiz-adv-x="711" d="M653 586h-604v104l236 230q89 86 130 134.5t57.5 86.5t16.5 92q0 68 -40 102.5t-103 34.5q-52 0 -101 -19t-118 -69l-66 88q131 111 283 111q132 0 205.5 -65t73.5 -177q0 -80 -44.5 -155.5t-191.5 -213.5l-174 -165h440v-119z" />
-<glyph unicode="&#xb3;" horiz-adv-x="711" d="M627 1255q0 -80 -41 -131.5t-109 -74.5q176 -47 176 -209q0 -128 -92 -199.5t-260 -71.5q-152 0 -268 56v123q147 -68 270 -68q211 0 211 162q0 145 -231 145h-117v107h119q103 0 152.5 39.5t49.5 107.5q0 61 -40 95t-107 34q-66 0 -122 -21.5t-112 -56.5l-69 90 q63 45 133 72t164 27q136 0 214.5 -59.5t78.5 -166.5z" />
-<glyph unicode="&#xb4;" horiz-adv-x="1182" d="M393 1266q48 62 103.5 150t87.5 153h202v-21q-44 -65 -131 -160t-151 -147h-111v25z" />
-<glyph unicode="&#xb5;" horiz-adv-x="1268" d="M342 381q0 -262 254 -262q171 0 250.5 94.5t79.5 306.5v576h166v-1096h-136l-26 147h-10q-111 -167 -340 -167q-150 0 -238 92h-10q10 -84 10 -244v-320h-166v1588h166v-715z" />
-<glyph unicode="&#xb6;" horiz-adv-x="1341" d="M1120 -260h-114v1712h-213v-1712h-115v819q-62 -18 -146 -18q-216 0 -317.5 125t-101.5 376q0 260 109 387t341 127h557v-1816z" />
-<glyph unicode="&#xb7;" horiz-adv-x="545" d="M152 723q0 66 31 100.5t87 34.5q58 0 90.5 -34.5t32.5 -100.5q0 -65 -33 -100t-90 -35q-51 0 -84.5 31.5t-33.5 103.5z" />
-<glyph unicode="&#xb8;" horiz-adv-x="465" d="M436 -289q0 -97 -76.5 -150t-226.5 -53q-51 0 -96 9v106q45 -8 104 -8q79 0 119.5 20t40.5 74q0 43 -39.5 69.5t-148.5 43.5l88 178h110l-55 -115q180 -39 180 -174z" />
-<glyph unicode="&#xb9;" horiz-adv-x="711" d="M338 1462h143v-876h-133v579q0 91 6 181q-22 -22 -49 -44.5t-162 -117.5l-67 96z" />
-<glyph unicode="&#xba;" horiz-adv-x="768" d="M702 1135q0 -164 -85.5 -255.5t-235.5 -91.5q-146 0 -230.5 93t-84.5 254q0 163 84 253.5t235 90.5q152 0 234.5 -91t82.5 -253zM188 1135q0 -122 45.5 -183t149.5 -61q105 0 151 61t46 183q0 123 -46 182t-151 59q-103 0 -149 -59t-46 -182z" />
-<glyph unicode="&#xbb;" horiz-adv-x="1018" d="M936 524l-344 -407l-117 71l287 351l-287 350l117 69l344 -407v-27zM541 524l-344 -407l-117 71l287 351l-287 350l117 69l344 -407v-27z" />
-<glyph unicode="&#xbc;" horiz-adv-x="1597" d="M75 0zM1298 1462l-903 -1462h-143l903 1462h143zM337 1462h143v-876h-133v579q0 91 6 181q-22 -22 -49 -44.5t-162 -117.5l-67 96zM1489 203h-125v-202h-145v202h-402v101l408 579h139v-563h125v-117zM1219 320v195q0 134 6 209q-5 -12 -17 -31.5t-27 -42l-30 -45 t-26 -39.5l-168 -246h262z" />
-<glyph unicode="&#xbd;" horiz-adv-x="1597" d="M46 0zM1230 1462l-903 -1462h-143l903 1462h143zM308 1462h143v-876h-133v579q0 91 6 181q-22 -22 -49 -44.5t-162 -117.5l-67 96zM1499 1h-604v104l236 230q89 86 130 134.5t57.5 86.5t16.5 92q0 68 -40 102.5t-103 34.5q-52 0 -101 -19t-118 -69l-66 88 q131 111 283 111q132 0 205.5 -65t73.5 -177q0 -80 -44.5 -155.5t-191.5 -213.5l-174 -165h440v-119z" />
-<glyph unicode="&#xbe;" horiz-adv-x="1597" d="M26 0zM620 1255q0 -80 -41 -131.5t-109 -74.5q176 -47 176 -209q0 -128 -92 -199.5t-260 -71.5q-152 0 -268 56v123q147 -68 270 -68q211 0 211 162q0 145 -231 145h-117v107h119q103 0 152.5 39.5t49.5 107.5q0 61 -40 95t-107 34q-66 0 -122 -21.5t-112 -56.5l-69 90 q63 45 133 72t164 27q136 0 214.5 -59.5t78.5 -166.5zM1390 1462l-903 -1462h-143l903 1462h143zM1569 203h-125v-202h-145v202h-402v101l408 579h139v-563h125v-117zM1299 320v195q0 134 6 209q-5 -12 -17 -31.5t-27 -42l-30 -45t-26 -39.5l-168 -246h262z" />
-<glyph unicode="&#xbf;" horiz-adv-x="879" d="M590 684v-51q0 -122 -37.5 -196t-134.5 -158q-121 -106 -151.5 -143.5t-43 -76t-12.5 -94.5q0 -100 66 -156.5t188 -56.5q80 0 155 19t173 67l59 -135q-197 -96 -395 -96q-190 0 -298 93t-108 263q0 70 17.5 122.5t49.5 97t76.5 85.5t98.5 88q101 88 133.5 146t32.5 151 v31h131zM639 983q0 -135 -121 -135q-59 0 -90 34.5t-31 100.5q0 64 33 99.5t88 35.5q51 0 86 -32t35 -103z" />
-<glyph unicode="&#xc0;" horiz-adv-x="1296" d="M0 0zM1120 0l-182 465h-586l-180 -465h-172l578 1468h143l575 -1468h-176zM885 618l-170 453q-33 86 -68 211q-22 -96 -63 -211l-172 -453h473zM724 1579h-110q-65 52 -154 148t-129 159v21h203q32 -69 89 -159.5t101 -143.5v-25z" />
-<glyph unicode="&#xc1;" horiz-adv-x="1296" d="M0 0zM1120 0l-182 465h-586l-180 -465h-172l578 1468h143l575 -1468h-176zM885 618l-170 453q-33 86 -68 211q-22 -96 -63 -211l-172 -453h473zM526 1604q48 62 103.5 150t87.5 153h202v-21q-44 -65 -131 -160t-151 -147h-111v25z" />
-<glyph unicode="&#xc2;" horiz-adv-x="1296" d="M0 0zM1120 0l-182 465h-586l-180 -465h-172l578 1468h143l575 -1468h-176zM885 618l-170 453q-33 86 -68 211q-22 -96 -63 -211l-172 -453h473zM303 1602q127 136 178 200t74 105h166q22 -42 76.5 -108.5t179.5 -196.5v-23h-119q-88 55 -221 186q-136 -134 -219 -186 h-115v23z" />
-<glyph unicode="&#xc3;" horiz-adv-x="1296" d="M0 0zM1120 0l-182 465h-586l-180 -465h-172l578 1468h143l575 -1468h-176zM885 618l-170 453q-33 86 -68 211q-22 -96 -63 -211l-172 -453h473zM792 1581q-43 0 -84 18.5t-80.5 41t-76 41t-70.5 18.5q-50 0 -75.5 -30t-39.5 -91h-98q13 121 70.5 189.5t148.5 68.5 q46 0 89 -18.5t82 -41t75 -41t68 -18.5q49 0 73 29.5t39 91.5h99q-13 -121 -69.5 -189.5t-150.5 -68.5z" />
-<glyph unicode="&#xc4;" horiz-adv-x="1296" d="M0 0zM1120 0l-182 465h-586l-180 -465h-172l578 1468h143l575 -1468h-176zM885 618l-170 453q-33 86 -68 211q-22 -96 -63 -211l-172 -453h473zM364 1731q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5z M745 1731q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" />
-<glyph unicode="&#xc5;" horiz-adv-x="1296" d="M0 0zM1120 0l-182 465h-586l-180 -465h-172l578 1468h143l575 -1468h-176zM885 618l-170 453q-33 86 -68 211q-22 -96 -63 -211l-172 -453h473zM870 1587q0 -98 -61.5 -157.5t-163.5 -59.5q-101 0 -161 58.5t-60 156.5t60.5 155.5t160.5 57.5q101 0 163 -59.5t62 -151.5z M762 1585q0 56 -33 86.5t-84 30.5t-84 -30.5t-33 -86.5t30 -86.5t87 -30.5q52 0 84.5 30.5t32.5 86.5z" />
-<glyph unicode="&#xc6;" horiz-adv-x="1788" d="M1665 0h-750v465h-514l-227 -465h-176l698 1462h969v-151h-580v-471h541v-150h-541v-538h580v-152zM469 618h446v693h-118z" />
-<glyph unicode="&#xc7;" horiz-adv-x="1292" d="M125 0zM827 1331q-241 0 -380.5 -160.5t-139.5 -439.5q0 -287 134.5 -443.5t383.5 -156.5q153 0 349 55v-149q-152 -57 -375 -57q-323 0 -498.5 196t-175.5 557q0 226 84.5 396t244 262t375.5 92q230 0 402 -84l-72 -146q-166 78 -332 78zM950 -289q0 -97 -76.5 -150 t-226.5 -53q-51 0 -96 9v106q45 -8 104 -8q79 0 119.5 20t40.5 74q0 43 -39.5 69.5t-148.5 43.5l88 178h110l-55 -115q180 -39 180 -174z" />
-<glyph unicode="&#xc8;" horiz-adv-x="1139" d="M201 0zM1016 0h-815v1462h815v-151h-645v-471h606v-150h-606v-538h645v-152zM713 1579h-110q-65 52 -154 148t-129 159v21h203q32 -69 89 -159.5t101 -143.5v-25z" />
-<glyph unicode="&#xc9;" horiz-adv-x="1139" d="M201 0zM1016 0h-815v1462h815v-151h-645v-471h606v-150h-606v-538h645v-152zM456 1604q48 62 103.5 150t87.5 153h202v-21q-44 -65 -131 -160t-151 -147h-111v25z" />
-<glyph unicode="&#xca;" horiz-adv-x="1139" d="M201 0zM1016 0h-815v1462h815v-151h-645v-471h606v-150h-606v-538h645v-152zM263 1602q127 136 178 200t74 105h166q22 -42 76.5 -108.5t179.5 -196.5v-23h-119q-88 55 -221 186q-136 -134 -219 -186h-115v23z" />
-<glyph unicode="&#xcb;" horiz-adv-x="1139" d="M201 0zM1016 0h-815v1462h815v-151h-645v-471h606v-150h-606v-538h645v-152zM327 1731q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5zM708 1731q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5 t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" />
-<glyph unicode="&#xcc;" horiz-adv-x="571" d="M5 0zM201 0v1462h170v-1462h-170zM398 1579h-110q-65 52 -154 148t-129 159v21h203q32 -69 89 -159.5t101 -143.5v-25z" />
-<glyph unicode="&#xcd;" horiz-adv-x="571" d="M179 0zM201 0v1462h170v-1462h-170zM179 1604q48 62 103.5 150t87.5 153h202v-21q-44 -65 -131 -160t-151 -147h-111v25z" />
-<glyph unicode="&#xce;" horiz-adv-x="571" d="M0 0zM201 0v1462h170v-1462h-170zM-57 1602q127 136 178 200t74 105h166q22 -42 76.5 -108.5t179.5 -196.5v-23h-119q-88 55 -221 186q-136 -134 -219 -186h-115v23z" />
-<glyph unicode="&#xcf;" horiz-adv-x="571" d="M5 0zM201 0v1462h170v-1462h-170zM5 1731q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5zM386 1731q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" />
-<glyph unicode="&#xd0;" horiz-adv-x="1479" d="M1352 745q0 -362 -196.5 -553.5t-565.5 -191.5h-389v649h-154v150h154v663h434q337 0 527 -187.5t190 -529.5zM1171 739q0 576 -569 576h-231v-516h379v-150h-379v-502h190q610 0 610 592z" />
-<glyph unicode="&#xd1;" horiz-adv-x="1544" d="M201 0zM1343 0h-194l-799 1227h-8q16 -216 16 -396v-831h-157v1462h192l797 -1222h8q-2 27 -9 173.5t-5 209.5v839h159v-1462zM935 1581q-43 0 -84 18.5t-80.5 41t-76 41t-70.5 18.5q-50 0 -75.5 -30t-39.5 -91h-98q13 121 70.5 189.5t148.5 68.5q46 0 89 -18.5t82 -41 t75 -41t68 -18.5q49 0 73 29.5t39 91.5h99q-13 -121 -69.5 -189.5t-150.5 -68.5z" />
-<glyph unicode="&#xd2;" horiz-adv-x="1595" d="M125 0zM1470 733q0 -351 -177.5 -552t-493.5 -201q-323 0 -498.5 197.5t-175.5 557.5q0 357 176 553.5t500 196.5q315 0 492 -200t177 -552zM305 733q0 -297 126.5 -450.5t367.5 -153.5q243 0 367 153t124 451q0 295 -123.5 447.5t-365.5 152.5q-243 0 -369.5 -153.5 t-126.5 -446.5zM907 1579h-110q-65 52 -154 148t-129 159v21h203q32 -69 89 -159.5t101 -143.5v-25z" />
-<glyph unicode="&#xd3;" horiz-adv-x="1595" d="M125 0zM1470 733q0 -351 -177.5 -552t-493.5 -201q-323 0 -498.5 197.5t-175.5 557.5q0 357 176 553.5t500 196.5q315 0 492 -200t177 -552zM305 733q0 -297 126.5 -450.5t367.5 -153.5q243 0 367 153t124 451q0 295 -123.5 447.5t-365.5 152.5q-243 0 -369.5 -153.5 t-126.5 -446.5zM659 1604q48 62 103.5 150t87.5 153h202v-21q-44 -65 -131 -160t-151 -147h-111v25z" />
-<glyph unicode="&#xd4;" horiz-adv-x="1595" d="M125 0zM1470 733q0 -351 -177.5 -552t-493.5 -201q-323 0 -498.5 197.5t-175.5 557.5q0 357 176 553.5t500 196.5q315 0 492 -200t177 -552zM305 733q0 -297 126.5 -450.5t367.5 -153.5q243 0 367 153t124 451q0 295 -123.5 447.5t-365.5 152.5q-243 0 -369.5 -153.5 t-126.5 -446.5zM448 1602q127 136 178 200t74 105h166q22 -42 76.5 -108.5t179.5 -196.5v-23h-119q-88 55 -221 186q-136 -134 -219 -186h-115v23z" />
-<glyph unicode="&#xd5;" horiz-adv-x="1595" d="M125 0zM1470 733q0 -351 -177.5 -552t-493.5 -201q-323 0 -498.5 197.5t-175.5 557.5q0 357 176 553.5t500 196.5q315 0 492 -200t177 -552zM305 733q0 -297 126.5 -450.5t367.5 -153.5q243 0 367 153t124 451q0 295 -123.5 447.5t-365.5 152.5q-243 0 -369.5 -153.5 t-126.5 -446.5zM942 1581q-43 0 -84 18.5t-80.5 41t-76 41t-70.5 18.5q-50 0 -75.5 -30t-39.5 -91h-98q13 121 70.5 189.5t148.5 68.5q46 0 89 -18.5t82 -41t75 -41t68 -18.5q49 0 73 29.5t39 91.5h99q-13 -121 -69.5 -189.5t-150.5 -68.5z" />
-<glyph unicode="&#xd6;" horiz-adv-x="1595" d="M125 0zM1470 733q0 -351 -177.5 -552t-493.5 -201q-323 0 -498.5 197.5t-175.5 557.5q0 357 176 553.5t500 196.5q315 0 492 -200t177 -552zM305 733q0 -297 126.5 -450.5t367.5 -153.5q243 0 367 153t124 451q0 295 -123.5 447.5t-365.5 152.5q-243 0 -369.5 -153.5 t-126.5 -446.5zM522 1731q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5zM903 1731q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" />
-<glyph unicode="&#xd7;" d="M940 1176l96 -99l-352 -354l350 -352l-96 -99l-354 351l-348 -351l-101 99l350 352l-352 352l100 101l353 -355z" />
-<glyph unicode="&#xd8;" horiz-adv-x="1595" d="M1470 733q0 -351 -177.5 -552t-493.5 -201q-235 0 -383 100l-101 -141l-120 79l108 154q-178 198 -178 563q0 357 176 553.5t500 196.5q209 0 366 -94l97 135l120 -80l-106 -148q192 -202 192 -565zM1290 733q0 272 -110 426l-672 -948q115 -82 291 -82q243 0 367 153 t124 451zM305 733q0 -262 101 -416l669 943q-106 73 -274 73q-243 0 -369.5 -153.5t-126.5 -446.5z" />
-<glyph unicode="&#xd9;" horiz-adv-x="1491" d="M186 0zM1305 1462v-946q0 -250 -151 -393t-415 -143t-408.5 144t-144.5 396v942h170v-954q0 -183 100 -281t294 -98q185 0 285 98.5t100 282.5v952h170zM856 1579h-110q-65 52 -154 148t-129 159v21h203q32 -69 89 -159.5t101 -143.5v-25z" />
-<glyph unicode="&#xda;" horiz-adv-x="1491" d="M186 0zM1305 1462v-946q0 -250 -151 -393t-415 -143t-408.5 144t-144.5 396v942h170v-954q0 -183 100 -281t294 -98q185 0 285 98.5t100 282.5v952h170zM600 1604q48 62 103.5 150t87.5 153h202v-21q-44 -65 -131 -160t-151 -147h-111v25z" />
-<glyph unicode="&#xdb;" horiz-adv-x="1491" d="M186 0zM1305 1462v-946q0 -250 -151 -393t-415 -143t-408.5 144t-144.5 396v942h170v-954q0 -183 100 -281t294 -98q185 0 285 98.5t100 282.5v952h170zM393 1602q127 136 178 200t74 105h166q22 -42 76.5 -108.5t179.5 -196.5v-23h-119q-88 55 -221 186 q-136 -134 -219 -186h-115v23z" />
-<glyph unicode="&#xdc;" horiz-adv-x="1491" d="M186 0zM1305 1462v-946q0 -250 -151 -393t-415 -143t-408.5 144t-144.5 396v942h170v-954q0 -183 100 -281t294 -98q185 0 285 98.5t100 282.5v952h170zM461 1731q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5t-65.5 -24.5q-37 0 -63.5 24.5 t-26.5 74.5zM842 1731q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" />
-<glyph unicode="&#xdd;" horiz-adv-x="1147" d="M0 0zM573 731l390 731h184l-488 -895v-567h-172v559l-487 903h186zM442 1604q48 62 103.5 150t87.5 153h202v-21q-44 -65 -131 -160t-151 -147h-111v25z" />
-<glyph unicode="&#xde;" horiz-adv-x="1251" d="M1145 784q0 -227 -151.5 -346t-438.5 -119h-184v-319h-170v1462h170v-256h215q281 0 420 -103.5t139 -318.5zM371 465h168q226 0 327 71.5t101 235.5q0 149 -95 218t-297 69h-204v-594z" />
-<glyph unicode="&#xdf;" horiz-adv-x="1274" d="M1049 1266q0 -135 -143 -250q-88 -70 -116 -103.5t-28 -66.5q0 -32 13.5 -53t49 -49.5t113.5 -79.5q140 -95 191 -173.5t51 -179.5q0 -160 -97 -245.5t-276 -85.5q-188 0 -295 69v154q63 -39 141 -62.5t150 -23.5q215 0 215 182q0 75 -41.5 128.5t-151.5 123.5 q-127 82 -175 143.5t-48 145.5q0 63 34.5 116t105.5 106q75 57 107 102t32 98q0 80 -68 122.5t-195 42.5q-276 0 -276 -223v-1204h-166v1202q0 178 110 271.5t332 93.5q206 0 318.5 -78.5t112.5 -222.5z" />
-<glyph unicode="&#xe0;" horiz-adv-x="1139" d="M94 0zM850 0l-33 156h-8q-82 -103 -163.5 -139.5t-203.5 -36.5q-163 0 -255.5 84t-92.5 239q0 332 531 348l186 6v68q0 129 -55.5 190.5t-177.5 61.5q-137 0 -310 -84l-51 127q81 44 177.5 69t193.5 25q196 0 290.5 -87t94.5 -279v-748h-123zM475 117q155 0 243.5 85 t88.5 238v99l-166 -7q-198 -7 -285.5 -61.5t-87.5 -169.5q0 -90 54.5 -137t152.5 -47zM672 1241h-110q-65 52 -154 148t-129 159v21h203q32 -69 89 -159.5t101 -143.5v-25z" />
-<glyph unicode="&#xe1;" horiz-adv-x="1139" d="M94 0zM850 0l-33 156h-8q-82 -103 -163.5 -139.5t-203.5 -36.5q-163 0 -255.5 84t-92.5 239q0 332 531 348l186 6v68q0 129 -55.5 190.5t-177.5 61.5q-137 0 -310 -84l-51 127q81 44 177.5 69t193.5 25q196 0 290.5 -87t94.5 -279v-748h-123zM475 117q155 0 243.5 85 t88.5 238v99l-166 -7q-198 -7 -285.5 -61.5t-87.5 -169.5q0 -90 54.5 -137t152.5 -47zM436 1266q48 62 103.5 150t87.5 153h202v-21q-44 -65 -131 -160t-151 -147h-111v25z" />
-<glyph unicode="&#xe2;" horiz-adv-x="1139" d="M94 0zM850 0l-33 156h-8q-82 -103 -163.5 -139.5t-203.5 -36.5q-163 0 -255.5 84t-92.5 239q0 332 531 348l186 6v68q0 129 -55.5 190.5t-177.5 61.5q-137 0 -310 -84l-51 127q81 44 177.5 69t193.5 25q196 0 290.5 -87t94.5 -279v-748h-123zM475 117q155 0 243.5 85 t88.5 238v99l-166 -7q-198 -7 -285.5 -61.5t-87.5 -169.5q0 -90 54.5 -137t152.5 -47zM228 1264q127 136 178 200t74 105h166q22 -42 76.5 -108.5t179.5 -196.5v-23h-119q-88 55 -221 186q-136 -134 -219 -186h-115v23z" />
-<glyph unicode="&#xe3;" horiz-adv-x="1139" d="M94 0zM850 0l-33 156h-8q-82 -103 -163.5 -139.5t-203.5 -36.5q-163 0 -255.5 84t-92.5 239q0 332 531 348l186 6v68q0 129 -55.5 190.5t-177.5 61.5q-137 0 -310 -84l-51 127q81 44 177.5 69t193.5 25q196 0 290.5 -87t94.5 -279v-748h-123zM475 117q155 0 243.5 85 t88.5 238v99l-166 -7q-198 -7 -285.5 -61.5t-87.5 -169.5q0 -90 54.5 -137t152.5 -47zM721 1243q-43 0 -84 18.5t-80.5 41t-76 41t-70.5 18.5q-50 0 -75.5 -30t-39.5 -91h-98q13 121 70.5 189.5t148.5 68.5q46 0 89 -18.5t82 -41t75 -41t68 -18.5q49 0 73 29.5t39 91.5h99 q-13 -121 -69.5 -189.5t-150.5 -68.5z" />
-<glyph unicode="&#xe4;" horiz-adv-x="1139" d="M94 0zM850 0l-33 156h-8q-82 -103 -163.5 -139.5t-203.5 -36.5q-163 0 -255.5 84t-92.5 239q0 332 531 348l186 6v68q0 129 -55.5 190.5t-177.5 61.5q-137 0 -310 -84l-51 127q81 44 177.5 69t193.5 25q196 0 290.5 -87t94.5 -279v-748h-123zM475 117q155 0 243.5 85 t88.5 238v99l-166 -7q-198 -7 -285.5 -61.5t-87.5 -169.5q0 -90 54.5 -137t152.5 -47zM279 1393q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5zM660 1393q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75 q0 -50 -27.5 -74.5t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" />
-<glyph unicode="&#xe5;" horiz-adv-x="1139" d="M94 0zM850 0l-33 156h-8q-82 -103 -163.5 -139.5t-203.5 -36.5q-163 0 -255.5 84t-92.5 239q0 332 531 348l186 6v68q0 129 -55.5 190.5t-177.5 61.5q-137 0 -310 -84l-51 127q81 44 177.5 69t193.5 25q196 0 290.5 -87t94.5 -279v-748h-123zM475 117q155 0 243.5 85 t88.5 238v99l-166 -7q-198 -7 -285.5 -61.5t-87.5 -169.5q0 -90 54.5 -137t152.5 -47zM804 1458q0 -98 -61.5 -157.5t-163.5 -59.5q-101 0 -161 58.5t-60 156.5t60.5 155.5t160.5 57.5q101 0 163 -59.5t62 -151.5zM696 1456q0 56 -33 86.5t-84 30.5t-84 -30.5t-33 -86.5 t30 -86.5t87 -30.5q52 0 84.5 30.5t32.5 86.5z" />
-<glyph unicode="&#xe6;" horiz-adv-x="1757" d="M94 303q0 161 124 250.5t378 97.5l184 6v68q0 129 -58 190.5t-177 61.5q-144 0 -307 -84l-52 127q74 41 173.5 67.5t197.5 26.5q130 0 212.5 -43.5t123.5 -138.5q53 88 138.5 136t195.5 48q192 0 308 -133.5t116 -355.5v-107h-701q8 -395 322 -395q91 0 169.5 17.5 t162.5 56.5v-148q-86 -38 -160.5 -54.5t-175.5 -16.5q-289 0 -414 233q-81 -127 -179.5 -180t-232.5 -53q-163 0 -255.5 85t-92.5 238zM268 301q0 -95 53.5 -139.5t141.5 -44.5q145 0 229 84.5t84 238.5v99l-158 -7q-186 -8 -268 -62.5t-82 -168.5zM1225 977 q-121 0 -190.5 -83t-80.5 -241h519q0 156 -64 240t-184 84z" />
-<glyph unicode="&#xe7;" horiz-adv-x="975" d="M115 0zM614 -20q-238 0 -368.5 146.5t-130.5 414.5q0 275 132.5 425t377.5 150q79 0 158 -17t124 -40l-51 -141q-55 22 -120 36.5t-115 14.5q-334 0 -334 -426q0 -202 81.5 -310t241.5 -108q137 0 281 59v-147q-110 -57 -277 -57zM762 -289q0 -97 -76.5 -150t-226.5 -53 q-51 0 -96 9v106q45 -8 104 -8q79 0 119.5 20t40.5 74q0 43 -39.5 69.5t-148.5 43.5l88 178h110l-55 -115q180 -39 180 -174z" />
-<glyph unicode="&#xe8;" horiz-adv-x="1149" d="M115 0zM639 -20q-243 0 -383.5 148t-140.5 411q0 265 130.5 421t350.5 156q206 0 326 -135.5t120 -357.5v-105h-755q5 -193 97.5 -293t260.5 -100q177 0 350 74v-148q-88 -38 -166.5 -54.5t-189.5 -16.5zM594 977q-132 0 -210.5 -86t-92.5 -238h573q0 157 -70 240.5 t-200 83.5zM711 1241h-110q-65 52 -154 148t-129 159v21h203q32 -69 89 -159.5t101 -143.5v-25z" />
-<glyph unicode="&#xe9;" horiz-adv-x="1149" d="M115 0zM639 -20q-243 0 -383.5 148t-140.5 411q0 265 130.5 421t350.5 156q206 0 326 -135.5t120 -357.5v-105h-755q5 -193 97.5 -293t260.5 -100q177 0 350 74v-148q-88 -38 -166.5 -54.5t-189.5 -16.5zM594 977q-132 0 -210.5 -86t-92.5 -238h573q0 157 -70 240.5 t-200 83.5zM471 1266q48 62 103.5 150t87.5 153h202v-21q-44 -65 -131 -160t-151 -147h-111v25z" />
-<glyph unicode="&#xea;" horiz-adv-x="1149" d="M115 0zM639 -20q-243 0 -383.5 148t-140.5 411q0 265 130.5 421t350.5 156q206 0 326 -135.5t120 -357.5v-105h-755q5 -193 97.5 -293t260.5 -100q177 0 350 74v-148q-88 -38 -166.5 -54.5t-189.5 -16.5zM594 977q-132 0 -210.5 -86t-92.5 -238h573q0 157 -70 240.5 t-200 83.5zM259 1264q127 136 178 200t74 105h166q22 -42 76.5 -108.5t179.5 -196.5v-23h-119q-88 55 -221 186q-136 -134 -219 -186h-115v23z" />
-<glyph unicode="&#xeb;" horiz-adv-x="1149" d="M115 0zM639 -20q-243 0 -383.5 148t-140.5 411q0 265 130.5 421t350.5 156q206 0 326 -135.5t120 -357.5v-105h-755q5 -193 97.5 -293t260.5 -100q177 0 350 74v-148q-88 -38 -166.5 -54.5t-189.5 -16.5zM594 977q-132 0 -210.5 -86t-92.5 -238h573q0 157 -70 240.5 t-200 83.5zM319 1393q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5zM700 1393q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" />
-<glyph unicode="&#xec;" horiz-adv-x="518" d="M0 0zM342 0h-166v1096h166v-1096zM355 1241h-110q-65 52 -154 148t-129 159v21h203q32 -69 89 -159.5t101 -143.5v-25z" />
-<glyph unicode="&#xed;" horiz-adv-x="518" d="M169 0zM342 0h-166v1096h166v-1096zM169 1266q48 62 103.5 150t87.5 153h202v-21q-44 -65 -131 -160t-151 -147h-111v25z" />
-<glyph unicode="&#xee;" horiz-adv-x="518" d="M0 0zM342 0h-166v1096h166v-1096zM-77 1264q127 136 178 200t74 105h166q22 -42 76.5 -108.5t179.5 -196.5v-23h-119q-88 55 -221 186q-136 -134 -219 -186h-115v23z" />
-<glyph unicode="&#xef;" horiz-adv-x="518" d="M0 0zM342 0h-166v1096h166v-1096zM-20 1393q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5zM361 1393q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" />
-<glyph unicode="&#xf0;" horiz-adv-x="1221" d="M1122 563q0 -281 -130.5 -432t-377.5 -151q-222 0 -361.5 134.5t-139.5 360.5q0 230 131.5 361t351.5 131q226 0 326 -121l8 4q-57 214 -262 405l-271 -155l-73 108l233 133q-92 62 -186 111l69 117q156 -73 258 -148l238 138l76 -107l-207 -119q152 -143 234.5 -342 t82.5 -428zM954 512q0 147 -90 232t-246 85q-337 0 -337 -360q0 -167 87.5 -258.5t249.5 -91.5q175 0 255.5 100.5t80.5 292.5z" />
-<glyph unicode="&#xf1;" horiz-adv-x="1257" d="M176 0zM926 0v709q0 134 -61 200t-191 66q-172 0 -252 -93t-80 -307v-575h-166v1096h135l27 -150h8q51 81 143 125.5t205 44.5q198 0 298 -95.5t100 -305.5v-715h-166zM802 1243q-43 0 -84 18.5t-80.5 41t-76 41t-70.5 18.5q-50 0 -75.5 -30t-39.5 -91h-98 q13 121 70.5 189.5t148.5 68.5q46 0 89 -18.5t82 -41t75 -41t68 -18.5q49 0 73 29.5t39 91.5h99q-13 -121 -69.5 -189.5t-150.5 -68.5z" />
-<glyph unicode="&#xf2;" horiz-adv-x="1237" d="M115 0zM1122 549q0 -268 -135 -418.5t-373 -150.5q-147 0 -261 69t-176 198t-62 302q0 268 134 417.5t372 149.5q230 0 365.5 -153t135.5 -414zM287 549q0 -210 84 -320t247 -110t247.5 109.5t84.5 320.5q0 209 -84.5 317.5t-249.5 108.5q-163 0 -246 -107t-83 -319z M742 1241h-110q-65 52 -154 148t-129 159v21h203q32 -69 89 -159.5t101 -143.5v-25z" />
-<glyph unicode="&#xf3;" horiz-adv-x="1237" d="M115 0zM1122 549q0 -268 -135 -418.5t-373 -150.5q-147 0 -261 69t-176 198t-62 302q0 268 134 417.5t372 149.5q230 0 365.5 -153t135.5 -414zM287 549q0 -210 84 -320t247 -110t247.5 109.5t84.5 320.5q0 209 -84.5 317.5t-249.5 108.5q-163 0 -246 -107t-83 -319z M479 1266q48 62 103.5 150t87.5 153h202v-21q-44 -65 -131 -160t-151 -147h-111v25z" />
-<glyph unicode="&#xf4;" horiz-adv-x="1237" d="M115 0zM1122 549q0 -268 -135 -418.5t-373 -150.5q-147 0 -261 69t-176 198t-62 302q0 268 134 417.5t372 149.5q230 0 365.5 -153t135.5 -414zM287 549q0 -210 84 -320t247 -110t247.5 109.5t84.5 320.5q0 209 -84.5 317.5t-249.5 108.5q-163 0 -246 -107t-83 -319z M282 1264q127 136 178 200t74 105h166q22 -42 76.5 -108.5t179.5 -196.5v-23h-119q-88 55 -221 186q-136 -134 -219 -186h-115v23z" />
-<glyph unicode="&#xf5;" horiz-adv-x="1237" d="M115 0zM1122 549q0 -268 -135 -418.5t-373 -150.5q-147 0 -261 69t-176 198t-62 302q0 268 134 417.5t372 149.5q230 0 365.5 -153t135.5 -414zM287 549q0 -210 84 -320t247 -110t247.5 109.5t84.5 320.5q0 209 -84.5 317.5t-249.5 108.5q-163 0 -246 -107t-83 -319z M773 1243q-43 0 -84 18.5t-80.5 41t-76 41t-70.5 18.5q-50 0 -75.5 -30t-39.5 -91h-98q13 121 70.5 189.5t148.5 68.5q46 0 89 -18.5t82 -41t75 -41t68 -18.5q49 0 73 29.5t39 91.5h99q-13 -121 -69.5 -189.5t-150.5 -68.5z" />
-<glyph unicode="&#xf6;" horiz-adv-x="1237" d="M115 0zM1122 549q0 -268 -135 -418.5t-373 -150.5q-147 0 -261 69t-176 198t-62 302q0 268 134 417.5t372 149.5q230 0 365.5 -153t135.5 -414zM287 549q0 -210 84 -320t247 -110t247.5 109.5t84.5 320.5q0 209 -84.5 317.5t-249.5 108.5q-163 0 -246 -107t-83 -319z M336 1393q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5zM717 1393q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" />
-<glyph unicode="&#xf7;" d="M104 653v138h961v-138h-961zM471 373q0 60 29.5 90.5t83.5 30.5q52 0 81 -31.5t29 -89.5q0 -57 -29.5 -89t-80.5 -32q-52 0 -82.5 31.5t-30.5 89.5zM471 1071q0 60 29.5 90.5t83.5 30.5q52 0 81 -31.5t29 -89.5q0 -57 -29.5 -89t-80.5 -32q-52 0 -82.5 31.5t-30.5 89.5z " />
-<glyph unicode="&#xf8;" horiz-adv-x="1237" d="M1122 549q0 -268 -135 -418.5t-373 -150.5q-154 0 -266 69l-84 -117l-114 78l94 131q-129 152 -129 408q0 268 134 417.5t372 149.5q154 0 270 -76l84 119l117 -76l-97 -133q127 -152 127 -401zM287 549q0 -171 53 -273l465 646q-75 53 -189 53q-163 0 -246 -107 t-83 -319zM950 549q0 164 -51 264l-465 -643q71 -51 184 -51q163 0 247.5 109.5t84.5 320.5z" />
-<glyph unicode="&#xf9;" horiz-adv-x="1257" d="M164 0zM332 1096v-711q0 -134 61 -200t191 -66q172 0 251.5 94t79.5 307v576h166v-1096h-137l-24 147h-9q-51 -81 -141.5 -124t-206.5 -43q-200 0 -299.5 95t-99.5 304v717h168zM726 1241h-110q-65 52 -154 148t-129 159v21h203q32 -69 89 -159.5t101 -143.5v-25z" />
-<glyph unicode="&#xfa;" horiz-adv-x="1257" d="M164 0zM332 1096v-711q0 -134 61 -200t191 -66q172 0 251.5 94t79.5 307v576h166v-1096h-137l-24 147h-9q-51 -81 -141.5 -124t-206.5 -43q-200 0 -299.5 95t-99.5 304v717h168zM506 1266q48 62 103.5 150t87.5 153h202v-21q-44 -65 -131 -160t-151 -147h-111v25z" />
-<glyph unicode="&#xfb;" horiz-adv-x="1257" d="M164 0zM332 1096v-711q0 -134 61 -200t191 -66q172 0 251.5 94t79.5 307v576h166v-1096h-137l-24 147h-9q-51 -81 -141.5 -124t-206.5 -43q-200 0 -299.5 95t-99.5 304v717h168zM286 1264q127 136 178 200t74 105h166q22 -42 76.5 -108.5t179.5 -196.5v-23h-119 q-88 55 -221 186q-136 -134 -219 -186h-115v23z" />
-<glyph unicode="&#xfc;" horiz-adv-x="1257" d="M164 0zM332 1096v-711q0 -134 61 -200t191 -66q172 0 251.5 94t79.5 307v576h166v-1096h-137l-24 147h-9q-51 -81 -141.5 -124t-206.5 -43q-200 0 -299.5 95t-99.5 304v717h168zM342 1393q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5t-65.5 -24.5 q-37 0 -63.5 24.5t-26.5 74.5zM723 1393q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" />
-<glyph unicode="&#xfd;" horiz-adv-x="1032" d="M2 0zM2 1096h178l240 -625q79 -214 98 -309h8q13 51 54.5 174.5t271.5 759.5h178l-471 -1248q-70 -185 -163.5 -262.5t-229.5 -77.5q-76 0 -150 17v133q55 -12 123 -12q171 0 244 192l61 156zM411 1266q48 62 103.5 150t87.5 153h202v-21q-44 -65 -131 -160t-151 -147 h-111v25z" />
-<glyph unicode="&#xfe;" horiz-adv-x="1255" d="M344 948q66 89 151 128.5t191 39.5q215 0 335 -150t120 -417q0 -268 -120.5 -418.5t-334.5 -150.5q-222 0 -344 161h-12l4 -34q8 -77 8 -140v-459h-166v2048h166v-466q0 -52 -6 -142h8zM664 975q-168 0 -244 -92t-78 -293v-41q0 -231 77 -330.5t247 -99.5q303 0 303 432 q0 215 -74 319.5t-231 104.5z" />
-<glyph unicode="&#xff;" horiz-adv-x="1032" d="M2 0zM2 1096h178l240 -625q79 -214 98 -309h8q13 51 54.5 174.5t271.5 759.5h178l-471 -1248q-70 -185 -163.5 -262.5t-229.5 -77.5q-76 0 -150 17v133q55 -12 123 -12q171 0 244 192l61 156zM234 1393q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5 t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5zM615 1393q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" />
-<glyph unicode="&#x131;" horiz-adv-x="518" d="M342 0h-166v1096h166v-1096z" />
-<glyph unicode="&#x152;" horiz-adv-x="1890" d="M1767 0h-768q-102 -20 -194 -20q-327 0 -503.5 196.5t-176.5 558.5q0 360 174 555t494 195q102 0 192 -23h782v-151h-589v-471h551v-150h-551v-538h589v-152zM811 1333q-249 0 -377.5 -152.5t-128.5 -447.5q0 -297 128.5 -450.5t375.5 -153.5q112 0 199 33v1141 q-87 30 -197 30z" />
-<glyph unicode="&#x153;" horiz-adv-x="1929" d="M1430 -20q-293 0 -418 235q-62 -116 -166.5 -175.5t-241.5 -59.5q-223 0 -357 152.5t-134 416.5q0 265 131 415t366 150q131 0 233.5 -59.5t164.5 -173.5q58 112 154 172.5t222 60.5q201 0 320 -132.5t119 -358.5v-105h-729q8 -393 338 -393q94 0 174.5 17.5t167.5 56.5 v-148q-88 -39 -164 -55t-180 -16zM287 549q0 -211 76 -320.5t243 -109.5q163 0 239.5 106.5t76.5 315.5q0 221 -77.5 327.5t-242.5 106.5q-166 0 -240.5 -108t-74.5 -318zM1382 975q-127 0 -199.5 -82t-84.5 -240h544q0 158 -66 240t-194 82z" />
-<glyph unicode="&#x178;" horiz-adv-x="1147" d="M0 0zM573 731l390 731h184l-488 -895v-567h-172v559l-487 903h186zM294 1731q0 52 26.5 75t63.5 23q38 0 65.5 -23t27.5 -75q0 -50 -27.5 -74.5t-65.5 -24.5q-37 0 -63.5 24.5t-26.5 74.5zM675 1731q0 52 26.5 75t63.5 23t64.5 -23t27.5 -75q0 -50 -27.5 -74.5 t-64.5 -24.5t-63.5 24.5t-26.5 74.5z" />
-<glyph unicode="&#x2c6;" horiz-adv-x="1212" d="M268 1264q127 136 178 200t74 105h166q22 -42 76.5 -108.5t179.5 -196.5v-23h-119q-88 55 -221 186q-136 -134 -219 -186h-115v23z" />
-<glyph unicode="&#x2da;" horiz-adv-x="1182" d="M813 1458q0 -98 -61.5 -157.5t-163.5 -59.5q-101 0 -161 58.5t-60 156.5t60.5 155.5t160.5 57.5q101 0 163 -59.5t62 -151.5zM705 1456q0 56 -33 86.5t-84 30.5t-84 -30.5t-33 -86.5t30 -86.5t87 -30.5q52 0 84.5 30.5t32.5 86.5z" />
-<glyph unicode="&#x2dc;" horiz-adv-x="1212" d="M788 1243q-43 0 -84 18.5t-80.5 41t-76 41t-70.5 18.5q-50 0 -75.5 -30t-39.5 -91h-98q13 121 70.5 189.5t148.5 68.5q46 0 89 -18.5t82 -41t75 -41t68 -18.5q49 0 73 29.5t39 91.5h99q-13 -121 -69.5 -189.5t-150.5 -68.5z" />
-<glyph unicode="&#x2000;" horiz-adv-x="953" />
-<glyph unicode="&#x2001;" horiz-adv-x="1907" />
-<glyph unicode="&#x2002;" horiz-adv-x="953" />
-<glyph unicode="&#x2003;" horiz-adv-x="1907" />
-<glyph unicode="&#x2004;" horiz-adv-x="635" />
-<glyph unicode="&#x2005;" horiz-adv-x="476" />
-<glyph unicode="&#x2006;" horiz-adv-x="317" />
-<glyph unicode="&#x2007;" horiz-adv-x="317" />
-<glyph unicode="&#x2008;" horiz-adv-x="238" />
-<glyph unicode="&#x2009;" horiz-adv-x="381" />
-<glyph unicode="&#x200a;" horiz-adv-x="105" />
-<glyph unicode="&#x2010;" horiz-adv-x="659" d="M84 473v152h491v-152h-491z" />
-<glyph unicode="&#x2011;" horiz-adv-x="659" d="M84 473v152h491v-152h-491z" />
-<glyph unicode="&#x2012;" horiz-adv-x="659" d="M84 473v152h491v-152h-491z" />
-<glyph unicode="&#x2013;" horiz-adv-x="1024" d="M82 473v152h860v-152h-860z" />
-<glyph unicode="&#x2014;" horiz-adv-x="2048" d="M82 473v152h1884v-152h-1884z" />
-<glyph unicode="&#x2018;" horiz-adv-x="348" d="M37 961l-12 22q22 90 71 224t105 255h123q-66 -254 -103 -501h-184z" />
-<glyph unicode="&#x2019;" horiz-adv-x="348" d="M309 1462l15 -22q-26 -100 -75 -232.5t-102 -246.5h-122q70 285 102 501h182z" />
-<glyph unicode="&#x201a;" horiz-adv-x="502" d="M63 0zM350 238l15 -23q-26 -100 -75 -232.5t-102 -246.5h-125q27 104 59.5 257t45.5 245h182z" />
-<glyph unicode="&#x201c;" horiz-adv-x="717" d="M406 961l-15 22q56 215 178 479h123q-30 -115 -59.5 -259.5t-42.5 -241.5h-184zM37 961l-12 22q22 90 71 224t105 255h123q-66 -254 -103 -501h-184z" />
-<glyph unicode="&#x201d;" horiz-adv-x="717" d="M309 1462l15 -22q-26 -100 -75 -232.5t-102 -246.5h-122q70 285 102 501h182zM678 1462l14 -22q-24 -91 -72 -224t-104 -255h-125q26 100 59 254t46 247h182z" />
-<glyph unicode="&#x201e;" horiz-adv-x="829" d="M25 0zM309 238l15 -22q-26 -100 -75 -232.5t-102 -246.5h-122q70 285 102 501h182zM678 238l14 -22q-24 -91 -72 -224t-104 -255h-125q26 100 59 254t46 247h182z" />
-<glyph unicode="&#x2022;" horiz-adv-x="770" d="M164 748q0 121 56.5 184t164.5 63q105 0 163 -62t58 -185q0 -119 -57.5 -183.5t-163.5 -64.5q-107 0 -164 65.5t-57 182.5z" />
-<glyph unicode="&#x2026;" horiz-adv-x="1606" d="M152 0zM152 106q0 67 30.5 101.5t87.5 34.5q58 0 90.5 -34.5t32.5 -101.5q0 -65 -33 -100t-90 -35q-51 0 -84.5 31.5t-33.5 103.5zM682 106q0 67 30.5 101.5t87.5 34.5q58 0 90.5 -34.5t32.5 -101.5q0 -65 -33 -100t-90 -35q-51 0 -84.5 31.5t-33.5 103.5zM1213 106 q0 67 30.5 101.5t87.5 34.5q58 0 90.5 -34.5t32.5 -101.5q0 -65 -33 -100t-90 -35q-51 0 -84.5 31.5t-33.5 103.5z" />
-<glyph unicode="&#x202f;" horiz-adv-x="381" />
-<glyph unicode="&#x2039;" horiz-adv-x="623" d="M82 551l342 407l119 -69l-289 -350l289 -351l-119 -71l-342 407v27z" />
-<glyph unicode="&#x203a;" horiz-adv-x="623" d="M541 524l-344 -407l-117 71l287 351l-287 350l117 69l344 -407v-27z" />
-<glyph unicode="&#x2044;" horiz-adv-x="266" d="M655 1462l-903 -1462h-143l903 1462h143z" />
-<glyph unicode="&#x205f;" horiz-adv-x="476" />
-<glyph unicode="&#x2074;" horiz-adv-x="711" d="M692 788h-125v-202h-145v202h-402v101l408 579h139v-563h125v-117zM422 905v195q0 134 6 209q-5 -12 -17 -31.5t-27 -42l-30 -45t-26 -39.5l-168 -246h262z" />
-<glyph unicode="&#x20ac;" horiz-adv-x="1208" d="M795 1333q-319 0 -398 -403h510v-129h-524l-2 -57v-64l2 -45h463v-129h-447q37 -180 138.5 -278.5t271.5 -98.5q156 0 309 66v-150q-146 -65 -317 -65q-237 0 -381.5 134.5t-190.5 391.5h-166v129h152l-2 42v44l2 80h-152v129h164q39 261 185 407t383 146q201 0 366 -97 l-71 -139q-166 86 -295 86z" />
-<glyph unicode="&#x2122;" horiz-adv-x="1589" d="M369 741h-123v615h-209v106h543v-106h-211v-615zM969 741l-201 559h-8l6 -129v-430h-119v721h187l196 -559l203 559h180v-721h-127v420l6 137h-8l-211 -557h-104z" />
-<glyph unicode="&#x2212;" d="M104 653v138h961v-138h-961z" />
-<glyph unicode="&#xe000;" horiz-adv-x="1095" d="M0 1095h1095v-1095h-1095v1095z" />
-<glyph horiz-adv-x="1255" d="M0 0z" />
-<hkern u1="&#x22;" u2="&#x178;" k="-20" />
-<hkern u1="&#x22;" u2="&#x153;" k="123" />
-<hkern u1="&#x22;" u2="&#xfc;" k="61" />
-<hkern u1="&#x22;" u2="&#xfb;" k="61" />
-<hkern u1="&#x22;" u2="&#xfa;" k="61" />
-<hkern u1="&#x22;" u2="&#xf9;" k="61" />
-<hkern u1="&#x22;" u2="&#xf8;" k="123" />
-<hkern u1="&#x22;" u2="&#xf6;" k="123" />
-<hkern u1="&#x22;" u2="&#xf5;" k="123" />
-<hkern u1="&#x22;" u2="&#xf4;" k="123" />
-<hkern u1="&#x22;" u2="&#xf3;" k="123" />
-<hkern u1="&#x22;" u2="&#xf2;" k="123" />
-<hkern u1="&#x22;" u2="&#xeb;" k="123" />
-<hkern u1="&#x22;" u2="&#xea;" k="123" />
-<hkern u1="&#x22;" u2="&#xe9;" k="123" />
-<hkern u1="&#x22;" u2="&#xe8;" k="123" />
-<hkern u1="&#x22;" u2="&#xe7;" k="123" />
-<hkern u1="&#x22;" u2="&#xe6;" k="82" />
-<hkern u1="&#x22;" u2="&#xe5;" k="82" />
-<hkern u1="&#x22;" u2="&#xe4;" k="82" />
-<hkern u1="&#x22;" u2="&#xe3;" k="82" />
-<hkern u1="&#x22;" u2="&#xe2;" k="82" />
-<hkern u1="&#x22;" u2="&#xe1;" k="82" />
-<hkern u1="&#x22;" u2="&#xe0;" k="123" />
-<hkern u1="&#x22;" u2="&#xdd;" k="-20" />
-<hkern u1="&#x22;" u2="&#xc5;" k="143" />
-<hkern u1="&#x22;" u2="&#xc4;" k="143" />
-<hkern u1="&#x22;" u2="&#xc3;" k="143" />
-<hkern u1="&#x22;" u2="&#xc2;" k="143" />
-<hkern u1="&#x22;" u2="&#xc1;" k="143" />
-<hkern u1="&#x22;" u2="&#xc0;" k="143" />
-<hkern u1="&#x22;" u2="u" k="61" />
-<hkern u1="&#x22;" u2="s" k="61" />
-<hkern u1="&#x22;" u2="r" k="61" />
-<hkern u1="&#x22;" u2="q" k="123" />
-<hkern u1="&#x22;" u2="p" k="61" />
-<hkern u1="&#x22;" u2="o" k="123" />
-<hkern u1="&#x22;" u2="n" k="61" />
-<hkern u1="&#x22;" u2="m" k="61" />
-<hkern u1="&#x22;" u2="g" k="61" />
-<hkern u1="&#x22;" u2="e" k="123" />
-<hkern u1="&#x22;" u2="d" k="123" />
-<hkern u1="&#x22;" u2="c" k="123" />
-<hkern u1="&#x22;" u2="a" k="82" />
-<hkern u1="&#x22;" u2="Y" k="-20" />
-<hkern u1="&#x22;" u2="W" k="-41" />
-<hkern u1="&#x22;" u2="V" k="-41" />
-<hkern u1="&#x22;" u2="T" k="-41" />
-<hkern u1="&#x22;" u2="A" k="143" />
-<hkern u1="&#x27;" u2="&#x178;" k="-20" />
-<hkern u1="&#x27;" u2="&#x153;" k="123" />
-<hkern u1="&#x27;" u2="&#xfc;" k="61" />
-<hkern u1="&#x27;" u2="&#xfb;" k="61" />
-<hkern u1="&#x27;" u2="&#xfa;" k="61" />
-<hkern u1="&#x27;" u2="&#xf9;" k="61" />
-<hkern u1="&#x27;" u2="&#xf8;" k="123" />
-<hkern u1="&#x27;" u2="&#xf6;" k="123" />
-<hkern u1="&#x27;" u2="&#xf5;" k="123" />
-<hkern u1="&#x27;" u2="&#xf4;" k="123" />
-<hkern u1="&#x27;" u2="&#xf3;" k="123" />
-<hkern u1="&#x27;" u2="&#xf2;" k="123" />
-<hkern u1="&#x27;" u2="&#xeb;" k="123" />
-<hkern u1="&#x27;" u2="&#xea;" k="123" />
-<hkern u1="&#x27;" u2="&#xe9;" k="123" />
-<hkern u1="&#x27;" u2="&#xe8;" k="123" />
-<hkern u1="&#x27;" u2="&#xe7;" k="123" />
-<hkern u1="&#x27;" u2="&#xe6;" k="82" />
-<hkern u1="&#x27;" u2="&#xe5;" k="82" />
-<hkern u1="&#x27;" u2="&#xe4;" k="82" />
-<hkern u1="&#x27;" u2="&#xe3;" k="82" />
-<hkern u1="&#x27;" u2="&#xe2;" k="82" />
-<hkern u1="&#x27;" u2="&#xe1;" k="82" />
-<hkern u1="&#x27;" u2="&#xe0;" k="123" />
-<hkern u1="&#x27;" u2="&#xdd;" k="-20" />
-<hkern u1="&#x27;" u2="&#xc5;" k="143" />
-<hkern u1="&#x27;" u2="&#xc4;" k="143" />
-<hkern u1="&#x27;" u2="&#xc3;" k="143" />
-<hkern u1="&#x27;" u2="&#xc2;" k="143" />
-<hkern u1="&#x27;" u2="&#xc1;" k="143" />
-<hkern u1="&#x27;" u2="&#xc0;" k="143" />
-<hkern u1="&#x27;" u2="u" k="61" />
-<hkern u1="&#x27;" u2="s" k="61" />
-<hkern u1="&#x27;" u2="r" k="61" />
-<hkern u1="&#x27;" u2="q" k="123" />
-<hkern u1="&#x27;" u2="p" k="61" />
-<hkern u1="&#x27;" u2="o" k="123" />
-<hkern u1="&#x27;" u2="n" k="61" />
-<hkern u1="&#x27;" u2="m" k="61" />
-<hkern u1="&#x27;" u2="g" k="61" />
-<hkern u1="&#x27;" u2="e" k="123" />
-<hkern u1="&#x27;" u2="d" k="123" />
-<hkern u1="&#x27;" u2="c" k="123" />
-<hkern u1="&#x27;" u2="a" k="82" />
-<hkern u1="&#x27;" u2="Y" k="-20" />
-<hkern u1="&#x27;" u2="W" k="-41" />
-<hkern u1="&#x27;" u2="V" k="-41" />
-<hkern u1="&#x27;" u2="T" k="-41" />
-<hkern u1="&#x27;" u2="A" k="143" />
-<hkern u1="&#x28;" u2="J" k="-184" />
-<hkern u1="&#x2c;" u2="&#x178;" k="123" />
-<hkern u1="&#x2c;" u2="&#x152;" k="102" />
-<hkern u1="&#x2c;" u2="&#xdd;" k="123" />
-<hkern u1="&#x2c;" u2="&#xdc;" k="41" />
-<hkern u1="&#x2c;" u2="&#xdb;" k="41" />
-<hkern u1="&#x2c;" u2="&#xda;" k="41" />
-<hkern u1="&#x2c;" u2="&#xd9;" k="41" />
-<hkern u1="&#x2c;" u2="&#xd8;" k="102" />
-<hkern u1="&#x2c;" u2="&#xd6;" k="102" />
-<hkern u1="&#x2c;" u2="&#xd5;" k="102" />
-<hkern u1="&#x2c;" u2="&#xd4;" k="102" />
-<hkern u1="&#x2c;" u2="&#xd3;" k="102" />
-<hkern u1="&#x2c;" u2="&#xd2;" k="102" />
-<hkern u1="&#x2c;" u2="&#xc7;" k="102" />
-<hkern u1="&#x2c;" u2="Y" k="123" />
-<hkern u1="&#x2c;" u2="W" k="123" />
-<hkern u1="&#x2c;" u2="V" k="123" />
-<hkern u1="&#x2c;" u2="U" k="41" />
-<hkern u1="&#x2c;" u2="T" k="143" />
-<hkern u1="&#x2c;" u2="Q" k="102" />
-<hkern u1="&#x2c;" u2="O" k="102" />
-<hkern u1="&#x2c;" u2="G" k="102" />
-<hkern u1="&#x2c;" u2="C" k="102" />
-<hkern u1="&#x2d;" u2="T" k="82" />
-<hkern u1="&#x2e;" u2="&#x178;" k="123" />
-<hkern u1="&#x2e;" u2="&#x152;" k="102" />
-<hkern u1="&#x2e;" u2="&#xdd;" k="123" />
-<hkern u1="&#x2e;" u2="&#xdc;" k="41" />
-<hkern u1="&#x2e;" u2="&#xdb;" k="41" />
-<hkern u1="&#x2e;" u2="&#xda;" k="41" />
-<hkern u1="&#x2e;" u2="&#xd9;" k="41" />
-<hkern u1="&#x2e;" u2="&#xd8;" k="102" />
-<hkern u1="&#x2e;" u2="&#xd6;" k="102" />
-<hkern u1="&#x2e;" u2="&#xd5;" k="102" />
-<hkern u1="&#x2e;" u2="&#xd4;" k="102" />
-<hkern u1="&#x2e;" u2="&#xd3;" k="102" />
-<hkern u1="&#x2e;" u2="&#xd2;" k="102" />
-<hkern u1="&#x2e;" u2="&#xc7;" k="102" />
-<hkern u1="&#x2e;" u2="Y" k="123" />
-<hkern u1="&#x2e;" u2="W" k="123" />
-<hkern u1="&#x2e;" u2="V" k="123" />
-<hkern u1="&#x2e;" u2="U" k="41" />
-<hkern u1="&#x2e;" u2="T" k="143" />
-<hkern u1="&#x2e;" u2="Q" k="102" />
-<hkern u1="&#x2e;" u2="O" k="102" />
-<hkern u1="&#x2e;" u2="G" k="102" />
-<hkern u1="&#x2e;" u2="C" k="102" />
-<hkern u1="A" u2="&#x201d;" k="143" />
-<hkern u1="A" u2="&#x2019;" k="143" />
-<hkern u1="A" u2="&#x178;" k="123" />
-<hkern u1="A" u2="&#x152;" k="41" />
-<hkern u1="A" u2="&#xdd;" k="123" />
-<hkern u1="A" u2="&#xd8;" k="41" />
-<hkern u1="A" u2="&#xd6;" k="41" />
-<hkern u1="A" u2="&#xd5;" k="41" />
-<hkern u1="A" u2="&#xd4;" k="41" />
-<hkern u1="A" u2="&#xd3;" k="41" />
-<hkern u1="A" u2="&#xd2;" k="41" />
-<hkern u1="A" u2="&#xc7;" k="41" />
-<hkern u1="A" u2="Y" k="123" />
-<hkern u1="A" u2="W" k="82" />
-<hkern u1="A" u2="V" k="82" />
-<hkern u1="A" u2="T" k="143" />
-<hkern u1="A" u2="Q" k="41" />
-<hkern u1="A" u2="O" k="41" />
-<hkern u1="A" u2="J" k="-266" />
-<hkern u1="A" u2="G" k="41" />
-<hkern u1="A" u2="C" k="41" />
-<hkern u1="A" u2="&#x27;" k="143" />
-<hkern u1="A" u2="&#x22;" k="143" />
-<hkern u1="B" u2="&#x201e;" k="82" />
-<hkern u1="B" u2="&#x201a;" k="82" />
-<hkern u1="B" u2="&#x178;" k="20" />
-<hkern u1="B" u2="&#xdd;" k="20" />
-<hkern u1="B" u2="&#xc5;" k="41" />
-<hkern u1="B" u2="&#xc4;" k="41" />
-<hkern u1="B" u2="&#xc3;" k="41" />
-<hkern u1="B" u2="&#xc2;" k="41" />
-<hkern u1="B" u2="&#xc1;" k="41" />
-<hkern u1="B" u2="&#xc0;" k="41" />
-<hkern u1="B" u2="Z" k="20" />
-<hkern u1="B" u2="Y" k="20" />
-<hkern u1="B" u2="X" k="41" />
-<hkern u1="B" u2="W" k="20" />
-<hkern u1="B" u2="V" k="20" />
-<hkern u1="B" u2="T" k="61" />
-<hkern u1="B" u2="A" k="41" />
-<hkern u1="B" u2="&#x2e;" k="82" />
-<hkern u1="B" u2="&#x2c;" k="82" />
-<hkern u1="C" u2="&#x152;" k="41" />
-<hkern u1="C" u2="&#xd8;" k="41" />
-<hkern u1="C" u2="&#xd6;" k="41" />
-<hkern u1="C" u2="&#xd5;" k="41" />
-<hkern u1="C" u2="&#xd4;" k="41" />
-<hkern u1="C" u2="&#xd3;" k="41" />
-<hkern u1="C" u2="&#xd2;" k="41" />
-<hkern u1="C" u2="&#xc7;" k="41" />
-<hkern u1="C" u2="Q" k="41" />
-<hkern u1="C" u2="O" k="41" />
-<hkern u1="C" u2="G" k="41" />
-<hkern u1="C" u2="C" k="41" />
-<hkern u1="D" u2="&#x201e;" k="82" />
-<hkern u1="D" u2="&#x201a;" k="82" />
-<hkern u1="D" u2="&#x178;" k="20" />
-<hkern u1="D" u2="&#xdd;" k="20" />
-<hkern u1="D" u2="&#xc5;" k="41" />
-<hkern u1="D" u2="&#xc4;" k="41" />
-<hkern u1="D" u2="&#xc3;" k="41" />
-<hkern u1="D" u2="&#xc2;" k="41" />
-<hkern u1="D" u2="&#xc1;" k="41" />
-<hkern u1="D" u2="&#xc0;" k="41" />
-<hkern u1="D" u2="Z" k="20" />
-<hkern u1="D" u2="Y" k="20" />
-<hkern u1="D" u2="X" k="41" />
-<hkern u1="D" u2="W" k="20" />
-<hkern u1="D" u2="V" k="20" />
-<hkern u1="D" u2="T" k="61" />
-<hkern u1="D" u2="A" k="41" />
-<hkern u1="D" u2="&#x2e;" k="82" />
-<hkern u1="D" u2="&#x2c;" k="82" />
-<hkern u1="E" u2="J" k="-123" />
-<hkern u1="F" u2="&#x201e;" k="123" />
-<hkern u1="F" u2="&#x201a;" k="123" />
-<hkern u1="F" u2="&#xc5;" k="41" />
-<hkern u1="F" u2="&#xc4;" k="41" />
-<hkern u1="F" u2="&#xc3;" k="41" />
-<hkern u1="F" u2="&#xc2;" k="41" />
-<hkern u1="F" u2="&#xc1;" k="41" />
-<hkern u1="F" u2="&#xc0;" k="41" />
-<hkern u1="F" u2="A" k="41" />
-<hkern u1="F" u2="&#x3f;" k="-41" />
-<hkern u1="F" u2="&#x2e;" k="123" />
-<hkern u1="F" u2="&#x2c;" k="123" />
-<hkern u1="K" u2="&#x152;" k="41" />
-<hkern u1="K" u2="&#xd8;" k="41" />
-<hkern u1="K" u2="&#xd6;" k="41" />
-<hkern u1="K" u2="&#xd5;" k="41" />
-<hkern u1="K" u2="&#xd4;" k="41" />
-<hkern u1="K" u2="&#xd3;" k="41" />
-<hkern u1="K" u2="&#xd2;" k="41" />
-<hkern u1="K" u2="&#xc7;" k="41" />
-<hkern u1="K" u2="Q" k="41" />
-<hkern u1="K" u2="O" k="41" />
-<hkern u1="K" u2="G" k="41" />
-<hkern u1="K" u2="C" k="41" />
-<hkern u1="L" u2="&#x201d;" k="164" />
-<hkern u1="L" u2="&#x2019;" k="164" />
-<hkern u1="L" u2="&#x178;" k="61" />
-<hkern u1="L" u2="&#x152;" k="41" />
-<hkern u1="L" u2="&#xdd;" k="61" />
-<hkern u1="L" u2="&#xdc;" k="20" />
-<hkern u1="L" u2="&#xdb;" k="20" />
-<hkern u1="L" u2="&#xda;" k="20" />
-<hkern u1="L" u2="&#xd9;" k="20" />
-<hkern u1="L" u2="&#xd8;" k="41" />
-<hkern u1="L" u2="&#xd6;" k="41" />
-<hkern u1="L" u2="&#xd5;" k="41" />
-<hkern u1="L" u2="&#xd4;" k="41" />
-<hkern u1="L" u2="&#xd3;" k="41" />
-<hkern u1="L" u2="&#xd2;" k="41" />
-<hkern u1="L" u2="&#xc7;" k="41" />
-<hkern u1="L" u2="Y" k="61" />
-<hkern u1="L" u2="W" k="41" />
-<hkern u1="L" u2="V" k="41" />
-<hkern u1="L" u2="U" k="20" />
-<hkern u1="L" u2="T" k="41" />
-<hkern u1="L" u2="Q" k="41" />
-<hkern u1="L" u2="O" k="41" />
-<hkern u1="L" u2="G" k="41" />
-<hkern u1="L" u2="C" k="41" />
-<hkern u1="L" u2="&#x27;" k="164" />
-<hkern u1="L" u2="&#x22;" k="164" />
-<hkern u1="O" u2="&#x201e;" k="82" />
-<hkern u1="O" u2="&#x201a;" k="82" />
-<hkern u1="O" u2="&#x178;" k="20" />
-<hkern u1="O" u2="&#xdd;" k="20" />
-<hkern u1="O" u2="&#xc5;" k="41" />
-<hkern u1="O" u2="&#xc4;" k="41" />
-<hkern u1="O" u2="&#xc3;" k="41" />
-<hkern u1="O" u2="&#xc2;" k="41" />
-<hkern u1="O" u2="&#xc1;" k="41" />
-<hkern u1="O" u2="&#xc0;" k="41" />
-<hkern u1="O" u2="Z" k="20" />
-<hkern u1="O" u2="Y" k="20" />
-<hkern u1="O" u2="X" k="41" />
-<hkern u1="O" u2="W" k="20" />
-<hkern u1="O" u2="V" k="20" />
-<hkern u1="O" u2="T" k="61" />
-<hkern u1="O" u2="A" k="41" />
-<hkern u1="O" u2="&#x2e;" k="82" />
-<hkern u1="O" u2="&#x2c;" k="82" />
-<hkern u1="P" u2="&#x201e;" k="266" />
-<hkern u1="P" u2="&#x201a;" k="266" />
-<hkern u1="P" u2="&#xc5;" k="102" />
-<hkern u1="P" u2="&#xc4;" k="102" />
-<hkern u1="P" u2="&#xc3;" k="102" />
-<hkern u1="P" u2="&#xc2;" k="102" />
-<hkern u1="P" u2="&#xc1;" k="102" />
-<hkern u1="P" u2="&#xc0;" k="102" />
-<hkern u1="P" u2="Z" k="20" />
-<hkern u1="P" u2="X" k="41" />
-<hkern u1="P" u2="A" k="102" />
-<hkern u1="P" u2="&#x2e;" k="266" />
-<hkern u1="P" u2="&#x2c;" k="266" />
-<hkern u1="Q" u2="&#x201e;" k="82" />
-<hkern u1="Q" u2="&#x201a;" k="82" />
-<hkern u1="Q" u2="&#x178;" k="20" />
-<hkern u1="Q" u2="&#xdd;" k="20" />
-<hkern u1="Q" u2="&#xc5;" k="41" />
-<hkern u1="Q" u2="&#xc4;" k="41" />
-<hkern u1="Q" u2="&#xc3;" k="41" />
-<hkern u1="Q" u2="&#xc2;" k="41" />
-<hkern u1="Q" u2="&#xc1;" k="41" />
-<hkern u1="Q" u2="&#xc0;" k="41" />
-<hkern u1="Q" u2="Z" k="20" />
-<hkern u1="Q" u2="Y" k="20" />
-<hkern u1="Q" u2="X" k="41" />
-<hkern u1="Q" u2="W" k="20" />
-<hkern u1="Q" u2="V" k="20" />
-<hkern u1="Q" u2="T" k="61" />
-<hkern u1="Q" u2="A" k="41" />
-<hkern u1="Q" u2="&#x2e;" k="82" />
-<hkern u1="Q" u2="&#x2c;" k="82" />
-<hkern u1="T" u2="&#x201e;" k="123" />
-<hkern u1="T" u2="&#x201a;" k="123" />
-<hkern u1="T" u2="&#x2014;" k="82" />
-<hkern u1="T" u2="&#x2013;" k="82" />
-<hkern u1="T" u2="&#x153;" k="143" />
-<hkern u1="T" u2="&#x152;" k="41" />
-<hkern u1="T" u2="&#xfd;" k="41" />
-<hkern u1="T" u2="&#xfc;" k="102" />
-<hkern u1="T" u2="&#xfb;" k="102" />
-<hkern u1="T" u2="&#xfa;" k="102" />
-<hkern u1="T" u2="&#xf9;" k="102" />
-<hkern u1="T" u2="&#xf8;" k="143" />
-<hkern u1="T" u2="&#xf6;" k="143" />
-<hkern u1="T" u2="&#xf5;" k="143" />
-<hkern u1="T" u2="&#xf4;" k="143" />
-<hkern u1="T" u2="&#xf3;" k="143" />
-<hkern u1="T" u2="&#xf2;" k="143" />
-<hkern u1="T" u2="&#xeb;" k="143" />
-<hkern u1="T" u2="&#xea;" k="143" />
-<hkern u1="T" u2="&#xe9;" k="143" />
-<hkern u1="T" u2="&#xe8;" k="143" />
-<hkern u1="T" u2="&#xe7;" k="143" />
-<hkern u1="T" u2="&#xe6;" k="164" />
-<hkern u1="T" u2="&#xe5;" k="164" />
-<hkern u1="T" u2="&#xe4;" k="164" />
-<hkern u1="T" u2="&#xe3;" k="164" />
-<hkern u1="T" u2="&#xe2;" k="164" />
-<hkern u1="T" u2="&#xe1;" k="164" />
-<hkern u1="T" u2="&#xe0;" k="143" />
-<hkern u1="T" u2="&#xd8;" k="41" />
-<hkern u1="T" u2="&#xd6;" k="41" />
-<hkern u1="T" u2="&#xd5;" k="41" />
-<hkern u1="T" u2="&#xd4;" k="41" />
-<hkern u1="T" u2="&#xd3;" k="41" />
-<hkern u1="T" u2="&#xd2;" k="41" />
-<hkern u1="T" u2="&#xc7;" k="41" />
-<hkern u1="T" u2="&#xc5;" k="143" />
-<hkern u1="T" u2="&#xc4;" k="143" />
-<hkern u1="T" u2="&#xc3;" k="143" />
-<hkern u1="T" u2="&#xc2;" k="143" />
-<hkern u1="T" u2="&#xc1;" k="143" />
-<hkern u1="T" u2="&#xc0;" k="143" />
-<hkern u1="T" u2="z" k="82" />
-<hkern u1="T" u2="y" k="41" />
-<hkern u1="T" u2="x" k="41" />
-<hkern u1="T" u2="w" k="41" />
-<hkern u1="T" u2="v" k="41" />
-<hkern u1="T" u2="u" k="102" />
-<hkern u1="T" u2="s" k="123" />
-<hkern u1="T" u2="r" k="102" />
-<hkern u1="T" u2="q" k="143" />
-<hkern u1="T" u2="p" k="102" />
-<hkern u1="T" u2="o" k="143" />
-<hkern u1="T" u2="n" k="102" />
-<hkern u1="T" u2="m" k="102" />
-<hkern u1="T" u2="g" k="143" />
-<hkern u1="T" u2="e" k="143" />
-<hkern u1="T" u2="d" k="143" />
-<hkern u1="T" u2="c" k="143" />
-<hkern u1="T" u2="a" k="164" />
-<hkern u1="T" u2="T" k="-41" />
-<hkern u1="T" u2="Q" k="41" />
-<hkern u1="T" u2="O" k="41" />
-<hkern u1="T" u2="G" k="41" />
-<hkern u1="T" u2="C" k="41" />
-<hkern u1="T" u2="A" k="143" />
-<hkern u1="T" u2="&#x3f;" k="-41" />
-<hkern u1="T" u2="&#x2e;" k="123" />
-<hkern u1="T" u2="&#x2d;" k="82" />
-<hkern u1="T" u2="&#x2c;" k="123" />
-<hkern u1="U" u2="&#x201e;" k="41" />
-<hkern u1="U" u2="&#x201a;" k="41" />
-<hkern u1="U" u2="&#xc5;" k="20" />
-<hkern u1="U" u2="&#xc4;" k="20" />
-<hkern u1="U" u2="&#xc3;" k="20" />
-<hkern u1="U" u2="&#xc2;" k="20" />
-<hkern u1="U" u2="&#xc1;" k="20" />
-<hkern u1="U" u2="&#xc0;" k="20" />
-<hkern u1="U" u2="A" k="20" />
-<hkern u1="U" u2="&#x2e;" k="41" />
-<hkern u1="U" u2="&#x2c;" k="41" />
-<hkern u1="V" u2="&#x201e;" k="102" />
-<hkern u1="V" u2="&#x201a;" k="102" />
-<hkern u1="V" u2="&#x153;" k="41" />
-<hkern u1="V" u2="&#x152;" k="20" />
-<hkern u1="V" u2="&#xfc;" k="20" />
-<hkern u1="V" u2="&#xfb;" k="20" />
-<hkern u1="V" u2="&#xfa;" k="20" />
-<hkern u1="V" u2="&#xf9;" k="20" />
-<hkern u1="V" u2="&#xf8;" k="41" />
-<hkern u1="V" u2="&#xf6;" k="41" />
-<hkern u1="V" u2="&#xf5;" k="41" />
-<hkern u1="V" u2="&#xf4;" k="41" />
-<hkern u1="V" u2="&#xf3;" k="41" />
-<hkern u1="V" u2="&#xf2;" k="41" />
-<hkern u1="V" u2="&#xeb;" k="41" />
-<hkern u1="V" u2="&#xea;" k="41" />
-<hkern u1="V" u2="&#xe9;" k="41" />
-<hkern u1="V" u2="&#xe8;" k="41" />
-<hkern u1="V" u2="&#xe7;" k="41" />
-<hkern u1="V" u2="&#xe6;" k="41" />
-<hkern u1="V" u2="&#xe5;" k="41" />
-<hkern u1="V" u2="&#xe4;" k="41" />
-<hkern u1="V" u2="&#xe3;" k="41" />
-<hkern u1="V" u2="&#xe2;" k="41" />
-<hkern u1="V" u2="&#xe1;" k="41" />
-<hkern u1="V" u2="&#xe0;" k="41" />
-<hkern u1="V" u2="&#xd8;" k="20" />
-<hkern u1="V" u2="&#xd6;" k="20" />
-<hkern u1="V" u2="&#xd5;" k="20" />
-<hkern u1="V" u2="&#xd4;" k="20" />
-<hkern u1="V" u2="&#xd3;" k="20" />
-<hkern u1="V" u2="&#xd2;" k="20" />
-<hkern u1="V" u2="&#xc7;" k="20" />
-<hkern u1="V" u2="&#xc5;" k="82" />
-<hkern u1="V" u2="&#xc4;" k="82" />
-<hkern u1="V" u2="&#xc3;" k="82" />
-<hkern u1="V" u2="&#xc2;" k="82" />
-<hkern u1="V" u2="&#xc1;" k="82" />
-<hkern u1="V" u2="&#xc0;" k="82" />
-<hkern u1="V" u2="u" k="20" />
-<hkern u1="V" u2="s" k="20" />
-<hkern u1="V" u2="r" k="20" />
-<hkern u1="V" u2="q" k="41" />
-<hkern u1="V" u2="p" k="20" />
-<hkern u1="V" u2="o" k="41" />
-<hkern u1="V" u2="n" k="20" />
-<hkern u1="V" u2="m" k="20" />
-<hkern u1="V" u2="g" k="20" />
-<hkern u1="V" u2="e" k="41" />
-<hkern u1="V" u2="d" k="41" />
-<hkern u1="V" u2="c" k="41" />
-<hkern u1="V" u2="a" k="41" />
-<hkern u1="V" u2="Q" k="20" />
-<hkern u1="V" u2="O" k="20" />
-<hkern u1="V" u2="G" k="20" />
-<hkern u1="V" u2="C" k="20" />
-<hkern u1="V" u2="A" k="82" />
-<hkern u1="V" u2="&#x3f;" k="-41" />
-<hkern u1="V" u2="&#x2e;" k="102" />
-<hkern u1="V" u2="&#x2c;" k="102" />
-<hkern u1="W" u2="&#x201e;" k="102" />
-<hkern u1="W" u2="&#x201a;" k="102" />
-<hkern u1="W" u2="&#x153;" k="41" />
-<hkern u1="W" u2="&#x152;" k="20" />
-<hkern u1="W" u2="&#xfc;" k="20" />
-<hkern u1="W" u2="&#xfb;" k="20" />
-<hkern u1="W" u2="&#xfa;" k="20" />
-<hkern u1="W" u2="&#xf9;" k="20" />
-<hkern u1="W" u2="&#xf8;" k="41" />
-<hkern u1="W" u2="&#xf6;" k="41" />
-<hkern u1="W" u2="&#xf5;" k="41" />
-<hkern u1="W" u2="&#xf4;" k="41" />
-<hkern u1="W" u2="&#xf3;" k="41" />
-<hkern u1="W" u2="&#xf2;" k="41" />
-<hkern u1="W" u2="&#xeb;" k="41" />
-<hkern u1="W" u2="&#xea;" k="41" />
-<hkern u1="W" u2="&#xe9;" k="41" />
-<hkern u1="W" u2="&#xe8;" k="41" />
-<hkern u1="W" u2="&#xe7;" k="41" />
-<hkern u1="W" u2="&#xe6;" k="41" />
-<hkern u1="W" u2="&#xe5;" k="41" />
-<hkern u1="W" u2="&#xe4;" k="41" />
-<hkern u1="W" u2="&#xe3;" k="41" />
-<hkern u1="W" u2="&#xe2;" k="41" />
-<hkern u1="W" u2="&#xe1;" k="41" />
-<hkern u1="W" u2="&#xe0;" k="41" />
-<hkern u1="W" u2="&#xd8;" k="20" />
-<hkern u1="W" u2="&#xd6;" k="20" />
-<hkern u1="W" u2="&#xd5;" k="20" />
-<hkern u1="W" u2="&#xd4;" k="20" />
-<hkern u1="W" u2="&#xd3;" k="20" />
-<hkern u1="W" u2="&#xd2;" k="20" />
-<hkern u1="W" u2="&#xc7;" k="20" />
-<hkern u1="W" u2="&#xc5;" k="82" />
-<hkern u1="W" u2="&#xc4;" k="82" />
-<hkern u1="W" u2="&#xc3;" k="82" />
-<hkern u1="W" u2="&#xc2;" k="82" />
-<hkern u1="W" u2="&#xc1;" k="82" />
-<hkern u1="W" u2="&#xc0;" k="82" />
-<hkern u1="W" u2="u" k="20" />
-<hkern u1="W" u2="s" k="20" />
-<hkern u1="W" u2="r" k="20" />
-<hkern u1="W" u2="q" k="41" />
-<hkern u1="W" u2="p" k="20" />
-<hkern u1="W" u2="o" k="41" />
-<hkern u1="W" u2="n" k="20" />
-<hkern u1="W" u2="m" k="20" />
-<hkern u1="W" u2="g" k="20" />
-<hkern u1="W" u2="e" k="41" />
-<hkern u1="W" u2="d" k="41" />
-<hkern u1="W" u2="c" k="41" />
-<hkern u1="W" u2="a" k="41" />
-<hkern u1="W" u2="Q" k="20" />
-<hkern u1="W" u2="O" k="20" />
-<hkern u1="W" u2="G" k="20" />
-<hkern u1="W" u2="C" k="20" />
-<hkern u1="W" u2="A" k="82" />
-<hkern u1="W" u2="&#x3f;" k="-41" />
-<hkern u1="W" u2="&#x2e;" k="102" />
-<hkern u1="W" u2="&#x2c;" k="102" />
-<hkern u1="X" u2="&#x152;" k="41" />
-<hkern u1="X" u2="&#xd8;" k="41" />
-<hkern u1="X" u2="&#xd6;" k="41" />
-<hkern u1="X" u2="&#xd5;" k="41" />
-<hkern u1="X" u2="&#xd4;" k="41" />
-<hkern u1="X" u2="&#xd3;" k="41" />
-<hkern u1="X" u2="&#xd2;" k="41" />
-<hkern u1="X" u2="&#xc7;" k="41" />
-<hkern u1="X" u2="Q" k="41" />
-<hkern u1="X" u2="O" k="41" />
-<hkern u1="X" u2="G" k="41" />
-<hkern u1="X" u2="C" k="41" />
-<hkern u1="Y" u2="&#x201e;" k="123" />
-<hkern u1="Y" u2="&#x201a;" k="123" />
-<hkern u1="Y" u2="&#x153;" k="102" />
-<hkern u1="Y" u2="&#x152;" k="41" />
-<hkern u1="Y" u2="&#xfc;" k="61" />
-<hkern u1="Y" u2="&#xfb;" k="61" />
-<hkern u1="Y" u2="&#xfa;" k="61" />
-<hkern u1="Y" u2="&#xf9;" k="61" />
-<hkern u1="Y" u2="&#xf8;" k="102" />
-<hkern u1="Y" u2="&#xf6;" k="102" />
-<hkern u1="Y" u2="&#xf5;" k="102" />
-<hkern u1="Y" u2="&#xf4;" k="102" />
-<hkern u1="Y" u2="&#xf3;" k="102" />
-<hkern u1="Y" u2="&#xf2;" k="102" />
-<hkern u1="Y" u2="&#xeb;" k="102" />
-<hkern u1="Y" u2="&#xea;" k="102" />
-<hkern u1="Y" u2="&#xe9;" k="102" />
-<hkern u1="Y" u2="&#xe8;" k="102" />
-<hkern u1="Y" u2="&#xe7;" k="102" />
-<hkern u1="Y" u2="&#xe6;" k="102" />
-<hkern u1="Y" u2="&#xe5;" k="102" />
-<hkern u1="Y" u2="&#xe4;" k="102" />
-<hkern u1="Y" u2="&#xe3;" k="102" />
-<hkern u1="Y" u2="&#xe2;" k="102" />
-<hkern u1="Y" u2="&#xe1;" k="102" />
-<hkern u1="Y" u2="&#xe0;" k="102" />
-<hkern u1="Y" u2="&#xd8;" k="41" />
-<hkern u1="Y" u2="&#xd6;" k="41" />
-<hkern u1="Y" u2="&#xd5;" k="41" />
-<hkern u1="Y" u2="&#xd4;" k="41" />
-<hkern u1="Y" u2="&#xd3;" k="41" />
-<hkern u1="Y" u2="&#xd2;" k="41" />
-<hkern u1="Y" u2="&#xc7;" k="41" />
-<hkern u1="Y" u2="&#xc5;" k="123" />
-<hkern u1="Y" u2="&#xc4;" k="123" />
-<hkern u1="Y" u2="&#xc3;" k="123" />
-<hkern u1="Y" u2="&#xc2;" k="123" />
-<hkern u1="Y" u2="&#xc1;" k="123" />
-<hkern u1="Y" u2="&#xc0;" k="123" />
-<hkern u1="Y" u2="z" k="41" />
-<hkern u1="Y" u2="u" k="61" />
-<hkern u1="Y" u2="s" k="82" />
-<hkern u1="Y" u2="r" k="61" />
-<hkern u1="Y" u2="q" k="102" />
-<hkern u1="Y" u2="p" k="61" />
-<hkern u1="Y" u2="o" k="102" />
-<hkern u1="Y" u2="n" k="61" />
-<hkern u1="Y" u2="m" k="61" />
-<hkern u1="Y" u2="g" k="41" />
-<hkern u1="Y" u2="e" k="102" />
-<hkern u1="Y" u2="d" k="102" />
-<hkern u1="Y" u2="c" k="102" />
-<hkern u1="Y" u2="a" k="102" />
-<hkern u1="Y" u2="Q" k="41" />
-<hkern u1="Y" u2="O" k="41" />
-<hkern u1="Y" u2="G" k="41" />
-<hkern u1="Y" u2="C" k="41" />
-<hkern u1="Y" u2="A" k="123" />
-<hkern u1="Y" u2="&#x3f;" k="-41" />
-<hkern u1="Y" u2="&#x2e;" k="123" />
-<hkern u1="Y" u2="&#x2c;" k="123" />
-<hkern u1="Z" u2="&#x152;" k="20" />
-<hkern u1="Z" u2="&#xd8;" k="20" />
-<hkern u1="Z" u2="&#xd6;" k="20" />
-<hkern u1="Z" u2="&#xd5;" k="20" />
-<hkern u1="Z" u2="&#xd4;" k="20" />
-<hkern u1="Z" u2="&#xd3;" k="20" />
-<hkern u1="Z" u2="&#xd2;" k="20" />
-<hkern u1="Z" u2="&#xc7;" k="20" />
-<hkern u1="Z" u2="Q" k="20" />
-<hkern u1="Z" u2="O" k="20" />
-<hkern u1="Z" u2="G" k="20" />
-<hkern u1="Z" u2="C" k="20" />
-<hkern u1="[" u2="J" k="-184" />
-<hkern u1="a" u2="&#x201d;" k="20" />
-<hkern u1="a" u2="&#x2019;" k="20" />
-<hkern u1="a" u2="&#x27;" k="20" />
-<hkern u1="a" u2="&#x22;" k="20" />
-<hkern u1="b" u2="&#x201d;" k="20" />
-<hkern u1="b" u2="&#x2019;" k="20" />
-<hkern u1="b" u2="&#xfd;" k="41" />
-<hkern u1="b" u2="z" k="20" />
-<hkern u1="b" u2="y" k="41" />
-<hkern u1="b" u2="x" k="41" />
-<hkern u1="b" u2="w" k="41" />
-<hkern u1="b" u2="v" k="41" />
-<hkern u1="b" u2="&#x27;" k="20" />
-<hkern u1="b" u2="&#x22;" k="20" />
-<hkern u1="c" u2="&#x201d;" k="-41" />
-<hkern u1="c" u2="&#x2019;" k="-41" />
-<hkern u1="c" u2="&#x27;" k="-41" />
-<hkern u1="c" u2="&#x22;" k="-41" />
-<hkern u1="e" u2="&#x201d;" k="20" />
-<hkern u1="e" u2="&#x2019;" k="20" />
-<hkern u1="e" u2="&#xfd;" k="41" />
-<hkern u1="e" u2="z" k="20" />
-<hkern u1="e" u2="y" k="41" />
-<hkern u1="e" u2="x" k="41" />
-<hkern u1="e" u2="w" k="41" />
-<hkern u1="e" u2="v" k="41" />
-<hkern u1="e" u2="&#x27;" k="20" />
-<hkern u1="e" u2="&#x22;" k="20" />
-<hkern u1="f" u2="&#x201d;" k="-123" />
-<hkern u1="f" u2="&#x2019;" k="-123" />
-<hkern u1="f" u2="&#x27;" k="-123" />
-<hkern u1="f" u2="&#x22;" k="-123" />
-<hkern u1="h" u2="&#x201d;" k="20" />
-<hkern u1="h" u2="&#x2019;" k="20" />
-<hkern u1="h" u2="&#x27;" k="20" />
-<hkern u1="h" u2="&#x22;" k="20" />
-<hkern u1="k" u2="&#x153;" k="41" />
-<hkern u1="k" u2="&#xf8;" k="41" />
-<hkern u1="k" u2="&#xf6;" k="41" />
-<hkern u1="k" u2="&#xf5;" k="41" />
-<hkern u1="k" u2="&#xf4;" k="41" />
-<hkern u1="k" u2="&#xf3;" k="41" />
-<hkern u1="k" u2="&#xf2;" k="41" />
-<hkern u1="k" u2="&#xeb;" k="41" />
-<hkern u1="k" u2="&#xea;" k="41" />
-<hkern u1="k" u2="&#xe9;" k="41" />
-<hkern u1="k" u2="&#xe8;" k="41" />
-<hkern u1="k" u2="&#xe7;" k="41" />
-<hkern u1="k" u2="&#xe0;" k="41" />
-<hkern u1="k" u2="q" k="41" />
-<hkern u1="k" u2="o" k="41" />
-<hkern u1="k" u2="e" k="41" />
-<hkern u1="k" u2="d" k="41" />
-<hkern u1="k" u2="c" k="41" />
-<hkern u1="m" u2="&#x201d;" k="20" />
-<hkern u1="m" u2="&#x2019;" k="20" />
-<hkern u1="m" u2="&#x27;" k="20" />
-<hkern u1="m" u2="&#x22;" k="20" />
-<hkern u1="n" u2="&#x201d;" k="20" />
-<hkern u1="n" u2="&#x2019;" k="20" />
-<hkern u1="n" u2="&#x27;" k="20" />
-<hkern u1="n" u2="&#x22;" k="20" />
-<hkern u1="o" u2="&#x201d;" k="20" />
-<hkern u1="o" u2="&#x2019;" k="20" />
-<hkern u1="o" u2="&#xfd;" k="41" />
-<hkern u1="o" u2="z" k="20" />
-<hkern u1="o" u2="y" k="41" />
-<hkern u1="o" u2="x" k="41" />
-<hkern u1="o" u2="w" k="41" />
-<hkern u1="o" u2="v" k="41" />
-<hkern u1="o" u2="&#x27;" k="20" />
-<hkern u1="o" u2="&#x22;" k="20" />
-<hkern u1="p" u2="&#x201d;" k="20" />
-<hkern u1="p" u2="&#x2019;" k="20" />
-<hkern u1="p" u2="&#xfd;" k="41" />
-<hkern u1="p" u2="z" k="20" />
-<hkern u1="p" u2="y" k="41" />
-<hkern u1="p" u2="x" k="41" />
-<hkern u1="p" u2="w" k="41" />
-<hkern u1="p" u2="v" k="41" />
-<hkern u1="p" u2="&#x27;" k="20" />
-<hkern u1="p" u2="&#x22;" k="20" />
-<hkern u1="r" u2="&#x201d;" k="-82" />
-<hkern u1="r" u2="&#x2019;" k="-82" />
-<hkern u1="r" u2="&#x153;" k="41" />
-<hkern u1="r" u2="&#xf8;" k="41" />
-<hkern u1="r" u2="&#xf6;" k="41" />
-<hkern u1="r" u2="&#xf5;" k="41" />
-<hkern u1="r" u2="&#xf4;" k="41" />
-<hkern u1="r" u2="&#xf3;" k="41" />
-<hkern u1="r" u2="&#xf2;" k="41" />
-<hkern u1="r" u2="&#xeb;" k="41" />
-<hkern u1="r" u2="&#xea;" k="41" />
-<hkern u1="r" u2="&#xe9;" k="41" />
-<hkern u1="r" u2="&#xe8;" k="41" />
-<hkern u1="r" u2="&#xe7;" k="41" />
-<hkern u1="r" u2="&#xe6;" k="41" />
-<hkern u1="r" u2="&#xe5;" k="41" />
-<hkern u1="r" u2="&#xe4;" k="41" />
-<hkern u1="r" u2="&#xe3;" k="41" />
-<hkern u1="r" u2="&#xe2;" k="41" />
-<hkern u1="r" u2="&#xe1;" k="41" />
-<hkern u1="r" u2="&#xe0;" k="41" />
-<hkern u1="r" u2="q" k="41" />
-<hkern u1="r" u2="o" k="41" />
-<hkern u1="r" u2="g" k="20" />
-<hkern u1="r" u2="e" k="41" />
-<hkern u1="r" u2="d" k="41" />
-<hkern u1="r" u2="c" k="41" />
-<hkern u1="r" u2="a" k="41" />
-<hkern u1="r" u2="&#x27;" k="-82" />
-<hkern u1="r" u2="&#x22;" k="-82" />
-<hkern u1="t" u2="&#x201d;" k="-41" />
-<hkern u1="t" u2="&#x2019;" k="-41" />
-<hkern u1="t" u2="&#x27;" k="-41" />
-<hkern u1="t" u2="&#x22;" k="-41" />
-<hkern u1="v" u2="&#x201e;" k="82" />
-<hkern u1="v" u2="&#x201d;" k="-82" />
-<hkern u1="v" u2="&#x201a;" k="82" />
-<hkern u1="v" u2="&#x2019;" k="-82" />
-<hkern u1="v" u2="&#x3f;" k="-41" />
-<hkern u1="v" u2="&#x2e;" k="82" />
-<hkern u1="v" u2="&#x2c;" k="82" />
-<hkern u1="v" u2="&#x27;" k="-82" />
-<hkern u1="v" u2="&#x22;" k="-82" />
-<hkern u1="w" u2="&#x201e;" k="82" />
-<hkern u1="w" u2="&#x201d;" k="-82" />
-<hkern u1="w" u2="&#x201a;" k="82" />
-<hkern u1="w" u2="&#x2019;" k="-82" />
-<hkern u1="w" u2="&#x3f;" k="-41" />
-<hkern u1="w" u2="&#x2e;" k="82" />
-<hkern u1="w" u2="&#x2c;" k="82" />
-<hkern u1="w" u2="&#x27;" k="-82" />
-<hkern u1="w" u2="&#x22;" k="-82" />
-<hkern u1="x" u2="&#x153;" k="41" />
-<hkern u1="x" u2="&#xf8;" k="41" />
-<hkern u1="x" u2="&#xf6;" k="41" />
-<hkern u1="x" u2="&#xf5;" k="41" />
-<hkern u1="x" u2="&#xf4;" k="41" />
-<hkern u1="x" u2="&#xf3;" k="41" />
-<hkern u1="x" u2="&#xf2;" k="41" />
-<hkern u1="x" u2="&#xeb;" k="41" />
-<hkern u1="x" u2="&#xea;" k="41" />
-<hkern u1="x" u2="&#xe9;" k="41" />
-<hkern u1="x" u2="&#xe8;" k="41" />
-<hkern u1="x" u2="&#xe7;" k="41" />
-<hkern u1="x" u2="&#xe0;" k="41" />
-<hkern u1="x" u2="q" k="41" />
-<hkern u1="x" u2="o" k="41" />
-<hkern u1="x" u2="e" k="41" />
-<hkern u1="x" u2="d" k="41" />
-<hkern u1="x" u2="c" k="41" />
-<hkern u1="y" u2="&#x201e;" k="82" />
-<hkern u1="y" u2="&#x201d;" k="-82" />
-<hkern u1="y" u2="&#x201a;" k="82" />
-<hkern u1="y" u2="&#x2019;" k="-82" />
-<hkern u1="y" u2="&#x3f;" k="-41" />
-<hkern u1="y" u2="&#x2e;" k="82" />
-<hkern u1="y" u2="&#x2c;" k="82" />
-<hkern u1="y" u2="&#x27;" k="-82" />
-<hkern u1="y" u2="&#x22;" k="-82" />
-<hkern u1="&#x7b;" u2="J" k="-184" />
-<hkern u1="&#xc0;" u2="&#x201d;" k="143" />
-<hkern u1="&#xc0;" u2="&#x2019;" k="143" />
-<hkern u1="&#xc0;" u2="&#x178;" k="123" />
-<hkern u1="&#xc0;" u2="&#x152;" k="41" />
-<hkern u1="&#xc0;" u2="&#xdd;" k="123" />
-<hkern u1="&#xc0;" u2="&#xd8;" k="41" />
-<hkern u1="&#xc0;" u2="&#xd6;" k="41" />
-<hkern u1="&#xc0;" u2="&#xd5;" k="41" />
-<hkern u1="&#xc0;" u2="&#xd4;" k="41" />
-<hkern u1="&#xc0;" u2="&#xd3;" k="41" />
-<hkern u1="&#xc0;" u2="&#xd2;" k="41" />
-<hkern u1="&#xc0;" u2="&#xc7;" k="41" />
-<hkern u1="&#xc0;" u2="Y" k="123" />
-<hkern u1="&#xc0;" u2="W" k="82" />
-<hkern u1="&#xc0;" u2="V" k="82" />
-<hkern u1="&#xc0;" u2="T" k="143" />
-<hkern u1="&#xc0;" u2="Q" k="41" />
-<hkern u1="&#xc0;" u2="O" k="41" />
-<hkern u1="&#xc0;" u2="J" k="-266" />
-<hkern u1="&#xc0;" u2="G" k="41" />
-<hkern u1="&#xc0;" u2="C" k="41" />
-<hkern u1="&#xc0;" u2="&#x27;" k="143" />
-<hkern u1="&#xc0;" u2="&#x22;" k="143" />
-<hkern u1="&#xc1;" u2="&#x201d;" k="143" />
-<hkern u1="&#xc1;" u2="&#x2019;" k="143" />
-<hkern u1="&#xc1;" u2="&#x178;" k="123" />
-<hkern u1="&#xc1;" u2="&#x152;" k="41" />
-<hkern u1="&#xc1;" u2="&#xdd;" k="123" />
-<hkern u1="&#xc1;" u2="&#xd8;" k="41" />
-<hkern u1="&#xc1;" u2="&#xd6;" k="41" />
-<hkern u1="&#xc1;" u2="&#xd5;" k="41" />
-<hkern u1="&#xc1;" u2="&#xd4;" k="41" />
-<hkern u1="&#xc1;" u2="&#xd3;" k="41" />
-<hkern u1="&#xc1;" u2="&#xd2;" k="41" />
-<hkern u1="&#xc1;" u2="&#xc7;" k="41" />
-<hkern u1="&#xc1;" u2="Y" k="123" />
-<hkern u1="&#xc1;" u2="W" k="82" />
-<hkern u1="&#xc1;" u2="V" k="82" />
-<hkern u1="&#xc1;" u2="T" k="143" />
-<hkern u1="&#xc1;" u2="Q" k="41" />
-<hkern u1="&#xc1;" u2="O" k="41" />
-<hkern u1="&#xc1;" u2="J" k="-266" />
-<hkern u1="&#xc1;" u2="G" k="41" />
-<hkern u1="&#xc1;" u2="C" k="41" />
-<hkern u1="&#xc1;" u2="&#x27;" k="143" />
-<hkern u1="&#xc1;" u2="&#x22;" k="143" />
-<hkern u1="&#xc2;" u2="&#x201d;" k="143" />
-<hkern u1="&#xc2;" u2="&#x2019;" k="143" />
-<hkern u1="&#xc2;" u2="&#x178;" k="123" />
-<hkern u1="&#xc2;" u2="&#x152;" k="41" />
-<hkern u1="&#xc2;" u2="&#xdd;" k="123" />
-<hkern u1="&#xc2;" u2="&#xd8;" k="41" />
-<hkern u1="&#xc2;" u2="&#xd6;" k="41" />
-<hkern u1="&#xc2;" u2="&#xd5;" k="41" />
-<hkern u1="&#xc2;" u2="&#xd4;" k="41" />
-<hkern u1="&#xc2;" u2="&#xd3;" k="41" />
-<hkern u1="&#xc2;" u2="&#xd2;" k="41" />
-<hkern u1="&#xc2;" u2="&#xc7;" k="41" />
-<hkern u1="&#xc2;" u2="Y" k="123" />
-<hkern u1="&#xc2;" u2="W" k="82" />
-<hkern u1="&#xc2;" u2="V" k="82" />
-<hkern u1="&#xc2;" u2="T" k="143" />
-<hkern u1="&#xc2;" u2="Q" k="41" />
-<hkern u1="&#xc2;" u2="O" k="41" />
-<hkern u1="&#xc2;" u2="J" k="-266" />
-<hkern u1="&#xc2;" u2="G" k="41" />
-<hkern u1="&#xc2;" u2="C" k="41" />
-<hkern u1="&#xc2;" u2="&#x27;" k="143" />
-<hkern u1="&#xc2;" u2="&#x22;" k="143" />
-<hkern u1="&#xc3;" u2="&#x201d;" k="143" />
-<hkern u1="&#xc3;" u2="&#x2019;" k="143" />
-<hkern u1="&#xc3;" u2="&#x178;" k="123" />
-<hkern u1="&#xc3;" u2="&#x152;" k="41" />
-<hkern u1="&#xc3;" u2="&#xdd;" k="123" />
-<hkern u1="&#xc3;" u2="&#xd8;" k="41" />
-<hkern u1="&#xc3;" u2="&#xd6;" k="41" />
-<hkern u1="&#xc3;" u2="&#xd5;" k="41" />
-<hkern u1="&#xc3;" u2="&#xd4;" k="41" />
-<hkern u1="&#xc3;" u2="&#xd3;" k="41" />
-<hkern u1="&#xc3;" u2="&#xd2;" k="41" />
-<hkern u1="&#xc3;" u2="&#xc7;" k="41" />
-<hkern u1="&#xc3;" u2="Y" k="123" />
-<hkern u1="&#xc3;" u2="W" k="82" />
-<hkern u1="&#xc3;" u2="V" k="82" />
-<hkern u1="&#xc3;" u2="T" k="143" />
-<hkern u1="&#xc3;" u2="Q" k="41" />
-<hkern u1="&#xc3;" u2="O" k="41" />
-<hkern u1="&#xc3;" u2="J" k="-266" />
-<hkern u1="&#xc3;" u2="G" k="41" />
-<hkern u1="&#xc3;" u2="C" k="41" />
-<hkern u1="&#xc3;" u2="&#x27;" k="143" />
-<hkern u1="&#xc3;" u2="&#x22;" k="143" />
-<hkern u1="&#xc4;" u2="&#x201d;" k="143" />
-<hkern u1="&#xc4;" u2="&#x2019;" k="143" />
-<hkern u1="&#xc4;" u2="&#x178;" k="123" />
-<hkern u1="&#xc4;" u2="&#x152;" k="41" />
-<hkern u1="&#xc4;" u2="&#xdd;" k="123" />
-<hkern u1="&#xc4;" u2="&#xd8;" k="41" />
-<hkern u1="&#xc4;" u2="&#xd6;" k="41" />
-<hkern u1="&#xc4;" u2="&#xd5;" k="41" />
-<hkern u1="&#xc4;" u2="&#xd4;" k="41" />
-<hkern u1="&#xc4;" u2="&#xd3;" k="41" />
-<hkern u1="&#xc4;" u2="&#xd2;" k="41" />
-<hkern u1="&#xc4;" u2="&#xc7;" k="41" />
-<hkern u1="&#xc4;" u2="Y" k="123" />
-<hkern u1="&#xc4;" u2="W" k="82" />
-<hkern u1="&#xc4;" u2="V" k="82" />
-<hkern u1="&#xc4;" u2="T" k="143" />
-<hkern u1="&#xc4;" u2="Q" k="41" />
-<hkern u1="&#xc4;" u2="O" k="41" />
-<hkern u1="&#xc4;" u2="J" k="-266" />
-<hkern u1="&#xc4;" u2="G" k="41" />
-<hkern u1="&#xc4;" u2="C" k="41" />
-<hkern u1="&#xc4;" u2="&#x27;" k="143" />
-<hkern u1="&#xc4;" u2="&#x22;" k="143" />
-<hkern u1="&#xc5;" u2="&#x201d;" k="143" />
-<hkern u1="&#xc5;" u2="&#x2019;" k="143" />
-<hkern u1="&#xc5;" u2="&#x178;" k="123" />
-<hkern u1="&#xc5;" u2="&#x152;" k="41" />
-<hkern u1="&#xc5;" u2="&#xdd;" k="123" />
-<hkern u1="&#xc5;" u2="&#xd8;" k="41" />
-<hkern u1="&#xc5;" u2="&#xd6;" k="41" />
-<hkern u1="&#xc5;" u2="&#xd5;" k="41" />
-<hkern u1="&#xc5;" u2="&#xd4;" k="41" />
-<hkern u1="&#xc5;" u2="&#xd3;" k="41" />
-<hkern u1="&#xc5;" u2="&#xd2;" k="41" />
-<hkern u1="&#xc5;" u2="&#xc7;" k="41" />
-<hkern u1="&#xc5;" u2="Y" k="123" />
-<hkern u1="&#xc5;" u2="W" k="82" />
-<hkern u1="&#xc5;" u2="V" k="82" />
-<hkern u1="&#xc5;" u2="T" k="143" />
-<hkern u1="&#xc5;" u2="Q" k="41" />
-<hkern u1="&#xc5;" u2="O" k="41" />
-<hkern u1="&#xc5;" u2="J" k="-266" />
-<hkern u1="&#xc5;" u2="G" k="41" />
-<hkern u1="&#xc5;" u2="C" k="41" />
-<hkern u1="&#xc5;" u2="&#x27;" k="143" />
-<hkern u1="&#xc5;" u2="&#x22;" k="143" />
-<hkern u1="&#xc6;" u2="J" k="-123" />
-<hkern u1="&#xc7;" u2="&#x152;" k="41" />
-<hkern u1="&#xc7;" u2="&#xd8;" k="41" />
-<hkern u1="&#xc7;" u2="&#xd6;" k="41" />
-<hkern u1="&#xc7;" u2="&#xd5;" k="41" />
-<hkern u1="&#xc7;" u2="&#xd4;" k="41" />
-<hkern u1="&#xc7;" u2="&#xd3;" k="41" />
-<hkern u1="&#xc7;" u2="&#xd2;" k="41" />
-<hkern u1="&#xc7;" u2="&#xc7;" k="41" />
-<hkern u1="&#xc7;" u2="Q" k="41" />
-<hkern u1="&#xc7;" u2="O" k="41" />
-<hkern u1="&#xc7;" u2="G" k="41" />
-<hkern u1="&#xc7;" u2="C" k="41" />
-<hkern u1="&#xc8;" u2="J" k="-123" />
-<hkern u1="&#xc9;" u2="J" k="-123" />
-<hkern u1="&#xca;" u2="J" k="-123" />
-<hkern u1="&#xcb;" u2="J" k="-123" />
-<hkern u1="&#xd0;" u2="&#x201e;" k="82" />
-<hkern u1="&#xd0;" u2="&#x201a;" k="82" />
-<hkern u1="&#xd0;" u2="&#x178;" k="20" />
-<hkern u1="&#xd0;" u2="&#xdd;" k="20" />
-<hkern u1="&#xd0;" u2="&#xc5;" k="41" />
-<hkern u1="&#xd0;" u2="&#xc4;" k="41" />
-<hkern u1="&#xd0;" u2="&#xc3;" k="41" />
-<hkern u1="&#xd0;" u2="&#xc2;" k="41" />
-<hkern u1="&#xd0;" u2="&#xc1;" k="41" />
-<hkern u1="&#xd0;" u2="&#xc0;" k="41" />
-<hkern u1="&#xd0;" u2="Z" k="20" />
-<hkern u1="&#xd0;" u2="Y" k="20" />
-<hkern u1="&#xd0;" u2="X" k="41" />
-<hkern u1="&#xd0;" u2="W" k="20" />
-<hkern u1="&#xd0;" u2="V" k="20" />
-<hkern u1="&#xd0;" u2="T" k="61" />
-<hkern u1="&#xd0;" u2="A" k="41" />
-<hkern u1="&#xd0;" u2="&#x2e;" k="82" />
-<hkern u1="&#xd0;" u2="&#x2c;" k="82" />
-<hkern u1="&#xd2;" u2="&#x201e;" k="82" />
-<hkern u1="&#xd2;" u2="&#x201a;" k="82" />
-<hkern u1="&#xd2;" u2="&#x178;" k="20" />
-<hkern u1="&#xd2;" u2="&#xdd;" k="20" />
-<hkern u1="&#xd2;" u2="&#xc5;" k="41" />
-<hkern u1="&#xd2;" u2="&#xc4;" k="41" />
-<hkern u1="&#xd2;" u2="&#xc3;" k="41" />
-<hkern u1="&#xd2;" u2="&#xc2;" k="41" />
-<hkern u1="&#xd2;" u2="&#xc1;" k="41" />
-<hkern u1="&#xd2;" u2="&#xc0;" k="41" />
-<hkern u1="&#xd2;" u2="Z" k="20" />
-<hkern u1="&#xd2;" u2="Y" k="20" />
-<hkern u1="&#xd2;" u2="X" k="41" />
-<hkern u1="&#xd2;" u2="W" k="20" />
-<hkern u1="&#xd2;" u2="V" k="20" />
-<hkern u1="&#xd2;" u2="T" k="61" />
-<hkern u1="&#xd2;" u2="A" k="41" />
-<hkern u1="&#xd2;" u2="&#x2e;" k="82" />
-<hkern u1="&#xd2;" u2="&#x2c;" k="82" />
-<hkern u1="&#xd3;" u2="&#x201e;" k="82" />
-<hkern u1="&#xd3;" u2="&#x201a;" k="82" />
-<hkern u1="&#xd3;" u2="&#x178;" k="20" />
-<hkern u1="&#xd3;" u2="&#xdd;" k="20" />
-<hkern u1="&#xd3;" u2="&#xc5;" k="41" />
-<hkern u1="&#xd3;" u2="&#xc4;" k="41" />
-<hkern u1="&#xd3;" u2="&#xc3;" k="41" />
-<hkern u1="&#xd3;" u2="&#xc2;" k="41" />
-<hkern u1="&#xd3;" u2="&#xc1;" k="41" />
-<hkern u1="&#xd3;" u2="&#xc0;" k="41" />
-<hkern u1="&#xd3;" u2="Z" k="20" />
-<hkern u1="&#xd3;" u2="Y" k="20" />
-<hkern u1="&#xd3;" u2="X" k="41" />
-<hkern u1="&#xd3;" u2="W" k="20" />
-<hkern u1="&#xd3;" u2="V" k="20" />
-<hkern u1="&#xd3;" u2="T" k="61" />
-<hkern u1="&#xd3;" u2="A" k="41" />
-<hkern u1="&#xd3;" u2="&#x2e;" k="82" />
-<hkern u1="&#xd3;" u2="&#x2c;" k="82" />
-<hkern u1="&#xd4;" u2="&#x201e;" k="82" />
-<hkern u1="&#xd4;" u2="&#x201a;" k="82" />
-<hkern u1="&#xd4;" u2="&#x178;" k="20" />
-<hkern u1="&#xd4;" u2="&#xdd;" k="20" />
-<hkern u1="&#xd4;" u2="&#xc5;" k="41" />
-<hkern u1="&#xd4;" u2="&#xc4;" k="41" />
-<hkern u1="&#xd4;" u2="&#xc3;" k="41" />
-<hkern u1="&#xd4;" u2="&#xc2;" k="41" />
-<hkern u1="&#xd4;" u2="&#xc1;" k="41" />
-<hkern u1="&#xd4;" u2="&#xc0;" k="41" />
-<hkern u1="&#xd4;" u2="Z" k="20" />
-<hkern u1="&#xd4;" u2="Y" k="20" />
-<hkern u1="&#xd4;" u2="X" k="41" />
-<hkern u1="&#xd4;" u2="W" k="20" />
-<hkern u1="&#xd4;" u2="V" k="20" />
-<hkern u1="&#xd4;" u2="T" k="61" />
-<hkern u1="&#xd4;" u2="A" k="41" />
-<hkern u1="&#xd4;" u2="&#x2e;" k="82" />
-<hkern u1="&#xd4;" u2="&#x2c;" k="82" />
-<hkern u1="&#xd5;" u2="&#x201e;" k="82" />
-<hkern u1="&#xd5;" u2="&#x201a;" k="82" />
-<hkern u1="&#xd5;" u2="&#x178;" k="20" />
-<hkern u1="&#xd5;" u2="&#xdd;" k="20" />
-<hkern u1="&#xd5;" u2="&#xc5;" k="41" />
-<hkern u1="&#xd5;" u2="&#xc4;" k="41" />
-<hkern u1="&#xd5;" u2="&#xc3;" k="41" />
-<hkern u1="&#xd5;" u2="&#xc2;" k="41" />
-<hkern u1="&#xd5;" u2="&#xc1;" k="41" />
-<hkern u1="&#xd5;" u2="&#xc0;" k="41" />
-<hkern u1="&#xd5;" u2="Z" k="20" />
-<hkern u1="&#xd5;" u2="Y" k="20" />
-<hkern u1="&#xd5;" u2="X" k="41" />
-<hkern u1="&#xd5;" u2="W" k="20" />
-<hkern u1="&#xd5;" u2="V" k="20" />
-<hkern u1="&#xd5;" u2="T" k="61" />
-<hkern u1="&#xd5;" u2="A" k="41" />
-<hkern u1="&#xd5;" u2="&#x2e;" k="82" />
-<hkern u1="&#xd5;" u2="&#x2c;" k="82" />
-<hkern u1="&#xd6;" u2="&#x201e;" k="82" />
-<hkern u1="&#xd6;" u2="&#x201a;" k="82" />
-<hkern u1="&#xd6;" u2="&#x178;" k="20" />
-<hkern u1="&#xd6;" u2="&#xdd;" k="20" />
-<hkern u1="&#xd6;" u2="&#xc5;" k="41" />
-<hkern u1="&#xd6;" u2="&#xc4;" k="41" />
-<hkern u1="&#xd6;" u2="&#xc3;" k="41" />
-<hkern u1="&#xd6;" u2="&#xc2;" k="41" />
-<hkern u1="&#xd6;" u2="&#xc1;" k="41" />
-<hkern u1="&#xd6;" u2="&#xc0;" k="41" />
-<hkern u1="&#xd6;" u2="Z" k="20" />
-<hkern u1="&#xd6;" u2="Y" k="20" />
-<hkern u1="&#xd6;" u2="X" k="41" />
-<hkern u1="&#xd6;" u2="W" k="20" />
-<hkern u1="&#xd6;" u2="V" k="20" />
-<hkern u1="&#xd6;" u2="T" k="61" />
-<hkern u1="&#xd6;" u2="A" k="41" />
-<hkern u1="&#xd6;" u2="&#x2e;" k="82" />
-<hkern u1="&#xd6;" u2="&#x2c;" k="82" />
-<hkern u1="&#xd8;" u2="&#x201e;" k="82" />
-<hkern u1="&#xd8;" u2="&#x201a;" k="82" />
-<hkern u1="&#xd8;" u2="&#x178;" k="20" />
-<hkern u1="&#xd8;" u2="&#xdd;" k="20" />
-<hkern u1="&#xd8;" u2="&#xc5;" k="41" />
-<hkern u1="&#xd8;" u2="&#xc4;" k="41" />
-<hkern u1="&#xd8;" u2="&#xc3;" k="41" />
-<hkern u1="&#xd8;" u2="&#xc2;" k="41" />
-<hkern u1="&#xd8;" u2="&#xc1;" k="41" />
-<hkern u1="&#xd8;" u2="&#xc0;" k="41" />
-<hkern u1="&#xd8;" u2="Z" k="20" />
-<hkern u1="&#xd8;" u2="Y" k="20" />
-<hkern u1="&#xd8;" u2="X" k="41" />
-<hkern u1="&#xd8;" u2="W" k="20" />
-<hkern u1="&#xd8;" u2="V" k="20" />
-<hkern u1="&#xd8;" u2="T" k="61" />
-<hkern u1="&#xd8;" u2="A" k="41" />
-<hkern u1="&#xd8;" u2="&#x2e;" k="82" />
-<hkern u1="&#xd8;" u2="&#x2c;" k="82" />
-<hkern u1="&#xd9;" u2="&#x201e;" k="41" />
-<hkern u1="&#xd9;" u2="&#x201a;" k="41" />
-<hkern u1="&#xd9;" u2="&#xc5;" k="20" />
-<hkern u1="&#xd9;" u2="&#xc4;" k="20" />
-<hkern u1="&#xd9;" u2="&#xc3;" k="20" />
-<hkern u1="&#xd9;" u2="&#xc2;" k="20" />
-<hkern u1="&#xd9;" u2="&#xc1;" k="20" />
-<hkern u1="&#xd9;" u2="&#xc0;" k="20" />
-<hkern u1="&#xd9;" u2="A" k="20" />
-<hkern u1="&#xd9;" u2="&#x2e;" k="41" />
-<hkern u1="&#xd9;" u2="&#x2c;" k="41" />
-<hkern u1="&#xda;" u2="&#x201e;" k="41" />
-<hkern u1="&#xda;" u2="&#x201a;" k="41" />
-<hkern u1="&#xda;" u2="&#xc5;" k="20" />
-<hkern u1="&#xda;" u2="&#xc4;" k="20" />
-<hkern u1="&#xda;" u2="&#xc3;" k="20" />
-<hkern u1="&#xda;" u2="&#xc2;" k="20" />
-<hkern u1="&#xda;" u2="&#xc1;" k="20" />
-<hkern u1="&#xda;" u2="&#xc0;" k="20" />
-<hkern u1="&#xda;" u2="A" k="20" />
-<hkern u1="&#xda;" u2="&#x2e;" k="41" />
-<hkern u1="&#xda;" u2="&#x2c;" k="41" />
-<hkern u1="&#xdb;" u2="&#x201e;" k="41" />
-<hkern u1="&#xdb;" u2="&#x201a;" k="41" />
-<hkern u1="&#xdb;" u2="&#xc5;" k="20" />
-<hkern u1="&#xdb;" u2="&#xc4;" k="20" />
-<hkern u1="&#xdb;" u2="&#xc3;" k="20" />
-<hkern u1="&#xdb;" u2="&#xc2;" k="20" />
-<hkern u1="&#xdb;" u2="&#xc1;" k="20" />
-<hkern u1="&#xdb;" u2="&#xc0;" k="20" />
-<hkern u1="&#xdb;" u2="A" k="20" />
-<hkern u1="&#xdb;" u2="&#x2e;" k="41" />
-<hkern u1="&#xdb;" u2="&#x2c;" k="41" />
-<hkern u1="&#xdc;" u2="&#x201e;" k="41" />
-<hkern u1="&#xdc;" u2="&#x201a;" k="41" />
-<hkern u1="&#xdc;" u2="&#xc5;" k="20" />
-<hkern u1="&#xdc;" u2="&#xc4;" k="20" />
-<hkern u1="&#xdc;" u2="&#xc3;" k="20" />
-<hkern u1="&#xdc;" u2="&#xc2;" k="20" />
-<hkern u1="&#xdc;" u2="&#xc1;" k="20" />
-<hkern u1="&#xdc;" u2="&#xc0;" k="20" />
-<hkern u1="&#xdc;" u2="A" k="20" />
-<hkern u1="&#xdc;" u2="&#x2e;" k="41" />
-<hkern u1="&#xdc;" u2="&#x2c;" k="41" />
-<hkern u1="&#xdd;" u2="&#x201e;" k="123" />
-<hkern u1="&#xdd;" u2="&#x201a;" k="123" />
-<hkern u1="&#xdd;" u2="&#x153;" k="102" />
-<hkern u1="&#xdd;" u2="&#x152;" k="41" />
-<hkern u1="&#xdd;" u2="&#xfc;" k="61" />
-<hkern u1="&#xdd;" u2="&#xfb;" k="61" />
-<hkern u1="&#xdd;" u2="&#xfa;" k="61" />
-<hkern u1="&#xdd;" u2="&#xf9;" k="61" />
-<hkern u1="&#xdd;" u2="&#xf8;" k="102" />
-<hkern u1="&#xdd;" u2="&#xf6;" k="102" />
-<hkern u1="&#xdd;" u2="&#xf5;" k="102" />
-<hkern u1="&#xdd;" u2="&#xf4;" k="102" />
-<hkern u1="&#xdd;" u2="&#xf3;" k="102" />
-<hkern u1="&#xdd;" u2="&#xf2;" k="102" />
-<hkern u1="&#xdd;" u2="&#xeb;" k="102" />
-<hkern u1="&#xdd;" u2="&#xea;" k="102" />
-<hkern u1="&#xdd;" u2="&#xe9;" k="102" />
-<hkern u1="&#xdd;" u2="&#xe8;" k="102" />
-<hkern u1="&#xdd;" u2="&#xe7;" k="102" />
-<hkern u1="&#xdd;" u2="&#xe6;" k="102" />
-<hkern u1="&#xdd;" u2="&#xe5;" k="102" />
-<hkern u1="&#xdd;" u2="&#xe4;" k="102" />
-<hkern u1="&#xdd;" u2="&#xe3;" k="102" />
-<hkern u1="&#xdd;" u2="&#xe2;" k="102" />
-<hkern u1="&#xdd;" u2="&#xe1;" k="102" />
-<hkern u1="&#xdd;" u2="&#xe0;" k="102" />
-<hkern u1="&#xdd;" u2="&#xd8;" k="41" />
-<hkern u1="&#xdd;" u2="&#xd6;" k="41" />
-<hkern u1="&#xdd;" u2="&#xd5;" k="41" />
-<hkern u1="&#xdd;" u2="&#xd4;" k="41" />
-<hkern u1="&#xdd;" u2="&#xd3;" k="41" />
-<hkern u1="&#xdd;" u2="&#xd2;" k="41" />
-<hkern u1="&#xdd;" u2="&#xc7;" k="41" />
-<hkern u1="&#xdd;" u2="&#xc5;" k="123" />
-<hkern u1="&#xdd;" u2="&#xc4;" k="123" />
-<hkern u1="&#xdd;" u2="&#xc3;" k="123" />
-<hkern u1="&#xdd;" u2="&#xc2;" k="123" />
-<hkern u1="&#xdd;" u2="&#xc1;" k="123" />
-<hkern u1="&#xdd;" u2="&#xc0;" k="123" />
-<hkern u1="&#xdd;" u2="z" k="41" />
-<hkern u1="&#xdd;" u2="u" k="61" />
-<hkern u1="&#xdd;" u2="s" k="82" />
-<hkern u1="&#xdd;" u2="r" k="61" />
-<hkern u1="&#xdd;" u2="q" k="102" />
-<hkern u1="&#xdd;" u2="p" k="61" />
-<hkern u1="&#xdd;" u2="o" k="102" />
-<hkern u1="&#xdd;" u2="n" k="61" />
-<hkern u1="&#xdd;" u2="m" k="61" />
-<hkern u1="&#xdd;" u2="g" k="41" />
-<hkern u1="&#xdd;" u2="e" k="102" />
-<hkern u1="&#xdd;" u2="d" k="102" />
-<hkern u1="&#xdd;" u2="c" k="102" />
-<hkern u1="&#xdd;" u2="a" k="102" />
-<hkern u1="&#xdd;" u2="Q" k="41" />
-<hkern u1="&#xdd;" u2="O" k="41" />
-<hkern u1="&#xdd;" u2="G" k="41" />
-<hkern u1="&#xdd;" u2="C" k="41" />
-<hkern u1="&#xdd;" u2="A" k="123" />
-<hkern u1="&#xdd;" u2="&#x3f;" k="-41" />
-<hkern u1="&#xdd;" u2="&#x2e;" k="123" />
-<hkern u1="&#xdd;" u2="&#x2c;" k="123" />
-<hkern u1="&#xde;" u2="&#x201e;" k="266" />
-<hkern u1="&#xde;" u2="&#x201a;" k="266" />
-<hkern u1="&#xde;" u2="&#xc5;" k="102" />
-<hkern u1="&#xde;" u2="&#xc4;" k="102" />
-<hkern u1="&#xde;" u2="&#xc3;" k="102" />
-<hkern u1="&#xde;" u2="&#xc2;" k="102" />
-<hkern u1="&#xde;" u2="&#xc1;" k="102" />
-<hkern u1="&#xde;" u2="&#xc0;" k="102" />
-<hkern u1="&#xde;" u2="Z" k="20" />
-<hkern u1="&#xde;" u2="X" k="41" />
-<hkern u1="&#xde;" u2="A" k="102" />
-<hkern u1="&#xde;" u2="&#x2e;" k="266" />
-<hkern u1="&#xde;" u2="&#x2c;" k="266" />
-<hkern u1="&#xe0;" u2="&#x201d;" k="20" />
-<hkern u1="&#xe0;" u2="&#x2019;" k="20" />
-<hkern u1="&#xe0;" u2="&#x27;" k="20" />
-<hkern u1="&#xe0;" u2="&#x22;" k="20" />
-<hkern u1="&#xe1;" u2="&#x201d;" k="20" />
-<hkern u1="&#xe1;" u2="&#x2019;" k="20" />
-<hkern u1="&#xe1;" u2="&#x27;" k="20" />
-<hkern u1="&#xe1;" u2="&#x22;" k="20" />
-<hkern u1="&#xe2;" u2="&#x201d;" k="20" />
-<hkern u1="&#xe2;" u2="&#x2019;" k="20" />
-<hkern u1="&#xe2;" u2="&#x27;" k="20" />
-<hkern u1="&#xe2;" u2="&#x22;" k="20" />
-<hkern u1="&#xe3;" u2="&#x201d;" k="20" />
-<hkern u1="&#xe3;" u2="&#x2019;" k="20" />
-<hkern u1="&#xe3;" u2="&#x27;" k="20" />
-<hkern u1="&#xe3;" u2="&#x22;" k="20" />
-<hkern u1="&#xe4;" u2="&#x201d;" k="20" />
-<hkern u1="&#xe4;" u2="&#x2019;" k="20" />
-<hkern u1="&#xe4;" u2="&#x27;" k="20" />
-<hkern u1="&#xe4;" u2="&#x22;" k="20" />
-<hkern u1="&#xe5;" u2="&#x201d;" k="20" />
-<hkern u1="&#xe5;" u2="&#x2019;" k="20" />
-<hkern u1="&#xe5;" u2="&#x27;" k="20" />
-<hkern u1="&#xe5;" u2="&#x22;" k="20" />
-<hkern u1="&#xe8;" u2="&#x201d;" k="20" />
-<hkern u1="&#xe8;" u2="&#x2019;" k="20" />
-<hkern u1="&#xe8;" u2="&#xfd;" k="41" />
-<hkern u1="&#xe8;" u2="z" k="20" />
-<hkern u1="&#xe8;" u2="y" k="41" />
-<hkern u1="&#xe8;" u2="x" k="41" />
-<hkern u1="&#xe8;" u2="w" k="41" />
-<hkern u1="&#xe8;" u2="v" k="41" />
-<hkern u1="&#xe8;" u2="&#x27;" k="20" />
-<hkern u1="&#xe8;" u2="&#x22;" k="20" />
-<hkern u1="&#xe9;" u2="&#x201d;" k="20" />
-<hkern u1="&#xe9;" u2="&#x2019;" k="20" />
-<hkern u1="&#xe9;" u2="&#xfd;" k="41" />
-<hkern u1="&#xe9;" u2="z" k="20" />
-<hkern u1="&#xe9;" u2="y" k="41" />
-<hkern u1="&#xe9;" u2="x" k="41" />
-<hkern u1="&#xe9;" u2="w" k="41" />
-<hkern u1="&#xe9;" u2="v" k="41" />
-<hkern u1="&#xe9;" u2="&#x27;" k="20" />
-<hkern u1="&#xe9;" u2="&#x22;" k="20" />
-<hkern u1="&#xea;" u2="&#x201d;" k="20" />
-<hkern u1="&#xea;" u2="&#x2019;" k="20" />
-<hkern u1="&#xea;" u2="&#xfd;" k="41" />
-<hkern u1="&#xea;" u2="z" k="20" />
-<hkern u1="&#xea;" u2="y" k="41" />
-<hkern u1="&#xea;" u2="x" k="41" />
-<hkern u1="&#xea;" u2="w" k="41" />
-<hkern u1="&#xea;" u2="v" k="41" />
-<hkern u1="&#xea;" u2="&#x27;" k="20" />
-<hkern u1="&#xea;" u2="&#x22;" k="20" />
-<hkern u1="&#xeb;" u2="&#x201d;" k="20" />
-<hkern u1="&#xeb;" u2="&#x2019;" k="20" />
-<hkern u1="&#xeb;" u2="&#xfd;" k="41" />
-<hkern u1="&#xeb;" u2="z" k="20" />
-<hkern u1="&#xeb;" u2="y" k="41" />
-<hkern u1="&#xeb;" u2="x" k="41" />
-<hkern u1="&#xeb;" u2="w" k="41" />
-<hkern u1="&#xeb;" u2="v" k="41" />
-<hkern u1="&#xeb;" u2="&#x27;" k="20" />
-<hkern u1="&#xeb;" u2="&#x22;" k="20" />
-<hkern u1="&#xf0;" u2="&#x201d;" k="20" />
-<hkern u1="&#xf0;" u2="&#x2019;" k="20" />
-<hkern u1="&#xf0;" u2="&#xfd;" k="41" />
-<hkern u1="&#xf0;" u2="z" k="20" />
-<hkern u1="&#xf0;" u2="y" k="41" />
-<hkern u1="&#xf0;" u2="x" k="41" />
-<hkern u1="&#xf0;" u2="w" k="41" />
-<hkern u1="&#xf0;" u2="v" k="41" />
-<hkern u1="&#xf0;" u2="&#x27;" k="20" />
-<hkern u1="&#xf0;" u2="&#x22;" k="20" />
-<hkern u1="&#xf2;" u2="&#x201d;" k="20" />
-<hkern u1="&#xf2;" u2="&#x2019;" k="20" />
-<hkern u1="&#xf2;" u2="&#xfd;" k="41" />
-<hkern u1="&#xf2;" u2="z" k="20" />
-<hkern u1="&#xf2;" u2="y" k="41" />
-<hkern u1="&#xf2;" u2="x" k="41" />
-<hkern u1="&#xf2;" u2="w" k="41" />
-<hkern u1="&#xf2;" u2="v" k="41" />
-<hkern u1="&#xf2;" u2="&#x27;" k="20" />
-<hkern u1="&#xf2;" u2="&#x22;" k="20" />
-<hkern u1="&#xf3;" u2="&#x201d;" k="20" />
-<hkern u1="&#xf3;" u2="&#x2019;" k="20" />
-<hkern u1="&#xf3;" u2="&#xfd;" k="41" />
-<hkern u1="&#xf3;" u2="z" k="20" />
-<hkern u1="&#xf3;" u2="y" k="41" />
-<hkern u1="&#xf3;" u2="x" k="41" />
-<hkern u1="&#xf3;" u2="w" k="41" />
-<hkern u1="&#xf3;" u2="v" k="41" />
-<hkern u1="&#xf3;" u2="&#x27;" k="20" />
-<hkern u1="&#xf3;" u2="&#x22;" k="20" />
-<hkern u1="&#xf4;" u2="&#x201d;" k="20" />
-<hkern u1="&#xf4;" u2="&#x2019;" k="20" />
-<hkern u1="&#xf4;" u2="&#xfd;" k="41" />
-<hkern u1="&#xf4;" u2="z" k="20" />
-<hkern u1="&#xf4;" u2="y" k="41" />
-<hkern u1="&#xf4;" u2="x" k="41" />
-<hkern u1="&#xf4;" u2="w" k="41" />
-<hkern u1="&#xf4;" u2="v" k="41" />
-<hkern u1="&#xf4;" u2="&#x27;" k="20" />
-<hkern u1="&#xf4;" u2="&#x22;" k="20" />
-<hkern u1="&#xf6;" u2="&#x201d;" k="41" />
-<hkern u1="&#xf6;" u2="&#x2019;" k="41" />
-<hkern u1="&#xf6;" u2="&#x27;" k="41" />
-<hkern u1="&#xf6;" u2="&#x22;" k="41" />
-<hkern u1="&#xf8;" u2="&#x201d;" k="20" />
-<hkern u1="&#xf8;" u2="&#x2019;" k="20" />
-<hkern u1="&#xf8;" u2="&#xfd;" k="41" />
-<hkern u1="&#xf8;" u2="z" k="20" />
-<hkern u1="&#xf8;" u2="y" k="41" />
-<hkern u1="&#xf8;" u2="x" k="41" />
-<hkern u1="&#xf8;" u2="w" k="41" />
-<hkern u1="&#xf8;" u2="v" k="41" />
-<hkern u1="&#xf8;" u2="&#x27;" k="20" />
-<hkern u1="&#xf8;" u2="&#x22;" k="20" />
-<hkern u1="&#xfd;" u2="&#x201e;" k="82" />
-<hkern u1="&#xfd;" u2="&#x201d;" k="-82" />
-<hkern u1="&#xfd;" u2="&#x201a;" k="82" />
-<hkern u1="&#xfd;" u2="&#x2019;" k="-82" />
-<hkern u1="&#xfd;" u2="&#x3f;" k="-41" />
-<hkern u1="&#xfd;" u2="&#x2e;" k="82" />
-<hkern u1="&#xfd;" u2="&#x2c;" k="82" />
-<hkern u1="&#xfd;" u2="&#x27;" k="-82" />
-<hkern u1="&#xfd;" u2="&#x22;" k="-82" />
-<hkern u1="&#xfe;" u2="&#x201d;" k="20" />
-<hkern u1="&#xfe;" u2="&#x2019;" k="20" />
-<hkern u1="&#xfe;" u2="&#xfd;" k="41" />
-<hkern u1="&#xfe;" u2="z" k="20" />
-<hkern u1="&#xfe;" u2="y" k="41" />
-<hkern u1="&#xfe;" u2="x" k="41" />
-<hkern u1="&#xfe;" u2="w" k="41" />
-<hkern u1="&#xfe;" u2="v" k="41" />
-<hkern u1="&#xfe;" u2="&#x27;" k="20" />
-<hkern u1="&#xfe;" u2="&#x22;" k="20" />
-<hkern u1="&#xff;" u2="&#x201e;" k="82" />
-<hkern u1="&#xff;" u2="&#x201d;" k="-82" />
-<hkern u1="&#xff;" u2="&#x201a;" k="82" />
-<hkern u1="&#xff;" u2="&#x2019;" k="-82" />
-<hkern u1="&#xff;" u2="&#x3f;" k="-41" />
-<hkern u1="&#xff;" u2="&#x2e;" k="82" />
-<hkern u1="&#xff;" u2="&#x2c;" k="82" />
-<hkern u1="&#xff;" u2="&#x27;" k="-82" />
-<hkern u1="&#xff;" u2="&#x22;" k="-82" />
-<hkern u1="&#x152;" u2="J" k="-123" />
-<hkern u1="&#x178;" u2="&#x201e;" k="123" />
-<hkern u1="&#x178;" u2="&#x201a;" k="123" />
-<hkern u1="&#x178;" u2="&#x153;" k="102" />
-<hkern u1="&#x178;" u2="&#x152;" k="41" />
-<hkern u1="&#x178;" u2="&#xfc;" k="61" />
-<hkern u1="&#x178;" u2="&#xfb;" k="61" />
-<hkern u1="&#x178;" u2="&#xfa;" k="61" />
-<hkern u1="&#x178;" u2="&#xf9;" k="61" />
-<hkern u1="&#x178;" u2="&#xf8;" k="102" />
-<hkern u1="&#x178;" u2="&#xf6;" k="102" />
-<hkern u1="&#x178;" u2="&#xf5;" k="102" />
-<hkern u1="&#x178;" u2="&#xf4;" k="102" />
-<hkern u1="&#x178;" u2="&#xf3;" k="102" />
-<hkern u1="&#x178;" u2="&#xf2;" k="102" />
-<hkern u1="&#x178;" u2="&#xeb;" k="102" />
-<hkern u1="&#x178;" u2="&#xea;" k="102" />
-<hkern u1="&#x178;" u2="&#xe9;" k="102" />
-<hkern u1="&#x178;" u2="&#xe8;" k="102" />
-<hkern u1="&#x178;" u2="&#xe7;" k="102" />
-<hkern u1="&#x178;" u2="&#xe6;" k="102" />
-<hkern u1="&#x178;" u2="&#xe5;" k="102" />
-<hkern u1="&#x178;" u2="&#xe4;" k="102" />
-<hkern u1="&#x178;" u2="&#xe3;" k="102" />
-<hkern u1="&#x178;" u2="&#xe2;" k="102" />
-<hkern u1="&#x178;" u2="&#xe1;" k="102" />
-<hkern u1="&#x178;" u2="&#xe0;" k="102" />
-<hkern u1="&#x178;" u2="&#xd8;" k="41" />
-<hkern u1="&#x178;" u2="&#xd6;" k="41" />
-<hkern u1="&#x178;" u2="&#xd5;" k="41" />
-<hkern u1="&#x178;" u2="&#xd4;" k="41" />
-<hkern u1="&#x178;" u2="&#xd3;" k="41" />
-<hkern u1="&#x178;" u2="&#xd2;" k="41" />
-<hkern u1="&#x178;" u2="&#xc7;" k="41" />
-<hkern u1="&#x178;" u2="&#xc5;" k="123" />
-<hkern u1="&#x178;" u2="&#xc4;" k="123" />
-<hkern u1="&#x178;" u2="&#xc3;" k="123" />
-<hkern u1="&#x178;" u2="&#xc2;" k="123" />
-<hkern u1="&#x178;" u2="&#xc1;" k="123" />
-<hkern u1="&#x178;" u2="&#xc0;" k="123" />
-<hkern u1="&#x178;" u2="z" k="41" />
-<hkern u1="&#x178;" u2="u" k="61" />
-<hkern u1="&#x178;" u2="s" k="82" />
-<hkern u1="&#x178;" u2="r" k="61" />
-<hkern u1="&#x178;" u2="q" k="102" />
-<hkern u1="&#x178;" u2="p" k="61" />
-<hkern u1="&#x178;" u2="o" k="102" />
-<hkern u1="&#x178;" u2="n" k="61" />
-<hkern u1="&#x178;" u2="m" k="61" />
-<hkern u1="&#x178;" u2="g" k="41" />
-<hkern u1="&#x178;" u2="e" k="102" />
-<hkern u1="&#x178;" u2="d" k="102" />
-<hkern u1="&#x178;" u2="c" k="102" />
-<hkern u1="&#x178;" u2="a" k="102" />
-<hkern u1="&#x178;" u2="Q" k="41" />
-<hkern u1="&#x178;" u2="O" k="41" />
-<hkern u1="&#x178;" u2="G" k="41" />
-<hkern u1="&#x178;" u2="C" k="41" />
-<hkern u1="&#x178;" u2="A" k="123" />
-<hkern u1="&#x178;" u2="&#x3f;" k="-41" />
-<hkern u1="&#x178;" u2="&#x2e;" k="123" />
-<hkern u1="&#x178;" u2="&#x2c;" k="123" />
-<hkern u1="&#x2013;" u2="T" k="82" />
-<hkern u1="&#x2014;" u2="T" k="82" />
-<hkern u1="&#x2018;" u2="&#x178;" k="-20" />
-<hkern u1="&#x2018;" u2="&#x153;" k="123" />
-<hkern u1="&#x2018;" u2="&#xfc;" k="61" />
-<hkern u1="&#x2018;" u2="&#xfb;" k="61" />
-<hkern u1="&#x2018;" u2="&#xfa;" k="61" />
-<hkern u1="&#x2018;" u2="&#xf9;" k="61" />
-<hkern u1="&#x2018;" u2="&#xf8;" k="123" />
-<hkern u1="&#x2018;" u2="&#xf6;" k="123" />
-<hkern u1="&#x2018;" u2="&#xf5;" k="123" />
-<hkern u1="&#x2018;" u2="&#xf4;" k="123" />
-<hkern u1="&#x2018;" u2="&#xf3;" k="123" />
-<hkern u1="&#x2018;" u2="&#xf2;" k="123" />
-<hkern u1="&#x2018;" u2="&#xeb;" k="123" />
-<hkern u1="&#x2018;" u2="&#xea;" k="123" />
-<hkern u1="&#x2018;" u2="&#xe9;" k="123" />
-<hkern u1="&#x2018;" u2="&#xe8;" k="123" />
-<hkern u1="&#x2018;" u2="&#xe7;" k="123" />
-<hkern u1="&#x2018;" u2="&#xe6;" k="82" />
-<hkern u1="&#x2018;" u2="&#xe5;" k="82" />
-<hkern u1="&#x2018;" u2="&#xe4;" k="82" />
-<hkern u1="&#x2018;" u2="&#xe3;" k="82" />
-<hkern u1="&#x2018;" u2="&#xe2;" k="82" />
-<hkern u1="&#x2018;" u2="&#xe1;" k="82" />
-<hkern u1="&#x2018;" u2="&#xe0;" k="123" />
-<hkern u1="&#x2018;" u2="&#xdd;" k="-20" />
-<hkern u1="&#x2018;" u2="&#xc5;" k="143" />
-<hkern u1="&#x2018;" u2="&#xc4;" k="143" />
-<hkern u1="&#x2018;" u2="&#xc3;" k="143" />
-<hkern u1="&#x2018;" u2="&#xc2;" k="143" />
-<hkern u1="&#x2018;" u2="&#xc1;" k="143" />
-<hkern u1="&#x2018;" u2="&#xc0;" k="143" />
-<hkern u1="&#x2018;" u2="u" k="61" />
-<hkern u1="&#x2018;" u2="s" k="61" />
-<hkern u1="&#x2018;" u2="r" k="61" />
-<hkern u1="&#x2018;" u2="q" k="123" />
-<hkern u1="&#x2018;" u2="p" k="61" />
-<hkern u1="&#x2018;" u2="o" k="123" />
-<hkern u1="&#x2018;" u2="n" k="61" />
-<hkern u1="&#x2018;" u2="m" k="61" />
-<hkern u1="&#x2018;" u2="g" k="61" />
-<hkern u1="&#x2018;" u2="e" k="123" />
-<hkern u1="&#x2018;" u2="d" k="123" />
-<hkern u1="&#x2018;" u2="c" k="123" />
-<hkern u1="&#x2018;" u2="a" k="82" />
-<hkern u1="&#x2018;" u2="Y" k="-20" />
-<hkern u1="&#x2018;" u2="W" k="-41" />
-<hkern u1="&#x2018;" u2="V" k="-41" />
-<hkern u1="&#x2018;" u2="T" k="-41" />
-<hkern u1="&#x2018;" u2="A" k="143" />
-<hkern u1="&#x2019;" u2="&#x178;" k="-20" />
-<hkern u1="&#x2019;" u2="&#x153;" k="123" />
-<hkern u1="&#x2019;" u2="&#xfc;" k="61" />
-<hkern u1="&#x2019;" u2="&#xfb;" k="61" />
-<hkern u1="&#x2019;" u2="&#xfa;" k="61" />
-<hkern u1="&#x2019;" u2="&#xf9;" k="61" />
-<hkern u1="&#x2019;" u2="&#xf8;" k="123" />
-<hkern u1="&#x2019;" u2="&#xf6;" k="123" />
-<hkern u1="&#x2019;" u2="&#xf5;" k="123" />
-<hkern u1="&#x2019;" u2="&#xf4;" k="123" />
-<hkern u1="&#x2019;" u2="&#xf3;" k="123" />
-<hkern u1="&#x2019;" u2="&#xf2;" k="123" />
-<hkern u1="&#x2019;" u2="&#xeb;" k="123" />
-<hkern u1="&#x2019;" u2="&#xea;" k="123" />
-<hkern u1="&#x2019;" u2="&#xe9;" k="123" />
-<hkern u1="&#x2019;" u2="&#xe8;" k="123" />
-<hkern u1="&#x2019;" u2="&#xe7;" k="123" />
-<hkern u1="&#x2019;" u2="&#xe6;" k="82" />
-<hkern u1="&#x2019;" u2="&#xe5;" k="82" />
-<hkern u1="&#x2019;" u2="&#xe4;" k="82" />
-<hkern u1="&#x2019;" u2="&#xe3;" k="82" />
-<hkern u1="&#x2019;" u2="&#xe2;" k="82" />
-<hkern u1="&#x2019;" u2="&#xe1;" k="82" />
-<hkern u1="&#x2019;" u2="&#xe0;" k="123" />
-<hkern u1="&#x2019;" u2="&#xdd;" k="-20" />
-<hkern u1="&#x2019;" u2="&#xc5;" k="143" />
-<hkern u1="&#x2019;" u2="&#xc4;" k="143" />
-<hkern u1="&#x2019;" u2="&#xc3;" k="143" />
-<hkern u1="&#x2019;" u2="&#xc2;" k="143" />
-<hkern u1="&#x2019;" u2="&#xc1;" k="143" />
-<hkern u1="&#x2019;" u2="&#xc0;" k="143" />
-<hkern u1="&#x2019;" u2="u" k="61" />
-<hkern u1="&#x2019;" u2="s" k="61" />
-<hkern u1="&#x2019;" u2="r" k="61" />
-<hkern u1="&#x2019;" u2="q" k="123" />
-<hkern u1="&#x2019;" u2="p" k="61" />
-<hkern u1="&#x2019;" u2="o" k="123" />
-<hkern u1="&#x2019;" u2="n" k="61" />
-<hkern u1="&#x2019;" u2="m" k="61" />
-<hkern u1="&#x2019;" u2="g" k="61" />
-<hkern u1="&#x2019;" u2="e" k="123" />
-<hkern u1="&#x2019;" u2="d" k="123" />
-<hkern u1="&#x2019;" u2="c" k="123" />
-<hkern u1="&#x2019;" u2="a" k="82" />
-<hkern u1="&#x2019;" u2="Y" k="-20" />
-<hkern u1="&#x2019;" u2="W" k="-41" />
-<hkern u1="&#x2019;" u2="V" k="-41" />
-<hkern u1="&#x2019;" u2="T" k="-41" />
-<hkern u1="&#x2019;" u2="A" k="143" />
-<hkern u1="&#x201a;" u2="&#x178;" k="123" />
-<hkern u1="&#x201a;" u2="&#x152;" k="102" />
-<hkern u1="&#x201a;" u2="&#xdd;" k="123" />
-<hkern u1="&#x201a;" u2="&#xdc;" k="41" />
-<hkern u1="&#x201a;" u2="&#xdb;" k="41" />
-<hkern u1="&#x201a;" u2="&#xda;" k="41" />
-<hkern u1="&#x201a;" u2="&#xd9;" k="41" />
-<hkern u1="&#x201a;" u2="&#xd8;" k="102" />
-<hkern u1="&#x201a;" u2="&#xd6;" k="102" />
-<hkern u1="&#x201a;" u2="&#xd5;" k="102" />
-<hkern u1="&#x201a;" u2="&#xd4;" k="102" />
-<hkern u1="&#x201a;" u2="&#xd3;" k="102" />
-<hkern u1="&#x201a;" u2="&#xd2;" k="102" />
-<hkern u1="&#x201a;" u2="&#xc7;" k="102" />
-<hkern u1="&#x201a;" u2="Y" k="123" />
-<hkern u1="&#x201a;" u2="W" k="123" />
-<hkern u1="&#x201a;" u2="V" k="123" />
-<hkern u1="&#x201a;" u2="U" k="41" />
-<hkern u1="&#x201a;" u2="T" k="143" />
-<hkern u1="&#x201a;" u2="Q" k="102" />
-<hkern u1="&#x201a;" u2="O" k="102" />
-<hkern u1="&#x201a;" u2="G" k="102" />
-<hkern u1="&#x201a;" u2="C" k="102" />
-<hkern u1="&#x201c;" u2="&#x178;" k="-20" />
-<hkern u1="&#x201c;" u2="&#x153;" k="123" />
-<hkern u1="&#x201c;" u2="&#xfc;" k="61" />
-<hkern u1="&#x201c;" u2="&#xfb;" k="61" />
-<hkern u1="&#x201c;" u2="&#xfa;" k="61" />
-<hkern u1="&#x201c;" u2="&#xf9;" k="61" />
-<hkern u1="&#x201c;" u2="&#xf8;" k="123" />
-<hkern u1="&#x201c;" u2="&#xf6;" k="123" />
-<hkern u1="&#x201c;" u2="&#xf5;" k="123" />
-<hkern u1="&#x201c;" u2="&#xf4;" k="123" />
-<hkern u1="&#x201c;" u2="&#xf3;" k="123" />
-<hkern u1="&#x201c;" u2="&#xf2;" k="123" />
-<hkern u1="&#x201c;" u2="&#xeb;" k="123" />
-<hkern u1="&#x201c;" u2="&#xea;" k="123" />
-<hkern u1="&#x201c;" u2="&#xe9;" k="123" />
-<hkern u1="&#x201c;" u2="&#xe8;" k="123" />
-<hkern u1="&#x201c;" u2="&#xe7;" k="123" />
-<hkern u1="&#x201c;" u2="&#xe6;" k="82" />
-<hkern u1="&#x201c;" u2="&#xe5;" k="82" />
-<hkern u1="&#x201c;" u2="&#xe4;" k="82" />
-<hkern u1="&#x201c;" u2="&#xe3;" k="82" />
-<hkern u1="&#x201c;" u2="&#xe2;" k="82" />
-<hkern u1="&#x201c;" u2="&#xe1;" k="82" />
-<hkern u1="&#x201c;" u2="&#xe0;" k="123" />
-<hkern u1="&#x201c;" u2="&#xdd;" k="-20" />
-<hkern u1="&#x201c;" u2="&#xc5;" k="143" />
-<hkern u1="&#x201c;" u2="&#xc4;" k="143" />
-<hkern u1="&#x201c;" u2="&#xc3;" k="143" />
-<hkern u1="&#x201c;" u2="&#xc2;" k="143" />
-<hkern u1="&#x201c;" u2="&#xc1;" k="143" />
-<hkern u1="&#x201c;" u2="&#xc0;" k="143" />
-<hkern u1="&#x201c;" u2="u" k="61" />
-<hkern u1="&#x201c;" u2="s" k="61" />
-<hkern u1="&#x201c;" u2="r" k="61" />
-<hkern u1="&#x201c;" u2="q" k="123" />
-<hkern u1="&#x201c;" u2="p" k="61" />
-<hkern u1="&#x201c;" u2="o" k="123" />
-<hkern u1="&#x201c;" u2="n" k="61" />
-<hkern u1="&#x201c;" u2="m" k="61" />
-<hkern u1="&#x201c;" u2="g" k="61" />
-<hkern u1="&#x201c;" u2="e" k="123" />
-<hkern u1="&#x201c;" u2="d" k="123" />
-<hkern u1="&#x201c;" u2="c" k="123" />
-<hkern u1="&#x201c;" u2="a" k="82" />
-<hkern u1="&#x201c;" u2="Y" k="-20" />
-<hkern u1="&#x201c;" u2="W" k="-41" />
-<hkern u1="&#x201c;" u2="V" k="-41" />
-<hkern u1="&#x201c;" u2="T" k="-41" />
-<hkern u1="&#x201c;" u2="A" k="143" />
-<hkern u1="&#x201e;" u2="&#x178;" k="123" />
-<hkern u1="&#x201e;" u2="&#x152;" k="102" />
-<hkern u1="&#x201e;" u2="&#xdd;" k="123" />
-<hkern u1="&#x201e;" u2="&#xdc;" k="41" />
-<hkern u1="&#x201e;" u2="&#xdb;" k="41" />
-<hkern u1="&#x201e;" u2="&#xda;" k="41" />
-<hkern u1="&#x201e;" u2="&#xd9;" k="41" />
-<hkern u1="&#x201e;" u2="&#xd8;" k="102" />
-<hkern u1="&#x201e;" u2="&#xd6;" k="102" />
-<hkern u1="&#x201e;" u2="&#xd5;" k="102" />
-<hkern u1="&#x201e;" u2="&#xd4;" k="102" />
-<hkern u1="&#x201e;" u2="&#xd3;" k="102" />
-<hkern u1="&#x201e;" u2="&#xd2;" k="102" />
-<hkern u1="&#x201e;" u2="&#xc7;" k="102" />
-<hkern u1="&#x201e;" u2="Y" k="123" />
-<hkern u1="&#x201e;" u2="W" k="123" />
-<hkern u1="&#x201e;" u2="V" k="123" />
-<hkern u1="&#x201e;" u2="U" k="41" />
-<hkern u1="&#x201e;" u2="T" k="143" />
-<hkern u1="&#x201e;" u2="Q" k="102" />
-<hkern u1="&#x201e;" u2="O" k="102" />
-<hkern u1="&#x201e;" u2="G" k="102" />
-<hkern u1="&#x201e;" u2="C" k="102" />
-</font>
-</defs></svg> \ No newline at end of file
diff --git a/documentation/jsapi/fonts/OpenSans-Regular-webfont.woff b/documentation/jsapi/fonts/OpenSans-Regular-webfont.woff
deleted file mode 100644
index e231183dce..0000000000
--- a/documentation/jsapi/fonts/OpenSans-Regular-webfont.woff
+++ /dev/null
Binary files differ
diff --git a/documentation/jsapi/fs.js.html b/documentation/jsapi/fs.js.html
deleted file mode 100644
index 3ee1af8e61..0000000000
--- a/documentation/jsapi/fs.js.html
+++ /dev/null
@@ -1,350 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta charset="utf-8">
- <title>JSDoc: Source: fs.js</title>
-
- <script src="scripts/prettify/prettify.js"> </script>
- <script src="scripts/prettify/lang-css.js"> </script>
- <!--[if lt IE 9]>
- <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
- <![endif]-->
- <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
- <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
-</head>
-
-<body>
-
-<div id="main">
-
- <h1 class="page-title">Source: fs.js</h1>
-
-
-
-
-
-
- <section>
- <article>
- <pre class="prettyprint source linenums"><code>'use strict';
-'require rpc';
-
-/**
- * @typedef {Object} FileStatEntry
- * @memberof LuCI.fs
-
- * @property {string} name - Name of the directory entry
- * @property {string} type - Type of the entry, one of `block`, `char`, `directory`, `fifo`, `symlink`, `file`, `socket` or `unknown`
- * @property {number} size - Size in bytes
- * @property {number} mode - Access permissions
- * @property {number} atime - Last access time in seconds since epoch
- * @property {number} mtime - Last modification time in seconds since epoch
- * @property {number} ctime - Last change time in seconds since epoch
- * @property {number} inode - Inode number
- * @property {number} uid - Numeric owner id
- * @property {number} gid - Numeric group id
- */
-
-/**
- * @typedef {Object} FileExecResult
- * @memberof LuCI.fs
- *
- * @property {number} code - The exit code of the invoked command
- * @property {string} [stdout] - The stdout produced by the command, if any
- * @property {string} [stderr] - The stderr produced by the command, if any
- */
-
-var callFileList, callFileStat, callFileRead, callFileWrite, callFileRemove,
- callFileExec, callFileMD5;
-
-callFileList = rpc.declare({
- object: 'file',
- method: 'list',
- params: [ 'path' ]
-});
-
-callFileStat = rpc.declare({
- object: 'file',
- method: 'stat',
- params: [ 'path' ]
-});
-
-callFileRead = rpc.declare({
- object: 'file',
- method: 'read',
- params: [ 'path' ]
-});
-
-callFileWrite = rpc.declare({
- object: 'file',
- method: 'write',
- params: [ 'path', 'data', 'mode' ]
-});
-
-callFileRemove = rpc.declare({
- object: 'file',
- method: 'remove',
- params: [ 'path' ]
-});
-
-callFileExec = rpc.declare({
- object: 'file',
- method: 'exec',
- params: [ 'command', 'params', 'env' ]
-});
-
-callFileMD5 = rpc.declare({
- object: 'file',
- method: 'md5',
- params: [ 'path' ]
-});
-
-var rpcErrors = [
- null,
- 'InvalidCommandError',
- 'InvalidArgumentError',
- 'MethodNotFoundError',
- 'NotFoundError',
- 'NoDataError',
- 'PermissionError',
- 'TimeoutError',
- 'UnsupportedError'
-];
-
-function handleRpcReply(expect, rc) {
- if (typeof(rc) == 'number' &amp;&amp; rc != 0) {
- var e = new Error(rpc.getStatusText(rc)); e.name = rpcErrors[rc] || 'Error';
- throw e;
- }
-
- if (expect) {
- var type = Object.prototype.toString;
-
- for (var key in expect) {
- if (rc != null &amp;&amp; key != '')
- rc = rc[key];
-
- if (rc == null || type.call(rc) != type.call(expect[key])) {
- var e = new Error(_('Unexpected reply data format')); e.name = 'TypeError';
- throw e;
- }
-
- break;
- }
- }
-
- return rc;
-}
-
-/**
- * @class fs
- * @memberof LuCI
- * @hideconstructor
- * @classdesc
- *
- * Provides high level utilities to wrap file system related RPC calls.
- * To import the class in views, use `'require fs'`, to import it in
- * external JavaScript, use `L.require("fs").then(...)`.
- */
-var FileSystem = L.Class.extend(/** @lends LuCI.fs.prototype */ {
- /**
- * Obtains a listing of the specified directory.
- *
- * @param {string} path
- * The directory path to list.
- *
- * @returns {Promise&lt;LuCI.fs.FileStatEntry[]>}
- * Returns a promise resolving to an array of stat detail objects or
- * rejecting with an error stating the failure reason.
- */
- list: function(path) {
- return callFileList(path).then(handleRpcReply.bind(this, { entries: [] }));
- },
-
- /**
- * Return file stat information on the specified path.
- *
- * @param {string} path
- * The filesystem path to stat.
- *
- * @returns {Promise&lt;LuCI.fs.FileStatEntry>}
- * Returns a promise resolving to a stat detail object or
- * rejecting with an error stating the failure reason.
- */
- stat: function(path) {
- return callFileStat(path).then(handleRpcReply.bind(this, { '': {} }));
- },
-
- /**
- * Read the contents of the given file and return them.
- * Note: this function is unsuitable for obtaining binary data.
- *
- * @param {string} path
- * The file path to read.
- *
- * @returns {Promise&lt;string>}
- * Returns a promise resolving to a string containing the file contents or
- * rejecting with an error stating the failure reason.
- */
- read: function(path) {
- return callFileRead(path).then(handleRpcReply.bind(this, { data: '' }));
- },
-
- /**
- * Write the given data to the specified file path.
- * If the specified file path does not exist, it will be created, given
- * sufficient permissions.
- *
- * Note: `data` will be converted to a string using `String(data)` or to
- * `''` when it is `null`.
- *
- * @param {string} path
- * The file path to write to.
- *
- * @param {*} [data]
- * The file data to write. If it is null, it will be set to an empty
- * string.
- *
- * @param {number} [mode]
- * The permissions to use on file creation. Default is 420 (0644).
- *
- * @returns {Promise&lt;number>}
- * Returns a promise resolving to `0` or rejecting with an error stating
- * the failure reason.
- */
- write: function(path, data, mode) {
- data = (data != null) ? String(data) : '';
- mode = (mode != null) ? mode : 420; // 0644
- return callFileWrite(path, data, mode).then(handleRpcReply.bind(this, { '': 0 }));
- },
-
- /**
- * Unlink the given file.
- *
- * @param {string}
- * The file path to remove.
- *
- * @returns {Promise&lt;number>}
- * Returns a promise resolving to `0` or rejecting with an error stating
- * the failure reason.
- */
- remove: function(path) {
- return callFileRemove(path).then(handleRpcReply.bind(this, { '': 0 }));
- },
-
- /**
- * Execute the specified command, optionally passing params and
- * environment variables.
- *
- * Note: The `command` must be either the path to an executable,
- * or a basename without arguments in which case it will be searched
- * in $PATH. If specified, the values given in `params` will be passed
- * as arguments to the command.
- *
- * The key/value pairs in the optional `env` table are translated to
- * `setenv()` calls prior to running the command.
- *
- * @param {string} command
- * The command to invoke.
- *
- * @param {string[]} [params]
- * The arguments to pass to the command.
- *
- * @param {Object.&lt;string, string>} [env]
- * Environment variables to set.
- *
- * @returns {Promise&lt;LuCI.fs.FileExecResult>}
- * Returns a promise resolving to an object describing the execution
- * results or rejecting with an error stating the failure reason.
- */
- exec: function(command, params, env) {
- if (!Array.isArray(params))
- params = null;
-
- if (!L.isObject(env))
- env = null;
-
- return callFileExec(command, params, env).then(handleRpcReply.bind(this, { '': {} }));
- },
-
- /**
- * Read the contents of the given file, trim leading and trailing white
- * space and return the trimmed result. In case of errors, return an empty
- * string instead.
- *
- * Note: this function is useful to read single-value files in `/sys`
- * or `/proc`.
- *
- * This function is guaranteed to not reject its promises, on failure,
- * an empty string will be returned.
- *
- * @param {string} path
- * The file path to read.
- *
- * @returns {Promise&lt;string>}
- * Returns a promise resolving to the file contents or the empty string
- * on failure.
- */
- trimmed: function(path) {
- return L.resolveDefault(this.read(path), '').then(function(s) {
- return s.trim();
- });
- },
-
- /**
- * Read the contents of the given file, split it into lines, trim
- * leading and trailing white space of each line and return the
- * resulting array.
- *
- * This function is guaranteed to not reject its promises, on failure,
- * an empty array will be returned.
- *
- * @param {string} path
- * The file path to read.
- *
- * @returns {Promise&lt;string[]>}
- * Returns a promise resolving to an array containing the stripped lines
- * of the given file or `[]` on failure.
- */
- lines: function(path) {
- return L.resolveDefault(this.read(path), '').then(function(s) {
- var lines = [];
-
- s = s.trim();
-
- if (s != '') {
- var l = s.split(/\n/);
-
- for (var i = 0; i &lt; l.length; i++)
- lines.push(l[i].trim());
- }
-
- return lines;
- });
- }
-});
-
-return FileSystem;
-</code></pre>
- </article>
- </section>
-
-
-
-
-</div>
-
-<nav>
- <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="LuCI.html">LuCI</a></li><li><a href="LuCI.Class.html">Class</a></li><li><a href="LuCI.dom.html">dom</a></li><li><a href="LuCI.fs.html">fs</a></li><li><a href="LuCI.Headers.html">Headers</a></li><li><a href="LuCI.Network.html">Network</a></li><li><a href="LuCI.Network.Device.html">Device</a></li><li><a href="LuCI.Network.Hosts.html">Hosts</a></li><li><a href="LuCI.Network.Protocol.html">Protocol</a></li><li><a href="LuCI.Network.WifiDevice.html">WifiDevice</a></li><li><a href="LuCI.Network.WifiNetwork.html">WifiNetwork</a></li><li><a href="LuCI.Poll.html">Poll</a></li><li><a href="LuCI.Request.html">Request</a></li><li><a href="LuCI.Request.poll.html">poll</a></li><li><a href="LuCI.Response.html">Response</a></li><li><a href="LuCI.rpc.html">rpc</a></li><li><a href="LuCI.uci.html">uci</a></li><li><a href="LuCI.view.html">view</a></li><li><a href="LuCI.XHR.html">XHR</a></li></ul>
-</nav>
-
-<br class="clear">
-
-<footer>
- Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.3</a> on Tue Nov 05 2019 09:33:05 GMT+0100 (Central European Standard Time)
-</footer>
-
-<script> prettyPrint(); </script>
-<script src="scripts/linenumber.js"> </script>
-</body>
-</html>
diff --git a/documentation/jsapi/index.html b/documentation/jsapi/index.html
deleted file mode 100644
index 550ed9bc8c..0000000000
--- a/documentation/jsapi/index.html
+++ /dev/null
@@ -1,1131 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <meta charset="utf-8">
- <title>Index</title>
-
-
- <script src="scripts/prettify/prettify.js"></script>
- <script src="scripts/prettify/lang-css.js"></script>
- <script src="scripts/jquery.min.js"></script>
- <!--[if lt IE 9]>
- <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
- <![endif]-->
- <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
- <link type="text/css" rel="stylesheet" href="styles/bootstrap.min.css">
- <link type="text/css" rel="stylesheet" href="styles/jaguar.css">
-
-
- <script>
- var config = {"monospaceLinks":true,"cleverLinks":true,"default":{}};
- </script>
-
-
-
-</head>
-<body>
-<div id="wrap" class="clearfix">
-
-<div class="navigation">
- <h3 class="applicationName"><a href="index.html"></a></h3>
-
- <div class="search">
- <input id="search" type="text" class="form-control input-sm" placeholder="Search Documentations">
- </div>
- <ul class="list">
-
- <li class="item" data-name="LuCI">
- <span class="title">
- <a href="LuCI.html">LuCI</a>
-
- </span>
- <ul class="members itemMembers">
-
- <span class="subtitle">Members</span>
-
- <li data-name="LuCI#env"><a href="LuCI.html#env">env</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.requestCallbackFn"><a href="LuCI.html#.requestCallbackFn">requestCallbackFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI#bind"><a href="LuCI.html#bind">bind</a></li>
-
- <li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
-
- <li data-name="LuCI#get"><a href="LuCI.html#get">get</a></li>
-
- <li data-name="LuCI#halt"><a href="LuCI.html#halt">halt</a></li>
-
- <li data-name="LuCI#hasSystemFeature"><a href="LuCI.html#hasSystemFeature">hasSystemFeature</a></li>
-
- <li data-name="LuCI#isObject"><a href="LuCI.html#isObject">isObject</a></li>
-
- <li data-name="LuCI#location"><a href="LuCI.html#location">location</a></li>
-
- <li data-name="LuCI#path"><a href="LuCI.html#path">path</a></li>
-
- <li data-name="LuCI#poll"><a href="LuCI.html#poll">poll</a></li>
-
- <li data-name="LuCI#post"><a href="LuCI.html#post">post</a></li>
-
- <li data-name="LuCI#raise"><a href="LuCI.html#raise">raise</a></li>
-
- <li data-name="LuCI#require"><a href="LuCI.html#require">require</a></li>
-
- <li data-name="LuCI#resolveDefault"><a href="LuCI.html#resolveDefault">resolveDefault</a></li>
-
- <li data-name="LuCI#resource"><a href="LuCI.html#resource">resource</a></li>
-
- <li data-name="LuCI#run"><a href="LuCI.html#run">run</a></li>
-
- <li data-name="LuCI#sortedKeys"><a href="LuCI.html#sortedKeys">sortedKeys</a></li>
-
- <li data-name="LuCI#stop"><a href="LuCI.html#stop">stop</a></li>
-
- <li data-name="LuCI#toArray"><a href="LuCI.html#toArray">toArray</a></li>
-
- <li data-name="LuCI#url"><a href="LuCI.html#url">url</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Class">
- <span class="title">
- <a href="LuCI.Class.html">LuCI.Class</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Class.extend"><a href="LuCI.Class.html#.extend">extend</a></li>
-
- <li data-name="LuCI.Class.instantiate"><a href="LuCI.Class.html#.instantiate">instantiate</a></li>
-
- <li data-name="LuCI.Class.isSubclass"><a href="LuCI.Class.html#.isSubclass">isSubclass</a></li>
-
- <li data-name="LuCI.Class.singleton"><a href="LuCI.Class.html#.singleton">singleton</a></li>
-
- <li data-name="LuCI.Class#super"><a href="LuCI.Class.html#super">super</a></li>
-
- <li data-name="LuCI.Class#varargs"><a href="LuCI.Class.html#varargs">varargs</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.dom">
- <span class="title">
- <a href="LuCI.dom.html">LuCI.dom</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.dom~ignoreCallbackFn"><a href="LuCI.dom.html#~ignoreCallbackFn">ignoreCallbackFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.dom#append"><a href="LuCI.dom.html#append">append</a></li>
-
- <li data-name="LuCI.dom#attr"><a href="LuCI.dom.html#attr">attr</a></li>
-
- <li data-name="LuCI.dom#bindClassInstance"><a href="LuCI.dom.html#bindClassInstance">bindClassInstance</a></li>
-
- <li data-name="LuCI.dom#callClassMethod"><a href="LuCI.dom.html#callClassMethod">callClassMethod</a></li>
-
- <li data-name="LuCI.dom#content"><a href="LuCI.dom.html#content">content</a></li>
-
- <li data-name="LuCI.dom#create"><a href="LuCI.dom.html#create">create</a></li>
-
- <li data-name="LuCI.dom#data"><a href="LuCI.dom.html#data">data</a></li>
-
- <li data-name="LuCI.dom#elem"><a href="LuCI.dom.html#elem">elem</a></li>
-
- <li data-name="LuCI.dom#findClassInstance"><a href="LuCI.dom.html#findClassInstance">findClassInstance</a></li>
-
- <li data-name="LuCI.dom#isEmpty"><a href="LuCI.dom.html#isEmpty">isEmpty</a></li>
-
- <li data-name="LuCI.dom#matches"><a href="LuCI.dom.html#matches">matches</a></li>
-
- <li data-name="LuCI.dom#parent"><a href="LuCI.dom.html#parent">parent</a></li>
-
- <li data-name="LuCI.dom#parse"><a href="LuCI.dom.html#parse">parse</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.fs">
- <span class="title">
- <a href="LuCI.fs.html">LuCI.fs</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.fs.FileExecResult"><a href="LuCI.fs.html#.FileExecResult">FileExecResult</a></li>
-
- <li data-name="LuCI.fs.FileStatEntry"><a href="LuCI.fs.html#.FileStatEntry">FileStatEntry</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.fs#exec"><a href="LuCI.fs.html#exec">exec</a></li>
-
- <li data-name="LuCI.fs#lines"><a href="LuCI.fs.html#lines">lines</a></li>
-
- <li data-name="LuCI.fs#list"><a href="LuCI.fs.html#list">list</a></li>
-
- <li data-name="LuCI.fs#read"><a href="LuCI.fs.html#read">read</a></li>
-
- <li data-name="LuCI.fs#remove"><a href="LuCI.fs.html#remove">remove</a></li>
-
- <li data-name="LuCI.fs#stat"><a href="LuCI.fs.html#stat">stat</a></li>
-
- <li data-name="LuCI.fs#trimmed"><a href="LuCI.fs.html#trimmed">trimmed</a></li>
-
- <li data-name="LuCI.fs#write"><a href="LuCI.fs.html#write">write</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Headers">
- <span class="title">
- <a href="LuCI.Headers.html">LuCI.Headers</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Headers#get"><a href="LuCI.Headers.html#get">get</a></li>
-
- <li data-name="LuCI.Headers#has"><a href="LuCI.Headers.html#has">has</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network">
- <span class="title">
- <a href="LuCI.Network.html">LuCI.Network</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.Network.SwitchTopology"><a href="LuCI.Network.html#.SwitchTopology">SwitchTopology</a></li>
-
- <li data-name="LuCI.Network.WifiEncryption"><a href="LuCI.Network.html#.WifiEncryption">WifiEncryption</a></li>
-
- <li data-name="LuCI.Network.WifiPeerEntry"><a href="LuCI.Network.html#.WifiPeerEntry">WifiPeerEntry</a></li>
-
- <li data-name="LuCI.Network.WifiRateEntry"><a href="LuCI.Network.html#.WifiRateEntry">WifiRateEntry</a></li>
-
- <li data-name="LuCI.Network.WifiScanResult"><a href="LuCI.Network.html#.WifiScanResult">WifiScanResult</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network#addNetwork"><a href="LuCI.Network.html#addNetwork">addNetwork</a></li>
-
- <li data-name="LuCI.Network#addWifiNetwork"><a href="LuCI.Network.html#addWifiNetwork">addWifiNetwork</a></li>
-
- <li data-name="LuCI.Network#deleteNetwork"><a href="LuCI.Network.html#deleteNetwork">deleteNetwork</a></li>
-
- <li data-name="LuCI.Network#deleteWifiNetwork"><a href="LuCI.Network.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
-
- <li data-name="LuCI.Network#flushCache"><a href="LuCI.Network.html#flushCache">flushCache</a></li>
-
- <li data-name="LuCI.Network#formatWifiEncryption"><a href="LuCI.Network.html#formatWifiEncryption">formatWifiEncryption</a></li>
-
- <li data-name="LuCI.Network#getDevice"><a href="LuCI.Network.html#getDevice">getDevice</a></li>
-
- <li data-name="LuCI.Network#getDevices"><a href="LuCI.Network.html#getDevices">getDevices</a></li>
-
- <li data-name="LuCI.Network#getDSLModemType"><a href="LuCI.Network.html#getDSLModemType">getDSLModemType</a></li>
-
- <li data-name="LuCI.Network#getHostHints"><a href="LuCI.Network.html#getHostHints">getHostHints</a></li>
-
- <li data-name="LuCI.Network#getIfnameOf"><a href="LuCI.Network.html#getIfnameOf">getIfnameOf</a></li>
-
- <li data-name="LuCI.Network#getNetwork"><a href="LuCI.Network.html#getNetwork">getNetwork</a></li>
-
- <li data-name="LuCI.Network#getNetworks"><a href="LuCI.Network.html#getNetworks">getNetworks</a></li>
-
- <li data-name="LuCI.Network#getProtocol"><a href="LuCI.Network.html#getProtocol">getProtocol</a></li>
-
- <li data-name="LuCI.Network#getProtocols"><a href="LuCI.Network.html#getProtocols">getProtocols</a></li>
-
- <li data-name="LuCI.Network#getSwitchTopologies"><a href="LuCI.Network.html#getSwitchTopologies">getSwitchTopologies</a></li>
-
- <li data-name="LuCI.Network#getWAN6Networks"><a href="LuCI.Network.html#getWAN6Networks">getWAN6Networks</a></li>
-
- <li data-name="LuCI.Network#getWANNetworks"><a href="LuCI.Network.html#getWANNetworks">getWANNetworks</a></li>
-
- <li data-name="LuCI.Network#getWifiDevice"><a href="LuCI.Network.html#getWifiDevice">getWifiDevice</a></li>
-
- <li data-name="LuCI.Network#getWifiDevices"><a href="LuCI.Network.html#getWifiDevices">getWifiDevices</a></li>
-
- <li data-name="LuCI.Network#getWifiNetwork"><a href="LuCI.Network.html#getWifiNetwork">getWifiNetwork</a></li>
-
- <li data-name="LuCI.Network#isIgnoredDevice"><a href="LuCI.Network.html#isIgnoredDevice">isIgnoredDevice</a></li>
-
- <li data-name="LuCI.Network#maskToPrefix"><a href="LuCI.Network.html#maskToPrefix">maskToPrefix</a></li>
-
- <li data-name="LuCI.Network#prefixToMask"><a href="LuCI.Network.html#prefixToMask">prefixToMask</a></li>
-
- <li data-name="LuCI.Network#registerErrorCode"><a href="LuCI.Network.html#registerErrorCode">registerErrorCode</a></li>
-
- <li data-name="LuCI.Network#registerPatternVirtual"><a href="LuCI.Network.html#registerPatternVirtual">registerPatternVirtual</a></li>
-
- <li data-name="LuCI.Network#registerProtocol"><a href="LuCI.Network.html#registerProtocol">registerProtocol</a></li>
-
- <li data-name="LuCI.Network#renameNetwork"><a href="LuCI.Network.html#renameNetwork">renameNetwork</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.Device">
- <span class="title">
- <a href="LuCI.Network.Device.html">LuCI.Network.Device</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.Device#getBridgeID"><a href="LuCI.Network.Device.html#getBridgeID">getBridgeID</a></li>
-
- <li data-name="LuCI.Network.Device#getBridgeSTP"><a href="LuCI.Network.Device.html#getBridgeSTP">getBridgeSTP</a></li>
-
- <li data-name="LuCI.Network.Device#getI18n"><a href="LuCI.Network.Device.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.Device#getIP6Addrs"><a href="LuCI.Network.Device.html#getIP6Addrs">getIP6Addrs</a></li>
-
- <li data-name="LuCI.Network.Device#getIPAddrs"><a href="LuCI.Network.Device.html#getIPAddrs">getIPAddrs</a></li>
-
- <li data-name="LuCI.Network.Device#getMAC"><a href="LuCI.Network.Device.html#getMAC">getMAC</a></li>
-
- <li data-name="LuCI.Network.Device#getMTU"><a href="LuCI.Network.Device.html#getMTU">getMTU</a></li>
-
- <li data-name="LuCI.Network.Device#getName"><a href="LuCI.Network.Device.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.Device#getNetwork"><a href="LuCI.Network.Device.html#getNetwork">getNetwork</a></li>
-
- <li data-name="LuCI.Network.Device#getNetworks"><a href="LuCI.Network.Device.html#getNetworks">getNetworks</a></li>
-
- <li data-name="LuCI.Network.Device#getPorts"><a href="LuCI.Network.Device.html#getPorts">getPorts</a></li>
-
- <li data-name="LuCI.Network.Device#getRXBytes"><a href="LuCI.Network.Device.html#getRXBytes">getRXBytes</a></li>
-
- <li data-name="LuCI.Network.Device#getRXPackets"><a href="LuCI.Network.Device.html#getRXPackets">getRXPackets</a></li>
-
- <li data-name="LuCI.Network.Device#getShortName"><a href="LuCI.Network.Device.html#getShortName">getShortName</a></li>
-
- <li data-name="LuCI.Network.Device#getTXBytes"><a href="LuCI.Network.Device.html#getTXBytes">getTXBytes</a></li>
-
- <li data-name="LuCI.Network.Device#getTXPackets"><a href="LuCI.Network.Device.html#getTXPackets">getTXPackets</a></li>
-
- <li data-name="LuCI.Network.Device#getType"><a href="LuCI.Network.Device.html#getType">getType</a></li>
-
- <li data-name="LuCI.Network.Device#getTypeI18n"><a href="LuCI.Network.Device.html#getTypeI18n">getTypeI18n</a></li>
-
- <li data-name="LuCI.Network.Device#getWifiNetwork"><a href="LuCI.Network.Device.html#getWifiNetwork">getWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.Device#isBridge"><a href="LuCI.Network.Device.html#isBridge">isBridge</a></li>
-
- <li data-name="LuCI.Network.Device#isBridgePort"><a href="LuCI.Network.Device.html#isBridgePort">isBridgePort</a></li>
-
- <li data-name="LuCI.Network.Device#isUp"><a href="LuCI.Network.Device.html#isUp">isUp</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.Hosts">
- <span class="title">
- <a href="LuCI.Network.Hosts.html">LuCI.Network.Hosts</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.Hosts#getHostnameByIP6Addr"><a href="LuCI.Network.Hosts.html#getHostnameByIP6Addr">getHostnameByIP6Addr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getHostnameByIPAddr"><a href="LuCI.Network.Hosts.html#getHostnameByIPAddr">getHostnameByIPAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getHostnameByMACAddr"><a href="LuCI.Network.Hosts.html#getHostnameByMACAddr">getHostnameByMACAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getIP6AddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIP6AddrByMACAddr">getIP6AddrByMACAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getIPAddrByMACAddr"><a href="LuCI.Network.Hosts.html#getIPAddrByMACAddr">getIPAddrByMACAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getMACAddrByIP6Addr"><a href="LuCI.Network.Hosts.html#getMACAddrByIP6Addr">getMACAddrByIP6Addr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getMACAddrByIPAddr"><a href="LuCI.Network.Hosts.html#getMACAddrByIPAddr">getMACAddrByIPAddr</a></li>
-
- <li data-name="LuCI.Network.Hosts#getMACHints"><a href="LuCI.Network.Hosts.html#getMACHints">getMACHints</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.Protocol">
- <span class="title">
- <a href="LuCI.Network.Protocol.html">LuCI.Network.Protocol</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.Protocol#addDevice"><a href="LuCI.Network.Protocol.html#addDevice">addDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#containsDevice"><a href="LuCI.Network.Protocol.html#containsDevice">containsDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#deleteDevice"><a href="LuCI.Network.Protocol.html#deleteDevice">deleteDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#get"><a href="LuCI.Network.Protocol.html#get">get</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDevice"><a href="LuCI.Network.Protocol.html#getDevice">getDevice</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDevices"><a href="LuCI.Network.Protocol.html#getDevices">getDevices</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDNS6Addrs"><a href="LuCI.Network.Protocol.html#getDNS6Addrs">getDNS6Addrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getDNSAddrs"><a href="LuCI.Network.Protocol.html#getDNSAddrs">getDNSAddrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getErrors"><a href="LuCI.Network.Protocol.html#getErrors">getErrors</a></li>
-
- <li data-name="LuCI.Network.Protocol#getExpiry"><a href="LuCI.Network.Protocol.html#getExpiry">getExpiry</a></li>
-
- <li data-name="LuCI.Network.Protocol#getGateway6Addr"><a href="LuCI.Network.Protocol.html#getGateway6Addr">getGateway6Addr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getGatewayAddr"><a href="LuCI.Network.Protocol.html#getGatewayAddr">getGatewayAddr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getI18n"><a href="LuCI.Network.Protocol.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIfname"><a href="LuCI.Network.Protocol.html#getIfname">getIfname</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIP6Addr"><a href="LuCI.Network.Protocol.html#getIP6Addr">getIP6Addr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIP6Addrs"><a href="LuCI.Network.Protocol.html#getIP6Addrs">getIP6Addrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIP6Prefix"><a href="LuCI.Network.Protocol.html#getIP6Prefix">getIP6Prefix</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIPAddr"><a href="LuCI.Network.Protocol.html#getIPAddr">getIPAddr</a></li>
-
- <li data-name="LuCI.Network.Protocol#getIPAddrs"><a href="LuCI.Network.Protocol.html#getIPAddrs">getIPAddrs</a></li>
-
- <li data-name="LuCI.Network.Protocol#getL2Device"><a href="LuCI.Network.Protocol.html#getL2Device">getL2Device</a></li>
-
- <li data-name="LuCI.Network.Protocol#getL3Device"><a href="LuCI.Network.Protocol.html#getL3Device">getL3Device</a></li>
-
- <li data-name="LuCI.Network.Protocol#getMetric"><a href="LuCI.Network.Protocol.html#getMetric">getMetric</a></li>
-
- <li data-name="LuCI.Network.Protocol#getName"><a href="LuCI.Network.Protocol.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.Protocol#getNetmask"><a href="LuCI.Network.Protocol.html#getNetmask">getNetmask</a></li>
-
- <li data-name="LuCI.Network.Protocol#getOpkgPackage"><a href="LuCI.Network.Protocol.html#getOpkgPackage">getOpkgPackage</a></li>
-
- <li data-name="LuCI.Network.Protocol#getProtocol"><a href="LuCI.Network.Protocol.html#getProtocol">getProtocol</a></li>
-
- <li data-name="LuCI.Network.Protocol#getType"><a href="LuCI.Network.Protocol.html#getType">getType</a></li>
-
- <li data-name="LuCI.Network.Protocol#getUptime"><a href="LuCI.Network.Protocol.html#getUptime">getUptime</a></li>
-
- <li data-name="LuCI.Network.Protocol#getZoneName"><a href="LuCI.Network.Protocol.html#getZoneName">getZoneName</a></li>
-
- <li data-name="LuCI.Network.Protocol#isAlias"><a href="LuCI.Network.Protocol.html#isAlias">isAlias</a></li>
-
- <li data-name="LuCI.Network.Protocol#isBridge"><a href="LuCI.Network.Protocol.html#isBridge">isBridge</a></li>
-
- <li data-name="LuCI.Network.Protocol#isDynamic"><a href="LuCI.Network.Protocol.html#isDynamic">isDynamic</a></li>
-
- <li data-name="LuCI.Network.Protocol#isEmpty"><a href="LuCI.Network.Protocol.html#isEmpty">isEmpty</a></li>
-
- <li data-name="LuCI.Network.Protocol#isFloating"><a href="LuCI.Network.Protocol.html#isFloating">isFloating</a></li>
-
- <li data-name="LuCI.Network.Protocol#isInstalled"><a href="LuCI.Network.Protocol.html#isInstalled">isInstalled</a></li>
-
- <li data-name="LuCI.Network.Protocol#isUp"><a href="LuCI.Network.Protocol.html#isUp">isUp</a></li>
-
- <li data-name="LuCI.Network.Protocol#isVirtual"><a href="LuCI.Network.Protocol.html#isVirtual">isVirtual</a></li>
-
- <li data-name="LuCI.Network.Protocol#set"><a href="LuCI.Network.Protocol.html#set">set</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.WifiDevice">
- <span class="title">
- <a href="LuCI.Network.WifiDevice.html">LuCI.Network.WifiDevice</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.WifiDevice#addWifiNetwork"><a href="LuCI.Network.WifiDevice.html#addWifiNetwork">addWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#deleteWifiNetwork"><a href="LuCI.Network.WifiDevice.html#deleteWifiNetwork">deleteWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#get"><a href="LuCI.Network.WifiDevice.html#get">get</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getHTModes"><a href="LuCI.Network.WifiDevice.html#getHTModes">getHTModes</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getHWModes"><a href="LuCI.Network.WifiDevice.html#getHWModes">getHWModes</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getI18n"><a href="LuCI.Network.WifiDevice.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getName"><a href="LuCI.Network.WifiDevice.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getScanList"><a href="LuCI.Network.WifiDevice.html#getScanList">getScanList</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getWifiNetwork"><a href="LuCI.Network.WifiDevice.html#getWifiNetwork">getWifiNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#getWifiNetworks"><a href="LuCI.Network.WifiDevice.html#getWifiNetworks">getWifiNetworks</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#isDisabled"><a href="LuCI.Network.WifiDevice.html#isDisabled">isDisabled</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#isUp"><a href="LuCI.Network.WifiDevice.html#isUp">isUp</a></li>
-
- <li data-name="LuCI.Network.WifiDevice#set"><a href="LuCI.Network.WifiDevice.html#set">set</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Network.WifiNetwork">
- <span class="title">
- <a href="LuCI.Network.WifiNetwork.html">LuCI.Network.WifiNetwork</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Network.WifiNetwork#get"><a href="LuCI.Network.WifiNetwork.html#get">get</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveBSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveBSSID">getActiveBSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveEncryption"><a href="LuCI.Network.WifiNetwork.html#getActiveEncryption">getActiveEncryption</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveMode"><a href="LuCI.Network.WifiNetwork.html#getActiveMode">getActiveMode</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveModeI18n"><a href="LuCI.Network.WifiNetwork.html#getActiveModeI18n">getActiveModeI18n</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getActiveSSID"><a href="LuCI.Network.WifiNetwork.html#getActiveSSID">getActiveSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getAssocList"><a href="LuCI.Network.WifiNetwork.html#getAssocList">getAssocList</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getBitRate"><a href="LuCI.Network.WifiNetwork.html#getBitRate">getBitRate</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getBSSID"><a href="LuCI.Network.WifiNetwork.html#getBSSID">getBSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getChannel"><a href="LuCI.Network.WifiNetwork.html#getChannel">getChannel</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getCountryCode"><a href="LuCI.Network.WifiNetwork.html#getCountryCode">getCountryCode</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getDevice"><a href="LuCI.Network.WifiNetwork.html#getDevice">getDevice</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getFrequency"><a href="LuCI.Network.WifiNetwork.html#getFrequency">getFrequency</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getI18n"><a href="LuCI.Network.WifiNetwork.html#getI18n">getI18n</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getID"><a href="LuCI.Network.WifiNetwork.html#getID">getID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getIfname"><a href="LuCI.Network.WifiNetwork.html#getIfname">getIfname</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getMeshID"><a href="LuCI.Network.WifiNetwork.html#getMeshID">getMeshID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getMode"><a href="LuCI.Network.WifiNetwork.html#getMode">getMode</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getName"><a href="LuCI.Network.WifiNetwork.html#getName">getName</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNetwork"><a href="LuCI.Network.WifiNetwork.html#getNetwork">getNetwork</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNetworkNames"><a href="LuCI.Network.WifiNetwork.html#getNetworkNames">getNetworkNames</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNetworks"><a href="LuCI.Network.WifiNetwork.html#getNetworks">getNetworks</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getNoise"><a href="LuCI.Network.WifiNetwork.html#getNoise">getNoise</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getShortName"><a href="LuCI.Network.WifiNetwork.html#getShortName">getShortName</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSignal"><a href="LuCI.Network.WifiNetwork.html#getSignal">getSignal</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSignalLevel"><a href="LuCI.Network.WifiNetwork.html#getSignalLevel">getSignalLevel</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSignalPercent"><a href="LuCI.Network.WifiNetwork.html#getSignalPercent">getSignalPercent</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getSSID"><a href="LuCI.Network.WifiNetwork.html#getSSID">getSSID</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getTXPower"><a href="LuCI.Network.WifiNetwork.html#getTXPower">getTXPower</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getTXPowerOffset"><a href="LuCI.Network.WifiNetwork.html#getTXPowerOffset">getTXPowerOffset</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getWifiDevice"><a href="LuCI.Network.WifiNetwork.html#getWifiDevice">getWifiDevice</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#getWifiDeviceName"><a href="LuCI.Network.WifiNetwork.html#getWifiDeviceName">getWifiDeviceName</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#isDisabled"><a href="LuCI.Network.WifiNetwork.html#isDisabled">isDisabled</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#isUp"><a href="LuCI.Network.WifiNetwork.html#isUp">isUp</a></li>
-
- <li data-name="LuCI.Network.WifiNetwork#set"><a href="LuCI.Network.WifiNetwork.html#set">set</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Poll">
- <span class="title">
- <a href="LuCI.Poll.html">LuCI.Poll</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Poll#active"><a href="LuCI.Poll.html#active">active</a></li>
-
- <li data-name="LuCI.Poll#add"><a href="LuCI.Poll.html#add">add</a></li>
-
- <li data-name="LuCI.Poll#remove"><a href="LuCI.Poll.html#remove">remove</a></li>
-
- <li data-name="LuCI.Poll#start"><a href="LuCI.Poll.html#start">start</a></li>
-
- <li data-name="LuCI.Poll#stop"><a href="LuCI.Poll.html#stop">stop</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Request">
- <span class="title">
- <a href="LuCI.Request.html">LuCI.Request</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.Request.interceptorFn"><a href="LuCI.Request.html#.interceptorFn">interceptorFn</a></li>
-
- <li data-name="LuCI.Request.RequestOptions"><a href="LuCI.Request.html#.RequestOptions">RequestOptions</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Request#addInterceptor"><a href="LuCI.Request.html#addInterceptor">addInterceptor</a></li>
-
- <li data-name="LuCI.Request#expandURL"><a href="LuCI.Request.html#expandURL">expandURL</a></li>
-
- <li data-name="LuCI.Request#get"><a href="LuCI.Request.html#get">get</a></li>
-
- <li data-name="LuCI.Request#post"><a href="LuCI.Request.html#post">post</a></li>
-
- <li data-name="LuCI.Request#removeInterceptor"><a href="LuCI.Request.html#removeInterceptor">removeInterceptor</a></li>
-
- <li data-name="LuCI.Request#request"><a href="LuCI.Request.html#request">request</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Request.poll">
- <span class="title">
- <a href="LuCI.Request.poll.html">LuCI.Request.poll</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.Request.poll~callbackFn"><a href="LuCI.Request.poll.html#~callbackFn">callbackFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Request.poll#active"><a href="LuCI.Request.poll.html#active">active</a></li>
-
- <li data-name="LuCI.Request.poll#add"><a href="LuCI.Request.poll.html#add">add</a></li>
-
- <li data-name="LuCI.Request.poll#remove"><a href="LuCI.Request.poll.html#remove">remove</a></li>
-
- <li data-name="LuCI.Request.poll#start"><a href="LuCI.Request.poll.html#start">start</a></li>
-
- <li data-name="LuCI.Request.poll#stop"><a href="LuCI.Request.poll.html#stop">stop</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.Response">
- <span class="title">
- <a href="LuCI.Response.html">LuCI.Response</a>
-
- </span>
- <ul class="members itemMembers">
-
- <span class="subtitle">Members</span>
-
- <li data-name="LuCI.Response#duration"><a href="LuCI.Response.html#duration">duration</a></li>
-
- <li data-name="LuCI.Response#headers"><a href="LuCI.Response.html#headers">headers</a></li>
-
- <li data-name="LuCI.Response#ok"><a href="LuCI.Response.html#ok">ok</a></li>
-
- <li data-name="LuCI.Response#status"><a href="LuCI.Response.html#status">status</a></li>
-
- <li data-name="LuCI.Response#statusText"><a href="LuCI.Response.html#statusText">statusText</a></li>
-
- <li data-name="LuCI.Response#url"><a href="LuCI.Response.html#url">url</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.Response#clone"><a href="LuCI.Response.html#clone">clone</a></li>
-
- <li data-name="LuCI.Response#json"><a href="LuCI.Response.html#json">json</a></li>
-
- <li data-name="LuCI.Response#text"><a href="LuCI.Response.html#text">text</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.rpc">
- <span class="title">
- <a href="LuCI.rpc.html">LuCI.rpc</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.rpc.DeclareOptions"><a href="LuCI.rpc.html#.DeclareOptions">DeclareOptions</a></li>
-
- <li data-name="LuCI.rpc~filterFn"><a href="LuCI.rpc.html#~filterFn">filterFn</a></li>
-
- <li data-name="LuCI.rpc~interceptorFn"><a href="LuCI.rpc.html#~interceptorFn">interceptorFn</a></li>
-
- <li data-name="LuCI.rpc~invokeFn"><a href="LuCI.rpc.html#~invokeFn">invokeFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.rpc#addInterceptor"><a href="LuCI.rpc.html#addInterceptor">addInterceptor</a></li>
-
- <li data-name="LuCI.rpc#declare"><a href="LuCI.rpc.html#declare">declare</a></li>
-
- <li data-name="LuCI.rpc#getBaseURL"><a href="LuCI.rpc.html#getBaseURL">getBaseURL</a></li>
-
- <li data-name="LuCI.rpc#getSessionID"><a href="LuCI.rpc.html#getSessionID">getSessionID</a></li>
-
- <li data-name="LuCI.rpc#getStatusText"><a href="LuCI.rpc.html#getStatusText">getStatusText</a></li>
-
- <li data-name="LuCI.rpc#list"><a href="LuCI.rpc.html#list">list</a></li>
-
- <li data-name="LuCI.rpc#removeInterceptor"><a href="LuCI.rpc.html#removeInterceptor">removeInterceptor</a></li>
-
- <li data-name="LuCI.rpc#setBaseURL"><a href="LuCI.rpc.html#setBaseURL">setBaseURL</a></li>
-
- <li data-name="LuCI.rpc#setSessionID"><a href="LuCI.rpc.html#setSessionID">setSessionID</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.uci">
- <span class="title">
- <a href="LuCI.uci.html">LuCI.uci</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- <span class="subtitle">Typedefs</span>
-
- <li data-name="LuCI.uci.ChangeRecord"><a href="LuCI.uci.html#.ChangeRecord">ChangeRecord</a></li>
-
- <li data-name="LuCI.uci.SectionObject"><a href="LuCI.uci.html#.SectionObject">SectionObject</a></li>
-
- <li data-name="LuCI.uci~sectionsFn"><a href="LuCI.uci.html#~sectionsFn">sectionsFn</a></li>
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.uci#add"><a href="LuCI.uci.html#add">add</a></li>
-
- <li data-name="LuCI.uci#apply"><a href="LuCI.uci.html#apply">apply</a></li>
-
- <li data-name="LuCI.uci#changes"><a href="LuCI.uci.html#changes">changes</a></li>
-
- <li data-name="LuCI.uci#createSID"><a href="LuCI.uci.html#createSID">createSID</a></li>
-
- <li data-name="LuCI.uci#get"><a href="LuCI.uci.html#get">get</a></li>
-
- <li data-name="LuCI.uci#get_first"><a href="LuCI.uci.html#get_first">get_first</a></li>
-
- <li data-name="LuCI.uci#load"><a href="LuCI.uci.html#load">load</a></li>
-
- <li data-name="LuCI.uci#move"><a href="LuCI.uci.html#move">move</a></li>
-
- <li data-name="LuCI.uci#remove"><a href="LuCI.uci.html#remove">remove</a></li>
-
- <li data-name="LuCI.uci#resolveSID"><a href="LuCI.uci.html#resolveSID">resolveSID</a></li>
-
- <li data-name="LuCI.uci#save"><a href="LuCI.uci.html#save">save</a></li>
-
- <li data-name="LuCI.uci#sections"><a href="LuCI.uci.html#sections">sections</a></li>
-
- <li data-name="LuCI.uci#set"><a href="LuCI.uci.html#set">set</a></li>
-
- <li data-name="LuCI.uci#set_first"><a href="LuCI.uci.html#set_first">set_first</a></li>
-
- <li data-name="LuCI.uci#unload"><a href="LuCI.uci.html#unload">unload</a></li>
-
- <li data-name="LuCI.uci#unset"><a href="LuCI.uci.html#unset">unset</a></li>
-
- <li data-name="LuCI.uci#unset_first"><a href="LuCI.uci.html#unset_first">unset_first</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.view">
- <span class="title">
- <a href="LuCI.view.html">LuCI.view</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.view#addFooter"><a href="LuCI.view.html#addFooter">addFooter</a></li>
-
- <li data-name="LuCI.view#handleReset"><a href="LuCI.view.html#handleReset">handleReset</a></li>
-
- <li data-name="LuCI.view#handleSave"><a href="LuCI.view.html#handleSave">handleSave</a></li>
-
- <li data-name="LuCI.view#handleSaveApply"><a href="LuCI.view.html#handleSaveApply">handleSaveApply</a></li>
-
- <li data-name="LuCI.view#load"><a href="LuCI.view.html#load">load</a></li>
-
- <li data-name="LuCI.view#render"><a href="LuCI.view.html#render">render</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- <li class="item" data-name="LuCI.XHR">
- <span class="title">
- <a href="LuCI.XHR.html">LuCI.XHR</a>
-
- </span>
- <ul class="members itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="typedefs itemMembers">
-
- </ul>
- <ul class="methods itemMembers">
-
- <span class="subtitle">Methods</span>
-
- <li data-name="LuCI.XHR#abort"><a href="LuCI.XHR.html#abort">abort</a></li>
-
- <li data-name="LuCI.XHR#busy"><a href="LuCI.XHR.html#busy">busy</a></li>
-
- <li data-name="LuCI.XHR#cancel"><a href="LuCI.XHR.html#cancel">cancel</a></li>
-
- <li data-name="LuCI.XHR#get"><a href="LuCI.XHR.html#get">get</a></li>
-
- <li data-name="LuCI.XHR#post"><a href="LuCI.XHR.html#post">post</a></li>
-
- <li data-name="LuCI.XHR#send_form"><a href="LuCI.XHR.html#send_form">send_form</a></li>
-
- </ul>
- <ul class="events itemMembers">
-
- </ul>
- </li>
-
- </ul>
-</div>
- <div class="main">
- <h1 class="page-title" data-filename="index.html">Index</h1>
-
-
-
-
-
-
- <h3> </h3>
-
-
-
-
-
-
-
-
-
-
-
-
-
- <section>
- <article class="readme"><h1>OpenWrt luci feed</h1>
-<p><a target="_blank" href="https://hosted.weblate.org/engage/openwrt/?utm_source=widget"><img src="https://hosted.weblate.org/widgets/openwrt/-/svg-badge.svg" alt="Translation status"></a></p>
-<h2>Description</h2>
-<p>This is the OpenWrt &quot;luci&quot;-feed containing LuCI - OpenWrt Configuration Interface.</p>
-<h2>Usage</h2>
-<p>This feed is enabled by default. Your feeds.conf.default (or feeds.conf) should contain a line like:</p>
-<pre class="prettyprint source"><code>src-git luci https://github.com/openwrt/luci.git
-</code></pre>
-<p>To install all its package definitions, run:</p>
-<pre class="prettyprint source"><code>./scripts/feeds update luci
-./scripts/feeds install -a -p luci
-</code></pre>
-<h2>API Reference</h2>
-<p>You can browse the generated API documentation directly on Github.</p>
-<ul>
-<li><a target="_blank" href="http://htmlpreview.github.io/?http://raw.githubusercontent.com/openwrt/luci/master/documentation/api/index.html">Server side Lua APIs</a></li>
-<li><a target="_blank" href="http://htmlpreview.github.io/?http://raw.githubusercontent.com/openwrt/luci/master/documentation/jsapi/index.html">Client side JavaScript APIs</a></li>
-</ul>
-<h2>Development</h2>
-<p>Documentation for developing and extending LuCI can be found <a target="_blank" href="https://github.com/openwrt/luci/wiki">in the Wiki</a></p>
-<h2>License</h2>
-<p>See <a href="LICENSE">LICENSE</a> file.</p>
-<h2>Package Guidelines</h2>
-<p>See <a href="CONTRIBUTING.md">CONTRIBUTING.md</a> file.</p>
-<h2>Translation status</h2>
-<p><a target="_blank" href="https://hosted.weblate.org/engage/openwrt/?utm_source=widget"><img src="https://hosted.weblate.org/widgets/openwrt/-/multi-auto.svg" alt="Translation status"></a></p></article>
- </section>
-
-
-
-
-
-
-
-
- <footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Nov 05 2019 10:17:12 GMT+0100 (Central European Standard Time)
- </footer>
- </div>
-</div>
-<script>prettyPrint();</script>
-<script src="scripts/jaguar.js"></script>
-</body>
-</html> \ No newline at end of file
diff --git a/documentation/jsapi/luci.js.html b/documentation/jsapi/luci.js.html
deleted file mode 100644
index 7cad32ce50..0000000000
--- a/documentation/jsapi/luci.js.html
+++ /dev/null
@@ -1,3125 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta charset="utf-8">
- <title>JSDoc: Source: luci.js</title>
-
- <script src="scripts/prettify/prettify.js"> </script>
- <script src="scripts/prettify/lang-css.js"> </script>
- <!--[if lt IE 9]>
- <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
- <![endif]-->
- <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
- <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
-</head>
-
-<body>
-
-<div id="main">
-
- <h1 class="page-title">Source: luci.js</h1>
-
-
-
-
-
-
- <section>
- <article>
- <pre class="prettyprint source linenums"><code>/**
- * @class LuCI
- * @classdesc
- *
- * This is the LuCI base class. It is automatically instantiated and
- * accessible using the global `L` variable.
- *
- * @param {Object} env
- * The environment settings to use for the LuCI runtime.
- */
-
-(function(window, document, undefined) {
- 'use strict';
-
- /* Object.assign polyfill for IE */
- if (typeof Object.assign !== 'function') {
- Object.defineProperty(Object, 'assign', {
- value: function assign(target, varArgs) {
- if (target == null)
- throw new TypeError('Cannot convert undefined or null to object');
-
- var to = Object(target);
-
- for (var index = 1; index &lt; arguments.length; index++)
- if (arguments[index] != null)
- for (var nextKey in arguments[index])
- if (Object.prototype.hasOwnProperty.call(arguments[index], nextKey))
- to[nextKey] = arguments[index][nextKey];
-
- return to;
- },
- writable: true,
- configurable: true
- });
- }
-
- /* Promise.finally polyfill */
- if (typeof Promise.prototype.finally !== 'function') {
- Promise.prototype.finally = function(fn) {
- var onFinally = function(cb) {
- return Promise.resolve(fn.call(this)).then(cb);
- };
-
- return this.then(
- function(result) { return onFinally.call(this, function() { return result }) },
- function(reason) { return onFinally.call(this, function() { return Promise.reject(reason) }) }
- );
- };
- }
-
- /*
- * Class declaration and inheritance helper
- */
-
- var toCamelCase = function(s) {
- return s.replace(/(?:^|[\. -])(.)/g, function(m0, m1) { return m1.toUpperCase() });
- };
-
- /**
- * @class Class
- * @hideconstructor
- * @memberof LuCI
- * @classdesc
- *
- * `LuCI.Class` is the abstract base class all LuCI classes inherit from.
- *
- * It provides simple means to create subclasses of given classes and
- * implements prototypal inheritance.
- */
- var superContext = null, Class = Object.assign(function() {}, {
- /**
- * Extends this base class with the properties described in
- * `properties` and returns a new subclassed Class instance
- *
- * @memberof LuCI.Class
- *
- * @param {Object&lt;string, *>} properties
- * An object describing the properties to add to the new
- * subclass.
- *
- * @returns {LuCI.Class}
- * Returns a new LuCI.Class sublassed from this class, extended
- * by the given properties and with its prototype set to this base
- * class to enable inheritance. The resulting value represents a
- * class constructor and can be instantiated with `new`.
- */
- extend: function(properties) {
- var props = {
- __base__: { value: this.prototype },
- __name__: { value: properties.__name__ || 'anonymous' }
- };
-
- var ClassConstructor = function() {
- if (!(this instanceof ClassConstructor))
- throw new TypeError('Constructor must not be called without "new"');
-
- if (Object.getPrototypeOf(this).hasOwnProperty('__init__')) {
- if (typeof(this.__init__) != 'function')
- throw new TypeError('Class __init__ member is not a function');
-
- this.__init__.apply(this, arguments)
- }
- else {
- this.super('__init__', arguments);
- }
- };
-
- for (var key in properties)
- if (!props[key] &amp;&amp; properties.hasOwnProperty(key))
- props[key] = { value: properties[key], writable: true };
-
- ClassConstructor.prototype = Object.create(this.prototype, props);
- ClassConstructor.prototype.constructor = ClassConstructor;
- Object.assign(ClassConstructor, this);
- ClassConstructor.displayName = toCamelCase(props.__name__.value + 'Class');
-
- return ClassConstructor;
- },
-
- /**
- * Extends this base class with the properties described in
- * `properties`, instantiates the resulting subclass using
- * the additional optional arguments passed to this function
- * and returns the resulting subclassed Class instance.
- *
- * This function serves as a convenience shortcut for
- * {@link LuCI.Class.extend Class.extend()} and subsequent
- * `new`.
- *
- * @memberof LuCI.Class
- *
- * @param {Object&lt;string, *>} properties
- * An object describing the properties to add to the new
- * subclass.
- *
- * @param {...*} [new_args]
- * Specifies arguments to be passed to the subclass constructor
- * as-is in order to instantiate the new subclass.
- *
- * @returns {LuCI.Class}
- * Returns a new LuCI.Class instance extended by the given
- * properties with its prototype set to this base class to
- * enable inheritance.
- */
- singleton: function(properties /*, ... */) {
- return Class.extend(properties)
- .instantiate(Class.prototype.varargs(arguments, 1));
- },
-
- /**
- * Calls the class constructor using `new` with the given argument
- * array being passed as variadic parameters to the constructor.
- *
- * @memberof LuCI.Class
- *
- * @param {Array&lt;*>} params
- * An array of arbitrary values which will be passed as arguments
- * to the constructor function.
- *
- * @param {...*} [new_args]
- * Specifies arguments to be passed to the subclass constructor
- * as-is in order to instantiate the new subclass.
- *
- * @returns {LuCI.Class}
- * Returns a new LuCI.Class instance extended by the given
- * properties with its prototype set to this base class to
- * enable inheritance.
- */
- instantiate: function(args) {
- return new (Function.prototype.bind.apply(this,
- Class.prototype.varargs(args, 0, null)))();
- },
-
- /* unused */
- call: function(self, method) {
- if (typeof(this.prototype[method]) != 'function')
- throw new ReferenceError(method + ' is not defined in class');
-
- return this.prototype[method].apply(self, self.varargs(arguments, 1));
- },
-
- /**
- * Checks whether the given class value is a subclass of this class.
- *
- * @memberof LuCI.Class
- *
- * @param {LuCI.Class} classValue
- * The class object to test.
- *
- * @returns {boolean}
- * Returns `true` when the given `classValue` is a subclass of this
- * class or `false` if the given value is not a valid class or not
- * a subclass of this class'.
- */
- isSubclass: function(classValue) {
- return (classValue != null &amp;&amp;
- typeof(classValue) == 'function' &amp;&amp;
- classValue.prototype instanceof this);
- },
-
- prototype: {
- /**
- * Extract all values from the given argument array beginning from
- * `offset` and prepend any further given optional parameters to
- * the beginning of the resulting array copy.
- *
- * @memberof LuCI.Class
- * @instance
- *
- * @param {Array&lt;*>} args
- * The array to extract the values from.
- *
- * @param {number} offset
- * The offset from which to extract the values. An offset of `0`
- * would copy all values till the end.
- *
- * @param {...*} [extra_args]
- * Extra arguments to add to prepend to the resultung array.
- *
- * @returns {Array&lt;*>}
- * Returns a new array consisting of the optional extra arguments
- * and the values extracted from the `args` array beginning with
- * `offset`.
- */
- varargs: function(args, offset /*, ... */) {
- return Array.prototype.slice.call(arguments, 2)
- .concat(Array.prototype.slice.call(args, offset));
- },
-
- /**
- * Walks up the parent class chain and looks for a class member
- * called `key` in any of the parent classes this class inherits
- * from. Returns the member value of the superclass or calls the
- * member as function and returns its return value when the
- * optional `callArgs` array is given.
- *
- * This function has two signatures and is sensitive to the
- * amount of arguments passed to it:
- * - `super('key')` -
- * Returns the value of `key` when found within one of the
- * parent classes.
- * - `super('key', ['arg1', 'arg2'])` -
- * Calls the `key()` method with parameters `arg1` and `arg2`
- * when found within one of the parent classes.
- *
- * @memberof LuCI.Class
- * @instance
- *
- * @param {string} key
- * The name of the superclass member to retrieve.
- *
- * @param {Array&lt;*>} [callArgs]
- * An optional array of function call parameters to use. When
- * this parameter is specified, the found member value is called
- * as function using the values of this array as arguments.
- *
- * @throws {ReferenceError}
- * Throws a `ReferenceError` when `callArgs` are specified and
- * the found member named by `key` is not a function value.
- *
- * @returns {*|null}
- * Returns the value of the found member or the return value of
- * the call to the found method. Returns `null` when no member
- * was found in the parent class chain or when the call to the
- * superclass method returned `null`.
- */
- super: function(key, callArgs) {
- for (superContext = Object.getPrototypeOf(superContext ||
- Object.getPrototypeOf(this));
- superContext &amp;&amp; !superContext.hasOwnProperty(key);
- superContext = Object.getPrototypeOf(superContext)) { }
-
- if (!superContext)
- return null;
-
- var res = superContext[key];
-
- if (arguments.length > 1) {
- if (typeof(res) != 'function')
- throw new ReferenceError(key + ' is not a function in base class');
-
- if (typeof(callArgs) != 'object')
- callArgs = this.varargs(arguments, 1);
-
- res = res.apply(this, callArgs);
- }
-
- superContext = null;
-
- return res;
- },
-
- /**
- * Returns a string representation of this class.
- *
- * @returns {string}
- * Returns a string representation of this class containing the
- * constructor functions `displayName` and describing the class
- * members and their respective types.
- */
- toString: function() {
- var s = '[' + this.constructor.displayName + ']', f = true;
- for (var k in this) {
- if (this.hasOwnProperty(k)) {
- s += (f ? ' {\n' : '') + ' ' + k + ': ' + typeof(this[k]) + '\n';
- f = false;
- }
- }
- return s + (f ? '' : '}');
- }
- }
- });
-
-
- /**
- * @class
- * @memberof LuCI
- * @hideconstructor
- * @classdesc
- *
- * The `Headers` class is an internal utility class exposed in HTTP
- * response objects using the `response.headers` property.
- */
- var Headers = Class.extend(/** @lends LuCI.Headers.prototype */ {
- __name__: 'LuCI.XHR.Headers',
- __init__: function(xhr) {
- var hdrs = this.headers = {};
- xhr.getAllResponseHeaders().split(/\r\n/).forEach(function(line) {
- var m = /^([^:]+):(.*)$/.exec(line);
- if (m != null)
- hdrs[m[1].trim().toLowerCase()] = m[2].trim();
- });
- },
-
- /**
- * Checks whether the given header name is present.
- * Note: Header-Names are case-insensitive.
- *
- * @instance
- * @memberof LuCI.Headers
- * @param {string} name
- * The header name to check
- *
- * @returns {boolean}
- * Returns `true` if the header name is present, `false` otherwise
- */
- has: function(name) {
- return this.headers.hasOwnProperty(String(name).toLowerCase());
- },
-
- /**
- * Returns the value of the given header name.
- * Note: Header-Names are case-insensitive.
- *
- * @instance
- * @memberof LuCI.Headers
- * @param {string} name
- * The header name to read
- *
- * @returns {string|null}
- * The value of the given header name or `null` if the header isn't present.
- */
- get: function(name) {
- var key = String(name).toLowerCase();
- return this.headers.hasOwnProperty(key) ? this.headers[key] : null;
- }
- });
-
- /**
- * @class
- * @memberof LuCI
- * @hideconstructor
- * @classdesc
- *
- * The `Response` class is an internal utility class representing HTTP responses.
- */
- var Response = Class.extend({
- __name__: 'LuCI.XHR.Response',
- __init__: function(xhr, url, duration, headers, content) {
- /**
- * Describes whether the response is successful (status codes `200..299`) or not
- * @instance
- * @memberof LuCI.Response
- * @name ok
- * @type {boolean}
- */
- this.ok = (xhr.status >= 200 &amp;&amp; xhr.status &lt;= 299);
-
- /**
- * The numeric HTTP status code of the response
- * @instance
- * @memberof LuCI.Response
- * @name status
- * @type {number}
- */
- this.status = xhr.status;
-
- /**
- * The HTTP status description message of the response
- * @instance
- * @memberof LuCI.Response
- * @name statusText
- * @type {string}
- */
- this.statusText = xhr.statusText;
-
- /**
- * The HTTP headers of the response
- * @instance
- * @memberof LuCI.Response
- * @name headers
- * @type {LuCI.Headers}
- */
- this.headers = (headers != null) ? headers : new Headers(xhr);
-
- /**
- * The total duration of the HTTP request in milliseconds
- * @instance
- * @memberof LuCI.Response
- * @name duration
- * @type {number}
- */
- this.duration = duration;
-
- /**
- * The final URL of the request, i.e. after following redirects.
- * @instance
- * @memberof LuCI.Response
- * @name url
- * @type {string}
- */
- this.url = url;
-
- /* privates */
- this.xhr = xhr;
-
- if (content != null &amp;&amp; typeof(content) == 'object') {
- this.responseJSON = content;
- this.responseText = null;
- }
- else if (content != null) {
- this.responseJSON = null;
- this.responseText = String(content);
- }
- else {
- this.responseJSON = null;
- this.responseText = xhr.responseText;
- }
- },
-
- /**
- * Clones the given response object, optionally overriding the content
- * of the cloned instance.
- *
- * @instance
- * @memberof LuCI.Response
- * @param {*} [content]
- * Override the content of the cloned response. Object values will be
- * treated as JSON response data, all other types will be converted
- * using `String()` and treated as response text.
- *
- * @returns {LuCI.Response}
- * The cloned `Response` instance.
- */
- clone: function(content) {
- var copy = new Response(this.xhr, this.url, this.duration, this.headers, content);
-
- copy.ok = this.ok;
- copy.status = this.status;
- copy.statusText = this.statusText;
-
- return copy;
- },
-
- /**
- * Access the response content as JSON data.
- *
- * @instance
- * @memberof LuCI.Response
- * @throws {SyntaxError}
- * Throws `SyntaxError` if the content isn't valid JSON.
- *
- * @returns {*}
- * The parsed JSON data.
- */
- json: function() {
- if (this.responseJSON == null)
- this.responseJSON = JSON.parse(this.responseText);
-
- return this.responseJSON;
- },
-
- /**
- * Access the response content as string.
- *
- * @instance
- * @memberof LuCI.Response
- * @returns {string}
- * The response content.
- */
- text: function() {
- if (this.responseText == null &amp;&amp; this.responseJSON != null)
- this.responseText = JSON.stringify(this.responseJSON);
-
- return this.responseText;
- }
- });
-
-
- var requestQueue = [];
-
- function isQueueableRequest(opt) {
- if (!classes.rpc)
- return false;
-
- if (opt.method != 'POST' || typeof(opt.content) != 'object')
- return false;
-
- if (opt.nobatch === true)
- return false;
-
- var rpcBaseURL = Request.expandURL(classes.rpc.getBaseURL());
-
- return (rpcBaseURL != null &amp;&amp; opt.url.indexOf(rpcBaseURL) == 0);
- }
-
- function flushRequestQueue() {
- if (!requestQueue.length)
- return;
-
- var reqopt = Object.assign({}, requestQueue[0][0], { content: [], nobatch: true }),
- batch = [];
-
- for (var i = 0; i &lt; requestQueue.length; i++) {
- batch[i] = requestQueue[i];
- reqopt.content[i] = batch[i][0].content;
- }
-
- requestQueue.length = 0;
-
- Request.request(rpcBaseURL, reqopt).then(function(reply) {
- var json = null, req = null;
-
- try { json = reply.json() }
- catch(e) { }
-
- while ((req = batch.shift()) != null)
- if (Array.isArray(json) &amp;&amp; json.length)
- req[2].call(reqopt, reply.clone(json.shift()));
- else
- req[1].call(reqopt, new Error('No related RPC reply'));
- }).catch(function(error) {
- var req = null;
-
- while ((req = batch.shift()) != null)
- req[1].call(reqopt, error);
- });
- }
-
- /**
- * @class
- * @memberof LuCI
- * @hideconstructor
- * @classdesc
- *
- * The `Request` class allows initiating HTTP requests and provides utilities
- * for dealing with responses.
- */
- var Request = Class.singleton(/** @lends LuCI.Request.prototype */ {
- __name__: 'LuCI.Request',
-
- interceptors: [],
-
- /**
- * Turn the given relative URL into an absolute URL if necessary.
- *
- * @instance
- * @memberof LuCI.Request
- * @param {string} url
- * The URL to convert.
- *
- * @returns {string}
- * The absolute URL derived from the given one, or the original URL
- * if it already was absolute.
- */
- expandURL: function(url) {
- if (!/^(?:[^/]+:)?\/\//.test(url))
- url = location.protocol + '//' + location.host + url;
-
- return url;
- },
-
- /**
- * @typedef {Object} RequestOptions
- * @memberof LuCI.Request
- *
- * @property {string} [method=GET]
- * The HTTP method to use, e.g. `GET` or `POST`.
- *
- * @property {Object&lt;string, Object|string>} [query]
- * Query string data to append to the URL. Non-string values of the
- * given object will be converted to JSON.
- *
- * @property {boolean} [cache=false]
- * Specifies whether the HTTP response may be retrieved from cache.
- *
- * @property {string} [username]
- * Provides a username for HTTP basic authentication.
- *
- * @property {string} [password]
- * Provides a password for HTTP basic authentication.
- *
- * @property {number} [timeout]
- * Specifies the request timeout in seconds.
- *
- * @property {boolean} [credentials=false]
- * Whether to include credentials such as cookies in the request.
- *
- * @property {*} [content]
- * Specifies the HTTP message body to send along with the request.
- * If the value is a function, it is invoked and the return value
- * used as content, if it is a FormData instance, it is used as-is,
- * if it is an object, it will be converted to JSON, in all other
- * cases it is converted to a string.
- *
- * @property {Object&lt;string, string>} [header]
- * Specifies HTTP headers to set for the request.
- *
- * @property {function} [progress]
- * An optional request callback function which receives ProgressEvent
- * instances as sole argument during the HTTP request transfer.
- */
-
- /**
- * Initiate an HTTP request to the given target.
- *
- * @instance
- * @memberof LuCI.Request
- * @param {string} target
- * The URL to request.
- *
- * @param {LuCI.Request.RequestOptions} [options]
- * Additional options to configure the request.
- *
- * @returns {Promise&lt;LuCI.Response>}
- * The resulting HTTP response.
- */
- request: function(target, options) {
- var state = { xhr: new XMLHttpRequest(), url: this.expandURL(target), start: Date.now() },
- opt = Object.assign({}, options, state),
- content = null,
- contenttype = null,
- callback = this.handleReadyStateChange;
-
- return new Promise(function(resolveFn, rejectFn) {
- opt.xhr.onreadystatechange = callback.bind(opt, resolveFn, rejectFn);
- opt.method = String(opt.method || 'GET').toUpperCase();
-
- if ('query' in opt) {
- var q = (opt.query != null) ? Object.keys(opt.query).map(function(k) {
- if (opt.query[k] != null) {
- var v = (typeof(opt.query[k]) == 'object')
- ? JSON.stringify(opt.query[k])
- : String(opt.query[k]);
-
- return '%s=%s'.format(encodeURIComponent(k), encodeURIComponent(v));
- }
- else {
- return encodeURIComponent(k);
- }
- }).join('&amp;') : '';
-
- if (q !== '') {
- switch (opt.method) {
- case 'GET':
- case 'HEAD':
- case 'OPTIONS':
- opt.url += ((/\?/).test(opt.url) ? '&amp;' : '?') + q;
- break;
-
- default:
- if (content == null) {
- content = q;
- contenttype = 'application/x-www-form-urlencoded';
- }
- }
- }
- }
-
- if (!opt.cache)
- opt.url += ((/\?/).test(opt.url) ? '&amp;' : '?') + (new Date()).getTime();
-
- if (isQueueableRequest(opt)) {
- requestQueue.push([opt, rejectFn, resolveFn]);
- requestAnimationFrame(flushRequestQueue);
- return;
- }
-
- if ('username' in opt &amp;&amp; 'password' in opt)
- opt.xhr.open(opt.method, opt.url, true, opt.username, opt.password);
- else
- opt.xhr.open(opt.method, opt.url, true);
-
- opt.xhr.responseType = 'text';
-
- if ('overrideMimeType' in opt.xhr)
- opt.xhr.overrideMimeType('application/octet-stream');
-
- if ('timeout' in opt)
- opt.xhr.timeout = +opt.timeout;
-
- if ('credentials' in opt)
- opt.xhr.withCredentials = !!opt.credentials;
-
- if (opt.content != null) {
- switch (typeof(opt.content)) {
- case 'function':
- content = opt.content(xhr);
- break;
-
- case 'object':
- if (!(opt.content instanceof FormData)) {
- content = JSON.stringify(opt.content);
- contenttype = 'application/json';
- }
- else {
- content = opt.content;
- }
- break;
-
- default:
- content = String(opt.content);
- }
- }
-
- if ('headers' in opt)
- for (var header in opt.headers)
- if (opt.headers.hasOwnProperty(header)) {
- if (header.toLowerCase() != 'content-type')
- opt.xhr.setRequestHeader(header, opt.headers[header]);
- else
- contenttype = opt.headers[header];
- }
-
- if ('progress' in opt &amp;&amp; 'upload' in opt.xhr)
- opt.xhr.upload.addEventListener('progress', opt.progress);
-
- if (contenttype != null)
- opt.xhr.setRequestHeader('Content-Type', contenttype);
-
- try {
- opt.xhr.send(content);
- }
- catch (e) {
- rejectFn.call(opt, e);
- }
- });
- },
-
- handleReadyStateChange: function(resolveFn, rejectFn, ev) {
- var xhr = this.xhr,
- duration = Date.now() - this.start;
-
- if (xhr.readyState !== 4)
- return;
-
- if (xhr.status === 0 &amp;&amp; xhr.statusText === '') {
- if (duration >= this.timeout)
- rejectFn.call(this, new Error('XHR request timed out'));
- else
- rejectFn.call(this, new Error('XHR request aborted by browser'));
- }
- else {
- var response = new Response(
- xhr, xhr.responseURL || this.url, duration);
-
- Promise.all(Request.interceptors.map(function(fn) { return fn(response) }))
- .then(resolveFn.bind(this, response))
- .catch(rejectFn.bind(this));
- }
- },
-
- /**
- * Initiate an HTTP GET request to the given target.
- *
- * @instance
- * @memberof LuCI.Request
- * @param {string} target
- * The URL to request.
- *
- * @param {LuCI.Request.RequestOptions} [options]
- * Additional options to configure the request.
- *
- * @returns {Promise&lt;LuCI.Response>}
- * The resulting HTTP response.
- */
- get: function(url, options) {
- return this.request(url, Object.assign({ method: 'GET' }, options));
- },
-
- /**
- * Initiate an HTTP POST request to the given target.
- *
- * @instance
- * @memberof LuCI.Request
- * @param {string} target
- * The URL to request.
- *
- * @param {*} [data]
- * The request data to send, see {@link LuCI.Request.RequestOptions} for details.
- *
- * @param {LuCI.Request.RequestOptions} [options]
- * Additional options to configure the request.
- *
- * @returns {Promise&lt;LuCI.Response>}
- * The resulting HTTP response.
- */
- post: function(url, data, options) {
- return this.request(url, Object.assign({ method: 'POST', content: data }, options));
- },
-
- /**
- * Interceptor functions are invoked whenever an HTTP reply is received, in the order
- * these functions have been registered.
- * @callback LuCI.Request.interceptorFn
- * @param {LuCI.Response} res
- * The HTTP response object
- */
-
- /**
- * Register an HTTP response interceptor function. Interceptor
- * functions are useful to perform default actions on incoming HTTP
- * responses, such as checking for expired authentication or for
- * implementing request retries before returning a failure.
- *
- * @instance
- * @memberof LuCI.Request
- * @param {LuCI.Request.interceptorFn} interceptorFn
- * The interceptor function to register.
- *
- * @returns {LuCI.Request.interceptorFn}
- * The registered function.
- */
- addInterceptor: function(interceptorFn) {
- if (typeof(interceptorFn) == 'function')
- this.interceptors.push(interceptorFn);
- return interceptorFn;
- },
-
- /**
- * Remove an HTTP response interceptor function. The passed function
- * value must be the very same value that was used to register the
- * function.
- *
- * @instance
- * @memberof LuCI.Request
- * @param {LuCI.Request.interceptorFn} interceptorFn
- * The interceptor function to remove.
- *
- * @returns {boolean}
- * Returns `true` if any function has been removed, else `false`.
- */
- removeInterceptor: function(interceptorFn) {
- var oldlen = this.interceptors.length, i = oldlen;
- while (i--)
- if (this.interceptors[i] === interceptorFn)
- this.interceptors.splice(i, 1);
- return (this.interceptors.length &lt; oldlen);
- },
-
- /**
- * @class
- * @memberof LuCI.Request
- * @hideconstructor
- * @classdesc
- *
- * The `Request.poll` class provides some convience wrappers around
- * {@link LuCI.Poll} mainly to simplify registering repeating HTTP
- * request calls as polling functions.
- */
- poll: {
- /**
- * The callback function is invoked whenever an HTTP reply to a
- * polled request is received or when the polled request timed
- * out.
- *
- * @callback LuCI.Request.poll~callbackFn
- * @param {LuCI.Response} res
- * The HTTP response object.
- *
- * @param {*} data
- * The response JSON if the response could be parsed as such,
- * else `null`.
- *
- * @param {number} duration
- * The total duration of the request in milliseconds.
- */
-
- /**
- * Register a repeating HTTP request with an optional callback
- * to invoke whenever a response for the request is received.
- *
- * @instance
- * @memberof LuCI.Request.poll
- * @param {number} interval
- * The poll interval in seconds.
- *
- * @param {string} url
- * The URL to request on each poll.
- *
- * @param {LuCI.Request.RequestOptions} [options]
- * Additional options to configure the request.
- *
- * @param {LuCI.Request.poll~callbackFn} [callback]
- * {@link LuCI.Request.poll~callbackFn Callback} function to
- * invoke for each HTTP reply.
- *
- * @throws {TypeError}
- * Throws `TypeError` when an invalid interval was passed.
- *
- * @returns {function}
- * Returns the internally created poll function.
- */
- add: function(interval, url, options, callback) {
- if (isNaN(interval) || interval &lt;= 0)
- throw new TypeError('Invalid poll interval');
-
- var ival = interval >>> 0,
- opts = Object.assign({}, options, { timeout: ival * 1000 - 5 });
-
- var fn = function() {
- return Request.request(url, options).then(function(res) {
- if (!Poll.active())
- return;
-
- try {
- callback(res, res.json(), res.duration);
- }
- catch (err) {
- callback(res, null, res.duration);
- }
- });
- };
-
- return (Poll.add(fn, ival) ? fn : null);
- },
-
- /**
- * Remove a polling request that has been previously added using `add()`.
- * This function is essentially a wrapper around
- * {@link LuCI.Poll.remove LuCI.Poll.remove()}.
- *
- * @instance
- * @memberof LuCI.Request.poll
- * @param {function} entry
- * The poll function returned by {@link LuCI.Request.poll#add add()}.
- *
- * @returns {boolean}
- * Returns `true` if any function has been removed, else `false`.
- */
- remove: function(entry) { return Poll.remove(entry) },
-
- /**
- * Alias for {@link LuCI.Poll.start LuCI.Poll.start()}.
- *
- * @instance
- * @memberof LuCI.Request.poll
- */
- start: function() { return Poll.start() },
-
- /**
- * Alias for {@link LuCI.Poll.stop LuCI.Poll.stop()}.
- *
- * @instance
- * @memberof LuCI.Request.poll
- */
- stop: function() { return Poll.stop() },
-
- /**
- * Alias for {@link LuCI.Poll.active LuCI.Poll.active()}.
- *
- * @instance
- * @memberof LuCI.Request.poll
- */
- active: function() { return Poll.active() }
- }
- });
-
- /**
- * @class
- * @memberof LuCI
- * @hideconstructor
- * @classdesc
- *
- * The `Poll` class allows registering and unregistering poll actions,
- * as well as starting, stopping and querying the state of the polling
- * loop.
- */
- var Poll = Class.singleton(/** @lends LuCI.Poll.prototype */ {
- __name__: 'LuCI.Poll',
-
- queue: [],
-
- /**
- * Add a new operation to the polling loop. If the polling loop is not
- * already started at this point, it will be implicitely started.
- *
- * @instance
- * @memberof LuCI.Poll
- * @param {function} fn
- * The function to invoke on each poll interval.
- *
- * @param {number} interval
- * The poll interval in seconds.
- *
- * @throws {TypeError}
- * Throws `TypeError` when an invalid interval was passed.
- *
- * @returns {boolean}
- * Returns `true` if the function has been added or `false` if it
- * already is registered.
- */
- add: function(fn, interval) {
- if (interval == null || interval &lt;= 0)
- interval = window.L ? window.L.env.pollinterval : null;
-
- if (isNaN(interval) || typeof(fn) != 'function')
- throw new TypeError('Invalid argument to LuCI.Poll.add()');
-
- for (var i = 0; i &lt; this.queue.length; i++)
- if (this.queue[i].fn === fn)
- return false;
-
- var e = {
- r: true,
- i: interval >>> 0,
- fn: fn
- };
-
- this.queue.push(e);
-
- if (this.tick != null &amp;&amp; !this.active())
- this.start();
-
- return true;
- },
-
- /**
- * Remove an operation from the polling loop. If no further operatons
- * are registered, the polling loop is implicitely stopped.
- *
- * @instance
- * @memberof LuCI.Poll
- * @param {function} fn
- * The function to remove.
- *
- * @throws {TypeError}
- * Throws `TypeError` when the given argument isn't a function.
- *
- * @returns {boolean}
- * Returns `true` if the function has been removed or `false` if it
- * wasn't found.
- */
- remove: function(fn) {
- if (typeof(fn) != 'function')
- throw new TypeError('Invalid argument to LuCI.Poll.remove()');
-
- var len = this.queue.length;
-
- for (var i = len; i > 0; i--)
- if (this.queue[i-1].fn === fn)
- this.queue.splice(i-1, 1);
-
- if (!this.queue.length &amp;&amp; this.stop())
- this.tick = 0;
-
- return (this.queue.length != len);
- },
-
- /**
- * (Re)start the polling loop. Dispatches a custom `poll-start` event
- * to the `document` object upon successful start.
- *
- * @instance
- * @memberof LuCI.Poll
- * @returns {boolean}
- * Returns `true` if polling has been started (or if no functions
- * where registered) or `false` when the polling loop already runs.
- */
- start: function() {
- if (this.active())
- return false;
-
- this.tick = 0;
-
- if (this.queue.length) {
- this.timer = window.setInterval(this.step, 1000);
- this.step();
- document.dispatchEvent(new CustomEvent('poll-start'));
- }
-
- return true;
- },
-
- /**
- * Stop the polling loop. Dispatches a custom `poll-stop` event
- * to the `document` object upon successful stop.
- *
- * @instance
- * @memberof LuCI.Poll
- * @returns {boolean}
- * Returns `true` if polling has been stopped or `false` if it din't
- * run to begin with.
- */
- stop: function() {
- if (!this.active())
- return false;
-
- document.dispatchEvent(new CustomEvent('poll-stop'));
- window.clearInterval(this.timer);
- delete this.timer;
- delete this.tick;
- return true;
- },
-
- /* private */
- step: function() {
- for (var i = 0, e = null; (e = Poll.queue[i]) != null; i++) {
- if ((Poll.tick % e.i) != 0)
- continue;
-
- if (!e.r)
- continue;
-
- e.r = false;
-
- Promise.resolve(e.fn()).finally((function() { this.r = true }).bind(e));
- }
-
- Poll.tick = (Poll.tick + 1) % Math.pow(2, 32);
- },
-
- /**
- * Test whether the polling loop is running.
- *
- * @instance
- * @memberof LuCI.Poll
- * @returns {boolean} - Returns `true` if polling is active, else `false`.
- */
- active: function() {
- return (this.timer != null);
- }
- });
-
-
- var dummyElem = null,
- domParser = null,
- originalCBIInit = null,
- rpcBaseURL = null,
- sysFeatures = null,
- classes = {};
-
- var LuCI = Class.extend(/** @lends LuCI.prototype */ {
- __name__: 'LuCI',
- __init__: function(env) {
-
- document.querySelectorAll('script[src*="/luci.js"]').forEach(function(s) {
- if (env.base_url == null || env.base_url == '') {
- var m = (s.getAttribute('src') || '').match(/^(.*)\/luci\.js(?:\?v=([^?]+))?$/);
- if (m) {
- env.base_url = m[1];
- env.resource_version = m[2];
- }
- }
- });
-
- if (env.base_url == null)
- this.error('InternalError', 'Cannot find url of luci.js');
-
- Object.assign(this.env, env);
-
- document.addEventListener('poll-start', function(ev) {
- document.querySelectorAll('[id^="xhr_poll_status"]').forEach(function(e) {
- e.style.display = (e.id == 'xhr_poll_status_off') ? 'none' : '';
- });
- });
-
- document.addEventListener('poll-stop', function(ev) {
- document.querySelectorAll('[id^="xhr_poll_status"]').forEach(function(e) {
- e.style.display = (e.id == 'xhr_poll_status_on') ? 'none' : '';
- });
- });
-
- var domReady = new Promise(function(resolveFn, rejectFn) {
- document.addEventListener('DOMContentLoaded', resolveFn);
- });
-
- Promise.all([
- domReady,
- this.require('ui'),
- this.require('rpc'),
- this.require('form'),
- this.probeRPCBaseURL()
- ]).then(this.setupDOM.bind(this)).catch(this.error);
-
- originalCBIInit = window.cbi_init;
- window.cbi_init = function() {};
- },
-
- /**
- * Captures the current stack trace and throws an error of the
- * specified type as a new exception. Also logs the exception as
- * error to the debug console if it is available.
- *
- * @instance
- * @memberof LuCI
- *
- * @param {Error|string} [type=Error]
- * Either a string specifying the type of the error to throw or an
- * existing `Error` instance to copy.
- *
- * @param {string} [fmt=Unspecified error]
- * A format string which is used to form the error message, together
- * with all subsequent optional arguments.
- *
- * @param {...*} [args]
- * Zero or more variable arguments to the supplied format string.
- *
- * @throws {Error}
- * Throws the created error object with the captured stack trace
- * appended to the message and the type set to the given type
- * argument or copied from the given error instance.
- */
- raise: function(type, fmt /*, ...*/) {
- var e = null,
- msg = fmt ? String.prototype.format.apply(fmt, this.varargs(arguments, 2)) : null,
- stack = null;
-
- if (type instanceof Error) {
- e = type;
-
- if (msg)
- e.message = msg + ': ' + e.message;
- }
- else {
- try { throw new Error('stacktrace') }
- catch (e2) { stack = (e2.stack || '').split(/\n/) }
-
- e = new (window[type || 'Error'] || Error)(msg || 'Unspecified error');
- e.name = type || 'Error';
- }
-
- stack = (stack || []).map(function(frame) {
- frame = frame.replace(/(.*?)@(.+):(\d+):(\d+)/g, 'at $1 ($2:$3:$4)').trim();
- return frame ? ' ' + frame : '';
- });
-
- if (!/^ at /.test(stack[0]))
- stack.shift();
-
- if (/\braise /.test(stack[0]))
- stack.shift();
-
- if (/\berror /.test(stack[0]))
- stack.shift();
-
- if (stack.length)
- e.message += '\n' + stack.join('\n');
-
- if (window.console &amp;&amp; console.debug)
- console.debug(e);
-
- throw e;
- },
-
- /**
- * A wrapper around {@link LuCI#raise raise()} which also renders
- * the error either as modal overlay when `ui.js` is already loaed
- * or directly into the view body.
- *
- * @instance
- * @memberof LuCI
- *
- * @param {Error|string} [type=Error]
- * Either a string specifying the type of the error to throw or an
- * existing `Error` instance to copy.
- *
- * @param {string} [fmt=Unspecified error]
- * A format string which is used to form the error message, together
- * with all subsequent optional arguments.
- *
- * @param {...*} [args]
- * Zero or more variable arguments to the supplied format string.
- *
- * @throws {Error}
- * Throws the created error object with the captured stack trace
- * appended to the message and the type set to the given type
- * argument or copied from the given error instance.
- */
- error: function(type, fmt /*, ...*/) {
- try {
- L.raise.apply(L, Array.prototype.slice.call(arguments));
- }
- catch (e) {
- if (!e.reported) {
- if (L.ui)
- L.ui.addNotification(e.name || _('Runtime error'),
- E('pre', {}, e.message), 'danger');
- else
- L.dom.content(document.querySelector('#maincontent'),
- E('pre', { 'class': 'alert-message error' }, e.message));
-
- e.reported = true;
- }
-
- throw e;
- }
- },
-
- /**
- * Return a bound function using the given `self` as `this` context
- * and any further arguments as parameters to the bound function.
- *
- * @instance
- * @memberof LuCI
- *
- * @param {function} fn
- * The function to bind.
- *
- * @param {*} self
- * The value to bind as `this` context to the specified function.
- *
- * @param {...*} [args]
- * Zero or more variable arguments which are bound to the function
- * as parameters.
- *
- * @returns {function}
- * Returns the bound function.
- */
- bind: function(fn, self /*, ... */) {
- return Function.prototype.bind.apply(fn, this.varargs(arguments, 2, self));
- },
-
- /**
- * Load an additional LuCI JavaScript class and its dependencies,
- * instantiate it and return the resulting class instance. Each
- * class is only loaded once. Subsequent attempts to load the same
- * class will return the already instantiated class.
- *
- * @instance
- * @memberof LuCI
- *
- * @param {string} name
- * The name of the class to load in dotted notation. Dots will
- * be replaced by spaces and joined with the runtime-determined
- * base URL of LuCI.js to form an absolute URL to load the class
- * file from.
- *
- * @throws {DependencyError}
- * Throws a `DependencyError` when the class to load includes
- * circular dependencies.
- *
- * @throws {NetworkError}
- * Throws `NetworkError` when the underlying {@link LuCI.Request}
- * call failed.
- *
- * @throws {SyntaxError}
- * Throws `SyntaxError` when the loaded class file code cannot
- * be interpreted by `eval`.
- *
- * @throws {TypeError}
- * Throws `TypeError` when the class file could be loaded and
- * interpreted, but when invoking its code did not yield a valid
- * class instance.
- *
- * @returns {Promise&lt;LuCI#Class>}
- * Returns the instantiated class.
- */
- require: function(name, from) {
- var L = this, url = null, from = from || [];
-
- /* Class already loaded */
- if (classes[name] != null) {
- /* Circular dependency */
- if (from.indexOf(name) != -1)
- L.raise('DependencyError',
- 'Circular dependency: class "%s" depends on "%s"',
- name, from.join('" which depends on "'));
-
- return Promise.resolve(classes[name]);
- }
-
- url = '%s/%s.js%s'.format(L.env.base_url, name.replace(/\./g, '/'), (L.env.resource_version ? '?v=' + L.env.resource_version : ''));
- from = [ name ].concat(from);
-
- var compileClass = function(res) {
- if (!res.ok)
- L.raise('NetworkError',
- 'HTTP error %d while loading class file "%s"', res.status, url);
-
- var source = res.text(),
- requirematch = /^require[ \t]+(\S+)(?:[ \t]+as[ \t]+([a-zA-Z_]\S*))?$/,
- strictmatch = /^use[ \t]+strict$/,
- depends = [],
- args = '';
-
- /* find require statements in source */
- for (var i = 0, off = -1, quote = -1, esc = false; i &lt; source.length; i++) {
- var chr = source.charCodeAt(i);
-
- if (esc) {
- esc = false;
- }
- else if (chr == 92) {
- esc = true;
- }
- else if (chr == quote) {
- var s = source.substring(off, i),
- m = requirematch.exec(s);
-
- if (m) {
- var dep = m[1], as = m[2] || dep.replace(/[^a-zA-Z0-9_]/g, '_');
- depends.push(L.require(dep, from));
- args += ', ' + as;
- }
- else if (!strictmatch.exec(s)) {
- break;
- }
-
- off = -1;
- quote = -1;
- }
- else if (quote == -1 &amp;&amp; (chr == 34 || chr == 39)) {
- off = i + 1;
- quote = chr;
- }
- }
-
- /* load dependencies and instantiate class */
- return Promise.all(depends).then(function(instances) {
- var _factory, _class;
-
- try {
- _factory = eval(
- '(function(window, document, L%s) { %s })\n\n//# sourceURL=%s\n'
- .format(args, source, res.url));
- }
- catch (error) {
- L.raise('SyntaxError', '%s\n in %s:%s',
- error.message, res.url, error.lineNumber || '?');
- }
-
- _factory.displayName = toCamelCase(name + 'ClassFactory');
- _class = _factory.apply(_factory, [window, document, L].concat(instances));
-
- if (!Class.isSubclass(_class))
- L.error('TypeError', '"%s" factory yields invalid constructor', name);
-
- if (_class.displayName == 'AnonymousClass')
- _class.displayName = toCamelCase(name + 'Class');
-
- var ptr = Object.getPrototypeOf(L),
- parts = name.split(/\./),
- instance = new _class();
-
- for (var i = 0; ptr &amp;&amp; i &lt; parts.length - 1; i++)
- ptr = ptr[parts[i]];
-
- if (ptr)
- ptr[parts[i]] = instance;
-
- classes[name] = instance;
-
- return instance;
- });
- };
-
- /* Request class file */
- classes[name] = Request.get(url, { cache: true }).then(compileClass);
-
- return classes[name];
- },
-
- /* DOM setup */
- probeRPCBaseURL: function() {
- if (rpcBaseURL == null) {
- try {
- rpcBaseURL = window.sessionStorage.getItem('rpcBaseURL');
- }
- catch (e) { }
- }
-
- if (rpcBaseURL == null) {
- var rpcFallbackURL = this.url('admin/ubus');
-
- rpcBaseURL = Request.get('/ubus/').then(function(res) {
- return (rpcBaseURL = (res.status == 400) ? '/ubus/' : rpcFallbackURL);
- }, function() {
- return (rpcBaseURL = rpcFallbackURL);
- }).then(function(url) {
- try {
- window.sessionStorage.setItem('rpcBaseURL', url);
- }
- catch (e) { }
-
- return url;
- });
- }
-
- return Promise.resolve(rpcBaseURL);
- },
-
- probeSystemFeatures: function() {
- var sessionid = classes.rpc.getSessionID();
-
- if (sysFeatures == null) {
- try {
- var data = JSON.parse(window.sessionStorage.getItem('sysFeatures'));
-
- if (this.isObject(data) &amp;&amp; this.isObject(data[sessionid]))
- sysFeatures = data[sessionid];
- }
- catch (e) {}
- }
-
- if (!this.isObject(sysFeatures)) {
- sysFeatures = classes.rpc.declare({
- object: 'luci',
- method: 'getFeatures',
- expect: { '': {} }
- })().then(function(features) {
- try {
- var data = {};
- data[sessionid] = features;
-
- window.sessionStorage.setItem('sysFeatures', JSON.stringify(data));
- }
- catch (e) {}
-
- sysFeatures = features;
-
- return features;
- });
- }
-
- return Promise.resolve(sysFeatures);
- },
-
- /**
- * Test whether a particular system feature is available, such as
- * hostapd SAE support or an installed firewall. The features are
- * queried once at the beginning of the LuCI session and cached in
- * `SessionStorage` throughout the lifetime of the associated tab or
- * browser window.
- *
- * @instance
- * @memberof LuCI
- *
- * @param {string} feature
- * The feature to test. For detailed list of known feature flags,
- * see `/modules/luci-base/root/usr/libexec/rpcd/luci`.
- *
- * @param {string} [subfeature]
- * Some feature classes like `hostapd` provide sub-feature flags,
- * such as `sae` or `11w` support. The `subfeature` argument can
- * be used to query these.
- *
- * @return {boolean|null}
- * Return `true` if the queried feature (and sub-feature) is available
- * or `false` if the requested feature isn't present or known.
- * Return `null` when a sub-feature was queried for a feature which
- * has no sub-features.
- */
- hasSystemFeature: function() {
- var ft = sysFeatures[arguments[0]];
-
- if (arguments.length == 2)
- return this.isObject(ft) ? ft[arguments[1]] : null;
-
- return (ft != null &amp;&amp; ft != false);
- },
-
- /* private */
- notifySessionExpiry: function() {
- Poll.stop();
-
- L.ui.showModal(_('Session expired'), [
- E('div', { class: 'alert-message warning' },
- _('A new login is required since the authentication session expired.')),
- E('div', { class: 'right' },
- E('div', {
- class: 'btn primary',
- click: function() {
- var loc = window.location;
- window.location = loc.protocol + '//' + loc.host + loc.pathname + loc.search;
- }
- }, _('To login…')))
- ]);
-
- L.raise('SessionError', 'Login session is expired');
- },
-
- /* private */
- setupDOM: function(res) {
- var domEv = res[0],
- uiClass = res[1],
- rpcClass = res[2],
- formClass = res[3],
- rpcBaseURL = res[4];
-
- rpcClass.setBaseURL(rpcBaseURL);
-
- rpcClass.addInterceptor(function(msg, req) {
- if (!L.isObject(msg) || !L.isObject(msg.error) || msg.error.code != -32002)
- return;
-
- if (!L.isObject(req) || (req.object == 'session' &amp;&amp; req.method == 'access'))
- return;
-
- return rpcClass.declare({
- 'object': 'session',
- 'method': 'access',
- 'params': [ 'scope', 'object', 'function' ],
- 'expect': { access: true }
- })('uci', 'luci', 'read').catch(L.notifySessionExpiry);
- });
-
- Request.addInterceptor(function(res) {
- var isDenied = false;
-
- if (res.status == 403 &amp;&amp; res.headers.get('X-LuCI-Login-Required') == 'yes')
- isDenied = true;
-
- if (!isDenied)
- return;
-
- L.notifySessionExpiry();
- });
-
- return this.probeSystemFeatures().finally(this.initDOM);
- },
-
- /* private */
- initDOM: function() {
- originalCBIInit();
- Poll.start();
- document.dispatchEvent(new CustomEvent('luci-loaded'));
- },
-
- /**
- * The `env` object holds environment settings used by LuCI, such
- * as request timeouts, base URLs etc.
- *
- * @instance
- * @memberof LuCI
- */
- env: {},
-
- /**
- * Construct a relative URL path from the given prefix and parts.
- * The resulting URL is guaranteed to only contain the characters
- * `a-z`, `A-Z`, `0-9`, `_`, `.`, `%`, `,`, `;`, and `-` as well
- * as `/` for the path separator.
- *
- * @instance
- * @memberof LuCI
- *
- * @param {string} [prefix]
- * The prefix to join the given parts with. If the `prefix` is
- * omitted, it defaults to an empty string.
- *
- * @param {string[]} [parts]
- * An array of parts to join into an URL path. Parts may contain
- * slashes and any of the other characters mentioned above.
- *
- * @return {string}
- * Return the joined URL path.
- */
- path: function(prefix, parts) {
- var url = [ prefix || '' ];
-
- for (var i = 0; i &lt; parts.length; i++)
- if (/^(?:[a-zA-Z0-9_.%,;-]+\/)*[a-zA-Z0-9_.%,;-]+$/.test(parts[i]))
- url.push('/', parts[i]);
-
- if (url.length === 1)
- url.push('/');
-
- return url.join('');
- },
-
- /**
- * Construct an URL pathrelative to the script path of the server
- * side LuCI application (usually `/cgi-bin/luci`).
- *
- * The resulting URL is guaranteed to only contain the characters
- * `a-z`, `A-Z`, `0-9`, `_`, `.`, `%`, `,`, `;`, and `-` as well
- * as `/` for the path separator.
- *
- * @instance
- * @memberof LuCI
- *
- * @param {string[]} [parts]
- * An array of parts to join into an URL path. Parts may contain
- * slashes and any of the other characters mentioned above.
- *
- * @return {string}
- * Returns the resulting URL path.
- */
- url: function() {
- return this.path(this.env.scriptname, arguments);
- },
-
- /**
- * Construct an URL path relative to the global static resource path
- * of the LuCI ui (usually `/luci-static/resources`).
- *
- * The resulting URL is guaranteed to only contain the characters
- * `a-z`, `A-Z`, `0-9`, `_`, `.`, `%`, `,`, `;`, and `-` as well
- * as `/` for the path separator.
- *
- * @instance
- * @memberof LuCI
- *
- * @param {string[]} [parts]
- * An array of parts to join into an URL path. Parts may contain
- * slashes and any of the other characters mentioned above.
- *
- * @return {string}
- * Returns the resulting URL path.
- */
- resource: function() {
- return this.path(this.env.resource, arguments);
- },
-
- /**
- * Return the complete URL path to the current view.
- *
- * @instance
- * @memberof LuCI
- *
- * @return {string}
- * Returns the URL path to the current view.
- */
- location: function() {
- return this.path(this.env.scriptname, this.env.requestpath);
- },
-
-
- /**
- * Tests whether the passed argument is a JavaScript object.
- * This function is meant to be an object counterpart to the
- * standard `Array.isArray()` function.
- *
- * @instance
- * @memberof LuCI
- *
- * @param {*} [val]
- * The value to test
- *
- * @return {boolean}
- * Returns `true` if the given value is of type object and
- * not `null`, else returns `false`.
- */
- isObject: function(val) {
- return (val != null &amp;&amp; typeof(val) == 'object');
- },
-
- /**
- * Return an array of sorted object keys, optionally sorted by
- * a different key or a different sorting mode.
- *
- * @instance
- * @memberof LuCI
- *
- * @param {object} obj
- * The object to extract the keys from. If the given value is
- * not an object, the function will return an empty array.
- *
- * @param {string} [key]
- * Specifies the key to order by. This is mainly useful for
- * nested objects of objects or objects of arrays when sorting
- * shall not be performed by the primary object keys but by
- * some other key pointing to a value within the nested values.
- *
- * @param {string} [sortmode]
- * May be either `addr` or `num` to override the natural
- * lexicographic sorting with a sorting suitable for IP/MAC style
- * addresses or numeric values respectively.
- *
- * @return {string[]}
- * Returns an array containing the sorted keys of the given object.
- */
- sortedKeys: function(obj, key, sortmode) {
- if (obj == null || typeof(obj) != 'object')
- return [];
-
- return Object.keys(obj).map(function(e) {
- var v = (key != null) ? obj[e][key] : e;
-
- switch (sortmode) {
- case 'addr':
- v = (v != null) ? v.replace(/(?:^|[.:])([0-9a-fA-F]{1,4})/g,
- function(m0, m1) { return ('000' + m1.toLowerCase()).substr(-4) }) : null;
- break;
-
- case 'num':
- v = (v != null) ? +v : null;
- break;
- }
-
- return [ e, v ];
- }).filter(function(e) {
- return (e[1] != null);
- }).sort(function(a, b) {
- return (a[1] > b[1]);
- }).map(function(e) {
- return e[0];
- });
- },
-
- /**
- * Converts the given value to an array. If the given value is of
- * type array, it is returned as-is, values of type object are
- * returned as one-element array containing the object, empty
- * strings and `null` values are returned as empty array, all other
- * values are converted using `String()`, trimmed, split on white
- * space and returned as array.
- *
- * @instance
- * @memberof LuCI
- *
- * @param {*} val
- * The value to convert into an array.
- *
- * @return {Array&lt;*>}
- * Returns the resulting array.
- */
- toArray: function(val) {
- if (val == null)
- return [];
- else if (Array.isArray(val))
- return val;
- else if (typeof(val) == 'object')
- return [ val ];
-
- var s = String(val).trim();
-
- if (s == '')
- return [];
-
- return s.split(/\s+/);
- },
-
- /**
- * Returns a promise resolving with either the given value or or with
- * the given default in case the input value is a rejecting promise.
- *
- * @instance
- * @memberof LuCI
- *
- * @param {*} value
- * The value to resolve the promise with.
- *
- * @param {*} defvalue
- * The default value to resolve the promise with in case the given
- * input value is a rejecting promise.
- *
- * @returns {Promise&lt;*>}
- * Returns a new promise resolving either to the given input value or
- * to the given default value on error.
- */
- resolveDefault: function(value, defvalue) {
- return Promise.resolve(value).catch(function() { return defvalue });
- },
-
- /**
- * The request callback function is invoked whenever an HTTP
- * reply to a request made using the `L.get()`, `L.post()` or
- * `L.poll()` function is timed out or received successfully.
- *
- * @instance
- * @memberof LuCI
- *
- * @callback LuCI.requestCallbackFn
- * @param {XMLHTTPRequest} xhr
- * The XMLHTTPRequest instance used to make the request.
- *
- * @param {*} data
- * The response JSON if the response could be parsed as such,
- * else `null`.
- *
- * @param {number} duration
- * The total duration of the request in milliseconds.
- */
-
- /**
- * Issues a GET request to the given url and invokes the specified
- * callback function. The function is a wrapper around
- * {@link LuCI.Request#request Request.request()}.
- *
- * @deprecated
- * @instance
- * @memberof LuCI
- *
- * @param {string} url
- * The URL to request.
- *
- * @param {Object&lt;string, string>} [args]
- * Additional query string arguments to append to the URL.
- *
- * @param {LuCI.requestCallbackFn} cb
- * The callback function to invoke when the request finishes.
- *
- * @return {Promise&lt;null>}
- * Returns a promise resolving to `null` when concluded.
- */
- get: function(url, args, cb) {
- return this.poll(null, url, args, cb, false);
- },
-
- /**
- * Issues a POST request to the given url and invokes the specified
- * callback function. The function is a wrapper around
- * {@link LuCI.Request#request Request.request()}. The request is
- * sent using `application/x-www-form-urlencoded` encoding and will
- * contain a field `token` with the current value of `LuCI.env.token`
- * by default.
- *
- * @deprecated
- * @instance
- * @memberof LuCI
- *
- * @param {string} url
- * The URL to request.
- *
- * @param {Object&lt;string, string>} [args]
- * Additional post arguments to append to the request body.
- *
- * @param {LuCI.requestCallbackFn} cb
- * The callback function to invoke when the request finishes.
- *
- * @return {Promise&lt;null>}
- * Returns a promise resolving to `null` when concluded.
- */
- post: function(url, args, cb) {
- return this.poll(null, url, args, cb, true);
- },
-
- /**
- * Register a polling HTTP request that invokes the specified
- * callback function. The function is a wrapper around
- * {@link LuCI.Request.poll#add Request.poll.add()}.
- *
- * @deprecated
- * @instance
- * @memberof LuCI
- *
- * @param {number} interval
- * The poll interval to use. If set to a value less than or equal
- * to `0`, it will default to the global poll interval configured
- * in `LuCI.env.pollinterval`.
- *
- * @param {string} url
- * The URL to request.
- *
- * @param {Object&lt;string, string>} [args]
- * Specifies additional arguments for the request. For GET requests,
- * the arguments are appended to the URL as query string, for POST
- * requests, they'll be added to the request body.
- *
- * @param {LuCI.requestCallbackFn} cb
- * The callback function to invoke whenever a request finishes.
- *
- * @param {boolean} [post=false]
- * When set to `false` or not specified, poll requests will be made
- * using the GET method. When set to `true`, POST requests will be
- * issued. In case of POST requests, the request body will contain
- * an argument `token` with the current value of `LuCI.env.token` by
- * default, regardless of the parameters specified with `args`.
- *
- * @return {function}
- * Returns the internally created function that has been passed to
- * {@link LuCI.Request.poll#add Request.poll.add()}. This value can
- * be passed to {@link LuCI.Poll.remove Poll.remove()} to remove the
- * polling request.
- */
- poll: function(interval, url, args, cb, post) {
- if (interval !== null &amp;&amp; interval &lt;= 0)
- interval = this.env.pollinterval;
-
- var data = post ? { token: this.env.token } : null,
- method = post ? 'POST' : 'GET';
-
- if (!/^(?:\/|\S+:\/\/)/.test(url))
- url = this.url(url);
-
- if (args != null)
- data = Object.assign(data || {}, args);
-
- if (interval !== null)
- return Request.poll.add(interval, url, { method: method, query: data }, cb);
- else
- return Request.request(url, { method: method, query: data })
- .then(function(res) {
- var json = null;
- if (/^application\/json\b/.test(res.headers.get('Content-Type')))
- try { json = res.json() } catch(e) {}
- cb(res.xhr, json, res.duration);
- });
- },
-
- /**
- * Deprecated wrapper around {@link LuCI.Poll.remove Poll.remove()}.
- *
- * @deprecated
- * @instance
- * @memberof LuCI
- *
- * @param {function} entry
- * The polling function to remove.
- *
- * @return {boolean}
- * Returns `true` when the function has been removed or `false` if
- * it could not be found.
- */
- stop: function(entry) { return Poll.remove(entry) },
-
- /**
- * Deprecated wrapper around {@link LuCI.Poll.stop Poll.stop()}.
- *
- * @deprecated
- * @instance
- * @memberof LuCI
- *
- * @return {boolean}
- * Returns `true` when the polling loop has been stopped or `false`
- * when it didn't run to begin with.
- */
- halt: function() { return Poll.stop() },
-
- /**
- * Deprecated wrapper around {@link LuCI.Poll.start Poll.start()}.
- *
- * @deprecated
- * @instance
- * @memberof LuCI
- *
- * @return {boolean}
- * Returns `true` when the polling loop has been started or `false`
- * when it was already running.
- */
- run: function() { return Poll.start() },
-
-
- /**
- * @class
- * @memberof LuCI
- * @hideconstructor
- * @classdesc
- *
- * The `dom` class provides convenience method for creating and
- * manipulating DOM elements.
- */
- dom: Class.singleton(/* @lends LuCI.dom.prototype */ {
- __name__: 'LuCI.DOM',
-
- /**
- * Tests whether the given argument is a valid DOM `Node`.
- *
- * @instance
- * @memberof LuCI.dom
- * @param {*} e
- * The value to test.
- *
- * @returns {boolean}
- * Returns `true` if the value is a DOM `Node`, else `false`.
- */
- elem: function(e) {
- return (e != null &amp;&amp; typeof(e) == 'object' &amp;&amp; 'nodeType' in e);
- },
-
- /**
- * Parses a given string as HTML and returns the first child node.
- *
- * @instance
- * @memberof LuCI.dom
- * @param {string} s
- * A string containing an HTML fragment to parse. Note that only
- * the first result of the resulting structure is returned, so an
- * input value of `&lt;div>foo&lt;/div> &lt;div>bar&lt;/div>` will only return
- * the first `div` element node.
- *
- * @returns {Node}
- * Returns the first DOM `Node` extracted from the HTML fragment or
- * `null` on parsing failures or if no element could be found.
- */
- parse: function(s) {
- var elem;
-
- try {
- domParser = domParser || new DOMParser();
- elem = domParser.parseFromString(s, 'text/html').body.firstChild;
- }
- catch(e) {}
-
- if (!elem) {
- try {
- dummyElem = dummyElem || document.createElement('div');
- dummyElem.innerHTML = s;
- elem = dummyElem.firstChild;
- }
- catch (e) {}
- }
-
- return elem || null;
- },
-
- /**
- * Tests whether a given `Node` matches the given query selector.
- *
- * This function is a convenience wrapper around the standard
- * `Node.matches("selector")` function with the added benefit that
- * the `node` argument may be a non-`Node` value, in which case
- * this function simply returns `false`.
- *
- * @instance
- * @memberof LuCI.dom
- * @param {*} node
- * The `Node` argument to test the selector against.
- *
- * @param {string} [selector]
- * The query selector expression to test against the given node.
- *
- * @returns {boolean}
- * Returns `true` if the given node matches the specified selector
- * or `false` when the node argument is no valid DOM `Node` or the
- * selector didn't match.
- */
- matches: function(node, selector) {
- var m = this.elem(node) ? node.matches || node.msMatchesSelector : null;
- return m ? m.call(node, selector) : false;
- },
-
- /**
- * Returns the closest parent node that matches the given query
- * selector expression.
- *
- * This function is a convenience wrapper around the standard
- * `Node.closest("selector")` function with the added benefit that
- * the `node` argument may be a non-`Node` value, in which case
- * this function simply returns `null`.
- *
- * @instance
- * @memberof LuCI.dom
- * @param {*} node
- * The `Node` argument to find the closest parent for.
- *
- * @param {string} [selector]
- * The query selector expression to test against each parent.
- *
- * @returns {Node|null}
- * Returns the closest parent node matching the selector or
- * `null` when the node argument is no valid DOM `Node` or the
- * selector didn't match any parent.
- */
- parent: function(node, selector) {
- if (this.elem(node) &amp;&amp; node.closest)
- return node.closest(selector);
-
- while (this.elem(node))
- if (this.matches(node, selector))
- return node;
- else
- node = node.parentNode;
-
- return null;
- },
-
- /**
- * Appends the given children data to the given node.
- *
- * @instance
- * @memberof LuCI.dom
- * @param {*} node
- * The `Node` argument to append the children to.
- *
- * @param {*} [children]
- * The childrens to append to the given node.
- *
- * When `children` is an array, then each item of the array
- * will be either appended as child element or text node,
- * depending on whether the item is a DOM `Node` instance or
- * some other non-`null` value. Non-`Node`, non-`null` values
- * will be converted to strings first before being passed as
- * argument to `createTextNode()`.
- *
- * When `children` is a function, it will be invoked with
- * the passed `node` argument as sole parameter and the `append`
- * function will be invoked again, with the given `node` argument
- * as first and the return value of the `children` function as
- * second parameter.
- *
- * When `children` is is a DOM `Node` instance, it will be
- * appended to the given `node`.
- *
- * When `children` is any other non-`null` value, it will be
- * converted to a string and appened to the `innerHTML` property
- * of the given `node`.
- *
- * @returns {Node|null}
- * Returns the last children `Node` appended to the node or `null`
- * if either the `node` argument was no valid DOM `node` or if the
- * `children` was `null` or didn't result in further DOM nodes.
- */
- append: function(node, children) {
- if (!this.elem(node))
- return null;
-
- if (Array.isArray(children)) {
- for (var i = 0; i &lt; children.length; i++)
- if (this.elem(children[i]))
- node.appendChild(children[i]);
- else if (children !== null &amp;&amp; children !== undefined)
- node.appendChild(document.createTextNode('' + children[i]));
-
- return node.lastChild;
- }
- else if (typeof(children) === 'function') {
- return this.append(node, children(node));
- }
- else if (this.elem(children)) {
- return node.appendChild(children);
- }
- else if (children !== null &amp;&amp; children !== undefined) {
- node.innerHTML = '' + children;
- return node.lastChild;
- }
-
- return null;
- },
-
- /**
- * Replaces the content of the given node with the given children.
- *
- * This function first removes any children of the given DOM
- * `Node` and then adds the given given children following the
- * rules outlined below.
- *
- * @instance
- * @memberof LuCI.dom
- * @param {*} node
- * The `Node` argument to replace the children of.
- *
- * @param {*} [children]
- * The childrens to replace into the given node.
- *
- * When `children` is an array, then each item of the array
- * will be either appended as child element or text node,
- * depending on whether the item is a DOM `Node` instance or
- * some other non-`null` value. Non-`Node`, non-`null` values
- * will be converted to strings first before being passed as
- * argument to `createTextNode()`.
- *
- * When `children` is a function, it will be invoked with
- * the passed `node` argument as sole parameter and the `append`
- * function will be invoked again, with the given `node` argument
- * as first and the return value of the `children` function as
- * second parameter.
- *
- * When `children` is is a DOM `Node` instance, it will be
- * appended to the given `node`.
- *
- * When `children` is any other non-`null` value, it will be
- * converted to a string and appened to the `innerHTML` property
- * of the given `node`.
- *
- * @returns {Node|null}
- * Returns the last children `Node` appended to the node or `null`
- * if either the `node` argument was no valid DOM `node` or if the
- * `children` was `null` or didn't result in further DOM nodes.
- */
- content: function(node, children) {
- if (!this.elem(node))
- return null;
-
- var dataNodes = node.querySelectorAll('[data-idref]');
-
- for (var i = 0; i &lt; dataNodes.length; i++)
- delete this.registry[dataNodes[i].getAttribute('data-idref')];
-
- while (node.firstChild)
- node.removeChild(node.firstChild);
-
- return this.append(node, children);
- },
-
- /**
- * Sets attributes or registers event listeners on element nodes.
- *
- * @instance
- * @memberof LuCI.dom
- * @param {*} node
- * The `Node` argument to set the attributes or add the event
- * listeners for. When the given `node` value is not a valid
- * DOM `Node`, the function returns and does nothing.
- *
- * @param {string|Object&lt;string, *>} key
- * Specifies either the attribute or event handler name to use,
- * or an object containing multiple key, value pairs which are
- * each added to the node as either attribute or event handler,
- * depending on the respective value.
- *
- * @param {*} [val]
- * Specifies the attribute value or event handler function to add.
- * If the `key` parameter is an `Object`, this parameter will be
- * ignored.
- *
- * When `val` is of type function, it will be registered as event
- * handler on the given `node` with the `key` parameter being the
- * event name.
- *
- * When `val` is of type object, it will be serialized as JSON and
- * added as attribute to the given `node`, using the given `key`
- * as attribute name.
- *
- * When `val` is of any other type, it will be added as attribute
- * to the given `node` as-is, with the underlying `setAttribute()`
- * call implicitely turning it into a string.
- */
- attr: function(node, key, val) {
- if (!this.elem(node))
- return null;
-
- var attr = null;
-
- if (typeof(key) === 'object' &amp;&amp; key !== null)
- attr = key;
- else if (typeof(key) === 'string')
- attr = {}, attr[key] = val;
-
- for (key in attr) {
- if (!attr.hasOwnProperty(key) || attr[key] == null)
- continue;
-
- switch (typeof(attr[key])) {
- case 'function':
- node.addEventListener(key, attr[key]);
- break;
-
- case 'object':
- node.setAttribute(key, JSON.stringify(attr[key]));
- break;
-
- default:
- node.setAttribute(key, attr[key]);
- }
- }
- },
-
- /**
- * Creates a new DOM `Node` from the given `html`, `attr` and
- * `data` parameters.
- *
- * This function has multiple signatures, it can be either invoked
- * in the form `create(html[, attr[, data]])` or in the form
- * `create(html[, data])`. The used variant is determined from the
- * type of the second argument.
- *
- * @instance
- * @memberof LuCI.dom
- * @param {*} html
- * Describes the node to create.
- *
- * When the value of `html` is of type array, a `DocumentFragment`
- * node is created and each item of the array is first converted
- * to a DOM `Node` by passing it through `create()` and then added
- * as child to the fragment.
- *
- * When the value of `html` is a DOM `Node` instance, no new
- * element will be created but the node will be used as-is.
- *
- * When the value of `html` is a string starting with `&lt;`, it will
- * be passed to `dom.parse()` and the resulting value is used.
- *
- * When the value of `html` is any other string, it will be passed
- * to `document.createElement()` for creating a new DOM `Node` of
- * the given name.
- *
- * @param {Object&lt;string, *>} [attr]
- * Specifies an Object of key, value pairs to set as attributes
- * or event handlers on the created node. Refer to
- * {@link LuCI.dom#attr dom.attr()} for details.
- *
- * @param {*} [data]
- * Specifies children to append to the newly created element.
- * Refer to {@link LuCI.dom#append dom.append()} for details.
- *
- * @throws {InvalidCharacterError}
- * Throws an `InvalidCharacterError` when the given `html`
- * argument contained malformed markup (such as not escaped
- * `&amp;` characters in XHTML mode) or when the given node name
- * in `html` contains characters which are not legal in DOM
- * element names, such as spaces.
- *
- * @returns {Node}
- * Returns the newly created `Node`.
- */
- create: function() {
- var html = arguments[0],
- attr = arguments[1],
- data = arguments[2],
- elem;
-
- if (!(attr instanceof Object) || Array.isArray(attr))
- data = attr, attr = null;
-
- if (Array.isArray(html)) {
- elem = document.createDocumentFragment();
- for (var i = 0; i &lt; html.length; i++)
- elem.appendChild(this.create(html[i]));
- }
- else if (this.elem(html)) {
- elem = html;
- }
- else if (html.charCodeAt(0) === 60) {
- elem = this.parse(html);
- }
- else {
- elem = document.createElement(html);
- }
-
- if (!elem)
- return null;
-
- this.attr(elem, attr);
- this.append(elem, data);
-
- return elem;
- },
-
- registry: {},
-
- /**
- * Attaches or detaches arbitrary data to and from a DOM `Node`.
- *
- * This function is useful to attach non-string values or runtime
- * data that is not serializable to DOM nodes. To decouple data
- * from the DOM, values are not added directly to nodes, but
- * inserted into a registry instead which is then referenced by a
- * string key stored as `data-idref` attribute in the node.
- *
- * This function has multiple signatures and is sensitive to the
- * number of arguments passed to it.
- *
- * - `dom.data(node)` -
- * Fetches all data associated with the given node.
- * - `dom.data(node, key)` -
- * Fetches a specific key associated with the given node.
- * - `dom.data(node, key, val)` -
- * Sets a specific key to the given value associated with the
- * given node.
- * - `dom.data(node, null)` -
- * Clears any data associated with the node.
- * - `dom.data(node, key, null)` -
- * Clears the given key associated with the node.
- *
- * @instance
- * @memberof LuCI.dom
- * @param {Node} node
- * The DOM `Node` instance to set or retrieve the data for.
- *
- * @param {string|null} [key]
- * This is either a string specifying the key to retrieve, or
- * `null` to unset the entire node data.
- *
- * @param {*|null} [val]
- * This is either a non-`null` value to set for a given key or
- * `null` to remove the given `key` from the specified node.
- *
- * @returns {*}
- * Returns the get or set value, or `null` when no value could
- * be found.
- */
- data: function(node, key, val) {
- var id = node.getAttribute('data-idref');
-
- /* clear all data */
- if (arguments.length > 1 &amp;&amp; key == null) {
- if (id != null) {
- node.removeAttribute('data-idref');
- val = this.registry[id]
- delete this.registry[id];
- return val;
- }
-
- return null;
- }
-
- /* clear a key */
- else if (arguments.length > 2 &amp;&amp; key != null &amp;&amp; val == null) {
- if (id != null) {
- val = this.registry[id][key];
- delete this.registry[id][key];
- return val;
- }
-
- return null;
- }
-
- /* set a key */
- else if (arguments.length > 2 &amp;&amp; key != null &amp;&amp; val != null) {
- if (id == null) {
- do { id = Math.floor(Math.random() * 0xffffffff).toString(16) }
- while (this.registry.hasOwnProperty(id));
-
- node.setAttribute('data-idref', id);
- this.registry[id] = {};
- }
-
- return (this.registry[id][key] = val);
- }
-
- /* get all data */
- else if (arguments.length == 1) {
- if (id != null)
- return this.registry[id];
-
- return null;
- }
-
- /* get a key */
- else if (arguments.length == 2) {
- if (id != null)
- return this.registry[id][key];
- }
-
- return null;
- },
-
- /**
- * Binds the given class instance ot the specified DOM `Node`.
- *
- * This function uses the `dom.data()` facility to attach the
- * passed instance of a Class to a node. This is needed for
- * complex widget elements or similar where the corresponding
- * class instance responsible for the element must be retrieved
- * from DOM nodes obtained by `querySelector()` or similar means.
- *
- * @instance
- * @memberof LuCI.dom
- * @param {Node} node
- * The DOM `Node` instance to bind the class to.
- *
- * @param {Class} inst
- * The Class instance to bind to the node.
- *
- * @throws {TypeError}
- * Throws a `TypeError` when the given instance argument isn't
- * a valid Class instance.
- *
- * @returns {Class}
- * Returns the bound class instance.
- */
- bindClassInstance: function(node, inst) {
- if (!(inst instanceof Class))
- L.error('TypeError', 'Argument must be a class instance');
-
- return this.data(node, '_class', inst);
- },
-
- /**
- * Finds a bound class instance on the given node itself or the
- * first bound instance on its closest parent node.
- *
- * @instance
- * @memberof LuCI.dom
- * @param {Node} node
- * The DOM `Node` instance to start from.
- *
- * @returns {Class|null}
- * Returns the founds class instance if any or `null` if no bound
- * class could be found on the node itself or any of its parents.
- */
- findClassInstance: function(node) {
- var inst = null;
-
- do {
- inst = this.data(node, '_class');
- node = node.parentNode;
- }
- while (!(inst instanceof Class) &amp;&amp; node != null);
-
- return inst;
- },
-
- /**
- * Finds a bound class instance on the given node itself or the
- * first bound instance on its closest parent node and invokes
- * the specified method name on the found class instance.
- *
- * @instance
- * @memberof LuCI.dom
- * @param {Node} node
- * The DOM `Node` instance to start from.
- *
- * @param {string} method
- * The name of the method to invoke on the found class instance.
- *
- * @param {...*} params
- * Additional arguments to pass to the invoked method as-is.
- *
- * @returns {*|null}
- * Returns the return value of the invoked method if a class
- * instance and method has been found. Returns `null` if either
- * no bound class instance could be found, or if the found
- * instance didn't have the requested `method`.
- */
- callClassMethod: function(node, method /*, ... */) {
- var inst = this.findClassInstance(node);
-
- if (inst == null || typeof(inst[method]) != 'function')
- return null;
-
- return inst[method].apply(inst, inst.varargs(arguments, 2));
- },
-
- /**
- * The ignore callback function is invoked by `isEmpty()` for each
- * child node to decide whether to ignore a child node or not.
- *
- * When this function returns `false`, the node passed to it is
- * ignored, else not.
- *
- * @callback LuCI.dom~ignoreCallbackFn
- * @param {Node} node
- * The child node to test.
- *
- * @returns {boolean}
- * Boolean indicating whether to ignore the node or not.
- */
-
- /**
- * Tests whether a given DOM `Node` instance is empty or appears
- * empty.
- *
- * Any element child nodes which have the CSS class `hidden` set
- * or for which the optionally passed `ignoreFn` callback function
- * returns `false` are ignored.
- *
- * @instance
- * @memberof LuCI.dom
- * @param {Node} node
- * The DOM `Node` instance to test.
- *
- * @param {LuCI.dom~ignoreCallbackFn} [ignoreFn]
- * Specifies an optional function which is invoked for each child
- * node to decide whether the child node should be ignored or not.
- *
- * @returns {boolean}
- * Returns `true` if the node does not have any children or if
- * any children node either has a `hidden` CSS class or a `false`
- * result when testing it using the given `ignoreFn`.
- */
- isEmpty: function(node, ignoreFn) {
- for (var child = node.firstElementChild; child != null; child = child.nextElementSibling)
- if (!child.classList.contains('hidden') &amp;&amp; (!ignoreFn || !ignoreFn(child)))
- return false;
-
- return true;
- }
- }),
-
- Poll: Poll,
- Class: Class,
- Request: Request,
-
- /**
- * @class
- * @memberof LuCI
- * @hideconstructor
- * @classdesc
- *
- * The `view` class forms the basis of views and provides a standard
- * set of methods to inherit from.
- */
- view: Class.extend(/* @lends LuCI.view.prototype */ {
- __name__: 'LuCI.View',
-
- __init__: function() {
- var vp = document.getElementById('view');
-
- L.dom.content(vp, E('div', { 'class': 'spinning' }, _('Loading view…')));
-
- return Promise.resolve(this.load())
- .then(L.bind(this.render, this))
- .then(L.bind(function(nodes) {
- var vp = document.getElementById('view');
-
- L.dom.content(vp, nodes);
- L.dom.append(vp, this.addFooter());
- }, this)).catch(L.error);
- },
-
- /**
- * The load function is invoked before the view is rendered.
- *
- * The invocation of this function is wrapped by
- * `Promise.resolve()` so it may return Promises if needed.
- *
- * The return value of the function (or the resolved values
- * of the promise returned by it) will be passed as first
- * argument to `render()`.
- *
- * This function is supposed to be overwritten by subclasses,
- * the default implementation does nothing.
- *
- * @instance
- * @abstract
- * @memberof LuCI.view
- *
- * @returns {*|Promise&lt;*>}
- * May return any value or a Promise resolving to any value.
- */
- load: function() {},
-
- /**
- * The render function is invoked after the
- * {@link LuCI.view#load load()} function and responsible
- * for setting up the view contents. It must return a DOM
- * `Node` or `DocumentFragment` holding the contents to
- * insert into the view area.
- *
- * The invocation of this function is wrapped by
- * `Promise.resolve()` so it may return Promises if needed.
- *
- * The return value of the function (or the resolved values
- * of the promise returned by it) will be inserted into the
- * main content area using
- * {@link LuCI.dom#append dom.append()}.
- *
- * This function is supposed to be overwritten by subclasses,
- * the default implementation does nothing.
- *
- * @instance
- * @abstract
- * @memberof LuCI.view
- * @param {*|null} load_results
- * This function will receive the return value of the
- * {@link LuCI.view#load view.load()} function as first
- * argument.
- *
- * @returns {Node|Promise&lt;Node>}
- * Should return a DOM `Node` value or a `Promise` resolving
- * to a `Node` value.
- */
- render: function() {},
-
- /**
- * The handleSave function is invoked when the user clicks
- * the `Save` button in the page action footer.
- *
- * The default implementation should be sufficient for most
- * views using {@link form#Map form.Map()} based forms - it
- * will iterate all forms present in the view and invoke
- * the {@link form#Map#save Map.save()} method on each form.
- *
- * Views not using `Map` instances or requiring other special
- * logic should overwrite `handleSave()` with a custom
- * implementation.
- *
- * To disable the `Save` page footer button, views extending
- * this base class should overwrite the `handleSave` function
- * with `null`.
- *
- * The invocation of this function is wrapped by
- * `Promise.resolve()` so it may return Promises if needed.
- *
- * @instance
- * @memberof LuCI.view
- * @param {Event} ev
- * The DOM event that triggered the function.
- *
- * @returns {*|Promise&lt;*>}
- * Any return values of this function are discarded, but
- * passed through `Promise.resolve()` to ensure that any
- * returned promise runs to completion before the button
- * is reenabled.
- */
- handleSave: function(ev) {
- var tasks = [];
-
- document.getElementById('maincontent')
- .querySelectorAll('.cbi-map').forEach(function(map) {
- tasks.push(L.dom.callClassMethod(map, 'save'));
- });
-
- return Promise.all(tasks);
- },
-
- /**
- * The handleSaveApply function is invoked when the user clicks
- * the `Save &amp; Apply` button in the page action footer.
- *
- * The default implementation should be sufficient for most
- * views using {@link form#Map form.Map()} based forms - it
- * will first invoke
- * {@link LuCI.view.handleSave view.handleSave()} and then
- * call {@link ui#changes#apply ui.changes.apply()} to start the
- * modal config apply and page reload flow.
- *
- * Views not using `Map` instances or requiring other special
- * logic should overwrite `handleSaveApply()` with a custom
- * implementation.
- *
- * To disable the `Save &amp; Apply` page footer button, views
- * extending this base class should overwrite the
- * `handleSaveApply` function with `null`.
- *
- * The invocation of this function is wrapped by
- * `Promise.resolve()` so it may return Promises if needed.
- *
- * @instance
- * @memberof LuCI.view
- * @param {Event} ev
- * The DOM event that triggered the function.
- *
- * @returns {*|Promise&lt;*>}
- * Any return values of this function are discarded, but
- * passed through `Promise.resolve()` to ensure that any
- * returned promise runs to completion before the button
- * is reenabled.
- */
- handleSaveApply: function(ev) {
- return this.handleSave(ev).then(function() {
- L.ui.changes.apply(true);
- });
- },
-
- /**
- * The handleReset function is invoked when the user clicks
- * the `Reset` button in the page action footer.
- *
- * The default implementation should be sufficient for most
- * views using {@link form#Map form.Map()} based forms - it
- * will iterate all forms present in the view and invoke
- * the {@link form#Map#save Map.reset()} method on each form.
- *
- * Views not using `Map` instances or requiring other special
- * logic should overwrite `handleReset()` with a custom
- * implementation.
- *
- * To disable the `Reset` page footer button, views extending
- * this base class should overwrite the `handleReset` function
- * with `null`.
- *
- * The invocation of this function is wrapped by
- * `Promise.resolve()` so it may return Promises if needed.
- *
- * @instance
- * @memberof LuCI.view
- * @param {Event} ev
- * The DOM event that triggered the function.
- *
- * @returns {*|Promise&lt;*>}
- * Any return values of this function are discarded, but
- * passed through `Promise.resolve()` to ensure that any
- * returned promise runs to completion before the button
- * is reenabled.
- */
- handleReset: function(ev) {
- var tasks = [];
-
- document.getElementById('maincontent')
- .querySelectorAll('.cbi-map').forEach(function(map) {
- tasks.push(L.dom.callClassMethod(map, 'reset'));
- });
-
- return Promise.all(tasks);
- },
-
- /**
- * Renders a standard page action footer if any of the
- * `handleSave()`, `handleSaveApply()` or `handleReset()`
- * functions are defined.
- *
- * The default implementation should be sufficient for most
- * views - it will render a standard page footer with action
- * buttons labeled `Save`, `Save &amp; Apply` and `Reset`
- * triggering the `handleSave()`, `handleSaveApply()` and
- * `handleReset()` functions respectively.
- *
- * When any of these `handle*()` functions is overwritten
- * with `null` by a view extending this class, the
- * corresponding button will not be rendered.
- *
- * @instance
- * @memberof LuCI.view
- * @returns {DocumentFragment}
- * Returns a `DocumentFragment` containing the footer bar
- * with buttons for each corresponding `handle*()` action
- * or an empty `DocumentFragment` if all three `handle*()`
- * methods are overwritten with `null`.
- */
- addFooter: function() {
- var footer = E([]);
-
- if (this.handleSaveApply || this.handleSave || this.handleReset) {
- footer.appendChild(E('div', { 'class': 'cbi-page-actions' }, [
- this.handleSaveApply ? E('button', {
- 'class': 'cbi-button cbi-button-apply',
- 'click': L.ui.createHandlerFn(this, 'handleSaveApply')
- }, [ _('Save &amp; Apply') ]) : '', ' ',
- this.handleSave ? E('button', {
- 'class': 'cbi-button cbi-button-save',
- 'click': L.ui.createHandlerFn(this, 'handleSave')
- }, [ _('Save') ]) : '', ' ',
- this.handleReset ? E('button', {
- 'class': 'cbi-button cbi-button-reset',
- 'click': L.ui.createHandlerFn(this, 'handleReset')
- }, [ _('Reset') ]) : ''
- ]));
- }
-
- return footer;
- }
- })
- });
-
- /**
- * @class
- * @memberof LuCI
- * @deprecated
- * @classdesc
- *
- * The `LuCI.XHR` class is a legacy compatibility shim for the
- * functionality formerly provided by `xhr.js`. It is registered as global
- * `window.XHR` symbol for compatibility with legacy code.
- *
- * New code should use {@link LuCI.Request} instead to implement HTTP
- * request handling.
- */
- var XHR = Class.extend(/** @lends LuCI.XHR.prototype */ {
- __name__: 'LuCI.XHR',
- __init__: function() {
- if (window.console &amp;&amp; console.debug)
- console.debug('Direct use XHR() is deprecated, please use L.Request instead');
- },
-
- _response: function(cb, res, json, duration) {
- if (this.active)
- cb(res, json, duration);
- delete this.active;
- },
-
- /**
- * This function is a legacy wrapper around
- * {@link LuCI#get LuCI.get()}.
- *
- * @instance
- * @deprecated
- * @memberof LuCI.XHR
- *
- * @param {string} url
- * The URL to request
- *
- * @param {Object} [data]
- * Additional query string data
- *
- * @param {LuCI.requestCallbackFn} [callback]
- * Callback function to invoke on completion
- *
- * @param {number} [timeout]
- * Request timeout to use
- *
- * @return {Promise&lt;null>}
- */
- get: function(url, data, callback, timeout) {
- this.active = true;
- L.get(url, data, this._response.bind(this, callback), timeout);
- },
-
- /**
- * This function is a legacy wrapper around
- * {@link LuCI#post LuCI.post()}.
- *
- * @instance
- * @deprecated
- * @memberof LuCI.XHR
- *
- * @param {string} url
- * The URL to request
- *
- * @param {Object} [data]
- * Additional data to append to the request body.
- *
- * @param {LuCI.requestCallbackFn} [callback]
- * Callback function to invoke on completion
- *
- * @param {number} [timeout]
- * Request timeout to use
- *
- * @return {Promise&lt;null>}
- */
- post: function(url, data, callback, timeout) {
- this.active = true;
- L.post(url, data, this._response.bind(this, callback), timeout);
- },
-
- /**
- * Cancels a running request.
- *
- * This function does not actually cancel the underlying
- * `XMLHTTPRequest` request but it sets a flag which prevents the
- * invocation of the callback function when the request eventually
- * finishes or timed out.
- *
- * @instance
- * @deprecated
- * @memberof LuCI.XHR
- */
- cancel: function() { delete this.active },
-
- /**
- * Checks the running state of the request.
- *
- * @instance
- * @deprecated
- * @memberof LuCI.XHR
- *
- * @returns {boolean}
- * Returns `true` if the request is still running or `false` if it
- * already completed.
- */
- busy: function() { return (this.active === true) },
-
- /**
- * Ignored for backwards compatibility.
- *
- * This function does nothing.
- *
- * @instance
- * @deprecated
- * @memberof LuCI.XHR
- */
- abort: function() {},
-
- /**
- * Existing for backwards compatibility.
- *
- * This function simply throws an `InternalError` when invoked.
- *
- * @instance
- * @deprecated
- * @memberof LuCI.XHR
- *
- * @throws {InternalError}
- * Throws an `InternalError` with the message `Not implemented`
- * when invoked.
- */
- send_form: function() { L.error('InternalError', 'Not implemented') },
- });
-
- XHR.get = function() { return window.L.get.apply(window.L, arguments) };
- XHR.post = function() { return window.L.post.apply(window.L, arguments) };
- XHR.poll = function() { return window.L.poll.apply(window.L, arguments) };
- XHR.stop = Request.poll.remove.bind(Request.poll);
- XHR.halt = Request.poll.stop.bind(Request.poll);
- XHR.run = Request.poll.start.bind(Request.poll);
- XHR.running = Request.poll.active.bind(Request.poll);
-
- window.XHR = XHR;
- window.LuCI = LuCI;
-})(window, document);
-</code></pre>
- </article>
- </section>
-
-
-
-
-</div>
-
-<nav>
- <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="LuCI.html">LuCI</a></li><li><a href="LuCI.Class.html">Class</a></li><li><a href="LuCI.dom.html">dom</a></li><li><a href="LuCI.fs.html">fs</a></li><li><a href="LuCI.Headers.html">Headers</a></li><li><a href="LuCI.Network.html">Network</a></li><li><a href="LuCI.Network.Device.html">Device</a></li><li><a href="LuCI.Network.Hosts.html">Hosts</a></li><li><a href="LuCI.Network.Protocol.html">Protocol</a></li><li><a href="LuCI.Network.WifiDevice.html">WifiDevice</a></li><li><a href="LuCI.Network.WifiNetwork.html">WifiNetwork</a></li><li><a href="LuCI.Poll.html">Poll</a></li><li><a href="LuCI.Request.html">Request</a></li><li><a href="LuCI.Request.poll.html">poll</a></li><li><a href="LuCI.Response.html">Response</a></li><li><a href="LuCI.rpc.html">rpc</a></li><li><a href="LuCI.uci.html">uci</a></li><li><a href="LuCI.view.html">view</a></li><li><a href="LuCI.XHR.html">XHR</a></li></ul>
-</nav>
-
-<br class="clear">
-
-<footer>
- Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.3</a> on Tue Nov 05 2019 09:33:05 GMT+0100 (Central European Standard Time)
-</footer>
-
-<script> prettyPrint(); </script>
-<script src="scripts/linenumber.js"> </script>
-</body>
-</html>
diff --git a/documentation/jsapi/network.js.html b/documentation/jsapi/network.js.html
deleted file mode 100644
index e06633357f..0000000000
--- a/documentation/jsapi/network.js.html
+++ /dev/null
@@ -1,4038 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta charset="utf-8">
- <title>JSDoc: Source: network.js</title>
-
- <script src="scripts/prettify/prettify.js"> </script>
- <script src="scripts/prettify/lang-css.js"> </script>
- <!--[if lt IE 9]>
- <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
- <![endif]-->
- <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
- <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
-</head>
-
-<body>
-
-<div id="main">
-
- <h1 class="page-title">Source: network.js</h1>
-
-
-
-
-
-
- <section>
- <article>
- <pre class="prettyprint source linenums"><code>'use strict';
-'require uci';
-'require rpc';
-'require validation';
-
-var proto_errors = {
- CONNECT_FAILED: _('Connection attempt failed'),
- INVALID_ADDRESS: _('IP address in invalid'),
- INVALID_GATEWAY: _('Gateway address is invalid'),
- INVALID_LOCAL_ADDRESS: _('Local IP address is invalid'),
- MISSING_ADDRESS: _('IP address is missing'),
- MISSING_PEER_ADDRESS: _('Peer address is missing'),
- NO_DEVICE: _('Network device is not present'),
- NO_IFACE: _('Unable to determine device name'),
- NO_IFNAME: _('Unable to determine device name'),
- NO_WAN_ADDRESS: _('Unable to determine external IP address'),
- NO_WAN_LINK: _('Unable to determine upstream interface'),
- PEER_RESOLVE_FAIL: _('Unable to resolve peer host name'),
- PIN_FAILED: _('PIN code rejected')
-};
-
-var iface_patterns_ignore = [
- /^wmaster\d+/,
- /^wifi\d+/,
- /^hwsim\d+/,
- /^imq\d+/,
- /^ifb\d+/,
- /^mon\.wlan\d+/,
- /^sit\d+/,
- /^gre\d+/,
- /^gretap\d+/,
- /^ip6gre\d+/,
- /^ip6tnl\d+/,
- /^tunl\d+/,
- /^lo$/
-];
-
-var iface_patterns_wireless = [
- /^wlan\d+/,
- /^wl\d+/,
- /^ath\d+/,
- /^\w+\.network\d+/
-];
-
-var iface_patterns_virtual = [ ];
-
-var callLuciNetworkDevices = rpc.declare({
- object: 'luci-rpc',
- method: 'getNetworkDevices',
- expect: { '': {} }
-});
-
-var callLuciWirelessDevices = rpc.declare({
- object: 'luci-rpc',
- method: 'getWirelessDevices',
- expect: { '': {} }
-});
-
-var callLuciBoardJSON = rpc.declare({
- object: 'luci-rpc',
- method: 'getBoardJSON'
-});
-
-var callLuciHostHints = rpc.declare({
- object: 'luci-rpc',
- method: 'getHostHints',
- expect: { '': {} }
-});
-
-var callIwinfoAssoclist = rpc.declare({
- object: 'iwinfo',
- method: 'assoclist',
- params: [ 'device', 'mac' ],
- expect: { results: [] }
-});
-
-var callIwinfoScan = rpc.declare({
- object: 'iwinfo',
- method: 'scan',
- params: [ 'device' ],
- nobatch: true,
- expect: { results: [] }
-});
-
-var callNetworkInterfaceDump = rpc.declare({
- object: 'network.interface',
- method: 'dump',
- expect: { 'interface': [] }
-});
-
-var callNetworkProtoHandlers = rpc.declare({
- object: 'network',
- method: 'get_proto_handlers',
- expect: { '': {} }
-});
-
-var _init = null,
- _state = null,
- _protocols = {},
- _protospecs = {};
-
-function getProtocolHandlers(cache) {
- return callNetworkProtoHandlers().then(function(protos) {
- /* Register "none" protocol */
- if (!protos.hasOwnProperty('none'))
- Object.assign(protos, { none: { no_device: false } });
-
- /* Hack: emulate relayd protocol */
- if (!protos.hasOwnProperty('relay'))
- Object.assign(protos, { relay: { no_device: true } });
-
- Object.assign(_protospecs, protos);
-
- return Promise.all(Object.keys(protos).map(function(p) {
- return Promise.resolve(L.require('protocol.%s'.format(p))).catch(function(err) {
- if (L.isObject(err) &amp;&amp; err.name != 'NetworkError')
- L.error(err);
- });
- })).then(function() {
- return protos;
- });
- }).catch(function() {
- return {};
- });
-}
-
-function getWifiStateBySid(sid) {
- var s = uci.get('wireless', sid);
-
- if (s != null &amp;&amp; s['.type'] == 'wifi-iface') {
- for (var radioname in _state.radios) {
- for (var i = 0; i &lt; _state.radios[radioname].interfaces.length; i++) {
- var netstate = _state.radios[radioname].interfaces[i];
-
- if (typeof(netstate.section) != 'string')
- continue;
-
- var s2 = uci.get('wireless', netstate.section);
-
- if (s2 != null &amp;&amp; s['.type'] == s2['.type'] &amp;&amp; s['.name'] == s2['.name']) {
- if (s2['.anonymous'] == false &amp;&amp; netstate.section.charAt(0) == '@')
- return null;
-
- return [ radioname, _state.radios[radioname], netstate ];
- }
- }
- }
- }
-
- return null;
-}
-
-function getWifiStateByIfname(ifname) {
- for (var radioname in _state.radios) {
- for (var i = 0; i &lt; _state.radios[radioname].interfaces.length; i++) {
- var netstate = _state.radios[radioname].interfaces[i];
-
- if (typeof(netstate.ifname) != 'string')
- continue;
-
- if (netstate.ifname == ifname)
- return [ radioname, _state.radios[radioname], netstate ];
- }
- }
-
- return null;
-}
-
-function isWifiIfname(ifname) {
- for (var i = 0; i &lt; iface_patterns_wireless.length; i++)
- if (iface_patterns_wireless[i].test(ifname))
- return true;
-
- return false;
-}
-
-function getWifiSidByNetid(netid) {
- var m = /^(\w+)\.network(\d+)$/.exec(netid);
- if (m) {
- var sections = uci.sections('wireless', 'wifi-iface');
- for (var i = 0, n = 0; i &lt; sections.length; i++) {
- if (sections[i].device != m[1])
- continue;
-
- if (++n == +m[2])
- return sections[i]['.name'];
- }
- }
-
- return null;
-}
-
-function getWifiSidByIfname(ifname) {
- var sid = getWifiSidByNetid(ifname);
-
- if (sid != null)
- return sid;
-
- var res = getWifiStateByIfname(ifname);
-
- if (res != null &amp;&amp; L.isObject(res[2]) &amp;&amp; typeof(res[2].section) == 'string')
- return res[2].section;
-
- return null;
-}
-
-function getWifiNetidBySid(sid) {
- var s = uci.get('wireless', sid);
- if (s != null &amp;&amp; s['.type'] == 'wifi-iface') {
- var radioname = s.device;
- if (typeof(s.device) == 'string') {
- var i = 0, netid = null, sections = uci.sections('wireless', 'wifi-iface');
- for (var i = 0, n = 0; i &lt; sections.length; i++) {
- if (sections[i].device != s.device)
- continue;
-
- n++;
-
- if (sections[i]['.name'] != s['.name'])
- continue;
-
- return [ '%s.network%d'.format(s.device, n), s.device ];
- }
-
- }
- }
-
- return null;
-}
-
-function getWifiNetidByNetname(name) {
- var sections = uci.sections('wireless', 'wifi-iface');
- for (var i = 0; i &lt; sections.length; i++) {
- if (typeof(sections[i].network) != 'string')
- continue;
-
- var nets = sections[i].network.split(/\s+/);
- for (var j = 0; j &lt; nets.length; j++) {
- if (nets[j] != name)
- continue;
-
- return getWifiNetidBySid(sections[i]['.name']);
- }
- }
-
- return null;
-}
-
-function isVirtualIfname(ifname) {
- for (var i = 0; i &lt; iface_patterns_virtual.length; i++)
- if (iface_patterns_virtual[i].test(ifname))
- return true;
-
- return false;
-}
-
-function isIgnoredIfname(ifname) {
- for (var i = 0; i &lt; iface_patterns_ignore.length; i++)
- if (iface_patterns_ignore[i].test(ifname))
- return true;
-
- return false;
-}
-
-function appendValue(config, section, option, value) {
- var values = uci.get(config, section, option),
- isArray = Array.isArray(values),
- rv = false;
-
- if (isArray == false)
- values = L.toArray(values);
-
- if (values.indexOf(value) == -1) {
- values.push(value);
- rv = true;
- }
-
- uci.set(config, section, option, isArray ? values : values.join(' '));
-
- return rv;
-}
-
-function removeValue(config, section, option, value) {
- var values = uci.get(config, section, option),
- isArray = Array.isArray(values),
- rv = false;
-
- if (isArray == false)
- values = L.toArray(values);
-
- for (var i = values.length - 1; i >= 0; i--) {
- if (values[i] == value) {
- values.splice(i, 1);
- rv = true;
- }
- }
-
- if (values.length > 0)
- uci.set(config, section, option, isArray ? values : values.join(' '));
- else
- uci.unset(config, section, option);
-
- return rv;
-}
-
-function prefixToMask(bits, v6) {
- var w = v6 ? 128 : 32,
- m = [];
-
- if (bits > w)
- return null;
-
- for (var i = 0; i &lt; w / 16; i++) {
- var b = Math.min(16, bits);
- m.push((0xffff &lt;&lt; (16 - b)) &amp; 0xffff);
- bits -= b;
- }
-
- if (v6)
- return String.prototype.format.apply('%x:%x:%x:%x:%x:%x:%x:%x', m).replace(/:0(?::0)+$/, '::');
- else
- return '%d.%d.%d.%d'.format(m[0] >>> 8, m[0] &amp; 0xff, m[1] >>> 8, m[1] &amp; 0xff);
-}
-
-function maskToPrefix(mask, v6) {
- var m = v6 ? validation.parseIPv6(mask) : validation.parseIPv4(mask);
-
- if (!m)
- return null;
-
- var bits = 0;
-
- for (var i = 0, z = false; i &lt; m.length; i++) {
- z = z || !m[i];
-
- while (!z &amp;&amp; (m[i] &amp; (v6 ? 0x8000 : 0x80))) {
- m[i] = (m[i] &lt;&lt; 1) &amp; (v6 ? 0xffff : 0xff);
- bits++;
- }
-
- if (m[i])
- return null;
- }
-
- return bits;
-}
-
-function initNetworkState(refresh) {
- if (_state == null || refresh) {
- _init = _init || Promise.all([
- L.resolveDefault(callNetworkInterfaceDump(), []),
- L.resolveDefault(callLuciBoardJSON(), {}),
- L.resolveDefault(callLuciNetworkDevices(), {}),
- L.resolveDefault(callLuciWirelessDevices(), {}),
- L.resolveDefault(callLuciHostHints(), {}),
- getProtocolHandlers(),
- uci.load(['network', 'wireless', 'luci'])
- ]).then(function(data) {
- var netifd_ifaces = data[0],
- board_json = data[1],
- luci_devs = data[2];
-
- var s = {
- isTunnel: {}, isBridge: {}, isSwitch: {}, isWifi: {},
- ifaces: netifd_ifaces, radios: data[3], hosts: data[4],
- netdevs: {}, bridges: {}, switches: {}
- };
-
- for (var name in luci_devs) {
- var dev = luci_devs[name];
-
- if (isVirtualIfname(name))
- s.isTunnel[name] = true;
-
- if (!s.isTunnel[name] &amp;&amp; isIgnoredIfname(name))
- continue;
-
- s.netdevs[name] = s.netdevs[name] || {
- idx: dev.ifindex,
- name: name,
- rawname: name,
- flags: dev.flags,
- stats: dev.stats,
- macaddr: dev.mac,
- type: dev.type,
- mtu: dev.mtu,
- qlen: dev.qlen,
- ipaddrs: [],
- ip6addrs: []
- };
-
- if (Array.isArray(dev.ipaddrs))
- for (var i = 0; i &lt; dev.ipaddrs.length; i++)
- s.netdevs[name].ipaddrs.push(dev.ipaddrs[i].address + '/' + dev.ipaddrs[i].netmask);
-
- if (Array.isArray(dev.ip6addrs))
- for (var i = 0; i &lt; dev.ip6addrs.length; i++)
- s.netdevs[name].ip6addrs.push(dev.ip6addrs[i].address + '/' + dev.ip6addrs[i].netmask);
- }
-
- for (var name in luci_devs) {
- var dev = luci_devs[name];
-
- if (!dev.bridge)
- continue;
-
- var b = {
- name: name,
- id: dev.id,
- stp: dev.stp,
- ifnames: []
- };
-
- for (var i = 0; dev.ports &amp;&amp; i &lt; dev.ports.length; i++) {
- var subdev = s.netdevs[dev.ports[i]];
-
- if (subdev == null)
- continue;
-
- b.ifnames.push(subdev);
- subdev.bridge = b;
- }
-
- s.bridges[name] = b;
- s.isBridge[name] = true;
- }
-
- if (L.isObject(board_json.switch)) {
- for (var switchname in board_json.switch) {
- var layout = board_json.switch[switchname],
- netdevs = {},
- nports = {},
- ports = [],
- pnum = null,
- role = null;
-
- if (L.isObject(layout) &amp;&amp; Array.isArray(layout.ports)) {
- for (var i = 0, port; (port = layout.ports[i]) != null; i++) {
- if (typeof(port) == 'object' &amp;&amp; typeof(port.num) == 'number' &amp;&amp;
- (typeof(port.role) == 'string' || typeof(port.device) == 'string')) {
- var spec = {
- num: port.num,
- role: port.role || 'cpu',
- index: (port.index != null) ? port.index : port.num
- };
-
- if (port.device != null) {
- spec.device = port.device;
- spec.tagged = spec.need_tag;
- netdevs[port.num] = port.device;
- }
-
- ports.push(spec);
-
- if (port.role != null)
- nports[port.role] = (nports[port.role] || 0) + 1;
- }
- }
-
- ports.sort(function(a, b) {
- if (a.role != b.role)
- return (a.role &lt; b.role) ? -1 : 1;
-
- return (a.index - b.index);
- });
-
- for (var i = 0, port; (port = ports[i]) != null; i++) {
- if (port.role != role) {
- role = port.role;
- pnum = 1;
- }
-
- if (role == 'cpu')
- port.label = 'CPU (%s)'.format(port.device);
- else if (nports[role] > 1)
- port.label = '%s %d'.format(role.toUpperCase(), pnum++);
- else
- port.label = role.toUpperCase();
-
- delete port.role;
- delete port.index;
- }
-
- s.switches[switchname] = {
- ports: ports,
- netdevs: netdevs
- };
- }
- }
- }
-
- if (L.isObject(board_json.dsl) &amp;&amp; L.isObject(board_json.dsl.modem)) {
- s.hasDSLModem = board_json.dsl.modem;
- }
-
- _init = null;
-
- return (_state = s);
- });
- }
-
- return (_state != null ? Promise.resolve(_state) : _init);
-}
-
-function ifnameOf(obj) {
- if (obj instanceof Protocol)
- return obj.getIfname();
- else if (obj instanceof Device)
- return obj.getName();
- else if (obj instanceof WifiDevice)
- return obj.getName();
- else if (obj instanceof WifiNetwork)
- return obj.getIfname();
- else if (typeof(obj) == 'string')
- return obj.replace(/:.+$/, '');
-
- return null;
-}
-
-function networkSort(a, b) {
- return a.getName() > b.getName();
-}
-
-function deviceSort(a, b) {
- var typeWeigth = { wifi: 2, alias: 3 },
- weightA = typeWeigth[a.getType()] || 1,
- weightB = typeWeigth[b.getType()] || 1;
-
- if (weightA != weightB)
- return weightA - weightB;
-
- return a.getName() > b.getName();
-}
-
-function formatWifiEncryption(enc) {
- if (!L.isObject(enc))
- return null;
-
- if (!enc.enabled)
- return 'None';
-
- var ciphers = Array.isArray(enc.ciphers)
- ? enc.ciphers.map(function(c) { return c.toUpperCase() }) : [ 'NONE' ];
-
- if (Array.isArray(enc.wep)) {
- var has_open = false,
- has_shared = false;
-
- for (var i = 0; i &lt; enc.wep.length; i++)
- if (enc.wep[i] == 'open')
- has_open = true;
- else if (enc.wep[i] == 'shared')
- has_shared = true;
-
- if (has_open &amp;&amp; has_shared)
- return 'WEP Open/Shared (%s)'.format(ciphers.join(', '));
- else if (has_open)
- return 'WEP Open System (%s)'.format(ciphers.join(', '));
- else if (has_shared)
- return 'WEP Shared Auth (%s)'.format(ciphers.join(', '));
-
- return 'WEP';
- }
-
- if (Array.isArray(enc.wpa)) {
- var versions = [],
- suites = Array.isArray(enc.authentication)
- ? enc.authentication.map(function(a) { return a.toUpperCase() }) : [ 'NONE' ];
-
- for (var i = 0; i &lt; enc.wpa.length; i++)
- switch (enc.wpa[i]) {
- case 1:
- versions.push('WPA');
- break;
-
- default:
- versions.push('WPA%d'.format(enc.wpa[i]));
- break;
- }
-
- if (versions.length > 1)
- return 'mixed %s %s (%s)'.format(versions.join('/'), suites.join(', '), ciphers.join(', '));
-
- return '%s %s (%s)'.format(versions[0], suites.join(', '), ciphers.join(', '));
- }
-
- return 'Unknown';
-}
-
-function enumerateNetworks() {
- var uciInterfaces = uci.sections('network', 'interface'),
- networks = {};
-
- for (var i = 0; i &lt; uciInterfaces.length; i++)
- networks[uciInterfaces[i]['.name']] = this.instantiateNetwork(uciInterfaces[i]['.name']);
-
- for (var i = 0; i &lt; _state.ifaces.length; i++)
- if (networks[_state.ifaces[i].interface] == null)
- networks[_state.ifaces[i].interface] =
- this.instantiateNetwork(_state.ifaces[i].interface, _state.ifaces[i].proto);
-
- var rv = [];
-
- for (var network in networks)
- if (networks.hasOwnProperty(network))
- rv.push(networks[network]);
-
- rv.sort(networkSort);
-
- return rv;
-}
-
-
-var Hosts, Network, Protocol, Device, WifiDevice, WifiNetwork;
-
-/**
- * @class
- * @memberof LuCI
- * @hideconstructor
- * @classdesc
- *
- * The `LuCI.Network` class combines data from multiple `ubus` apis to
- * provide an abstraction of the current network configuration state.
- *
- * It provides methods to enumerate interfaces and devices, to query
- * current configuration details and to manipulate settings.
- */
-Network = L.Class.extend(/** @lends LuCI.Network.prototype */ {
- /**
- * Converts the given prefix size in bits to a netmask.
- *
- * @method
- *
- * @param {number} bits
- * The prefix size in bits.
- *
- * @param {boolean} [v6=false]
- * Whether to convert the bits value into an IPv4 netmask (`false`) or
- * an IPv6 netmask (`true`).
- *
- * @returns {null|string}
- * Returns a string containing the netmask corresponding to the bit count
- * or `null` when the given amount of bits exceeds the maximum possible
- * value of `32` for IPv4 or `128` for IPv6.
- */
- prefixToMask: prefixToMask,
-
- /**
- * Converts the given netmask to a prefix size in bits.
- *
- * @method
- *
- * @param {string} netmask
- * The netmask to convert into a bit count.
- *
- * @param {boolean} [v6=false]
- * Whether to parse the given netmask as IPv4 (`false`) or IPv6 (`true`)
- * address.
- *
- * @returns {null|number}
- * Returns the number of prefix bits contained in the netmask or `null`
- * if the given netmask value was invalid.
- */
- maskToPrefix: maskToPrefix,
-
- /**
- * An encryption entry describes active wireless encryption settings
- * such as the used key management protocols, active ciphers and
- * protocol versions.
- *
- * @typedef {Object&lt;string, boolean|Array&lt;number|string>>} LuCI.Network.WifiEncryption
- * @memberof LuCI.Network
- *
- * @property {boolean} enabled
- * Specifies whether any kind of encryption, such as `WEP` or `WPA` is
- * enabled. If set to `false`, then no encryption is active and the
- * corresponding network is open.
- *
- * @property {string[]} [wep]
- * When the `wep` property exists, the network uses WEP encryption.
- * In this case, the property is set to an array of active WEP modes
- * which might be either `open`, `shared` or both.
- *
- * @property {number[]} [wpa]
- * When the `wpa` property exists, the network uses WPA security.
- * In this case, the property is set to an array containing the WPA
- * protocol versions used, e.g. `[ 1, 2 ]` for WPA/WPA2 mixed mode or
- * `[ 3 ]` for WPA3-SAE.
- *
- * @property {string[]} [authentication]
- * The `authentication` property only applies to WPA encryption and
- * is defined when the `wpa` property is set as well. It points to
- * an array of active authentication suites used by the network, e.g.
- * `[ "psk" ]` for a WPA(2)-PSK network or `[ "psk", "sae" ]` for
- * mixed WPA2-PSK/WPA3-SAE encryption.
- *
- * @property {string[]} [ciphers]
- * If either WEP or WPA encryption is active, then the `ciphers`
- * property will be set to an array describing the active encryption
- * ciphers used by the network, e.g. `[ "tkip", "ccmp" ]` for a
- * WPA/WPA2-PSK mixed network or `[ "wep-40", "wep-104" ]` for an
- * WEP network.
- */
-
- /**
- * Converts a given {@link LuCI.Network.WifiEncryption encryption entry}
- * into a human readable string such as `mixed WPA/WPA2 PSK (TKIP, CCMP)`
- * or `WPA3 SAE (CCMP)`.
- *
- * @method
- *
- * @param {LuCI.Network.WifiEncryption} encryption
- * The wireless encryption entry to convert.
- *
- * @returns {null|string}
- * Returns the description string for the given encryption entry or
- * `null` if the given entry was invalid.
- */
- formatWifiEncryption: formatWifiEncryption,
-
- /**
- * Flushes the local network state cache and fetches updated information
- * from the remote `ubus` apis.
- *
- * @returns {Promise&lt;Object>}
- * Returns a promise resolving to the internal network state object.
- */
- flushCache: function() {
- initNetworkState(true);
- return _init;
- },
-
- /**
- * Instantiates the given {@link LuCI.Network.Protocol Protocol} backend,
- * optionally using the given network name.
- *
- * @param {string} protoname
- * The protocol backend to use, e.g. `static` or `dhcp`.
- *
- * @param {string} [netname=__dummy__]
- * The network name to use for the instantiated protocol. This should be
- * usually set to one of the interfaces described in /etc/config/network
- * but it is allowed to omit it, e.g. to query protocol capabilities
- * without the need for an existing interface.
- *
- * @returns {null|LuCI.Network.Protocol}
- * Returns the instantiated protocol backend class or `null` if the given
- * protocol isn't known.
- */
- getProtocol: function(protoname, netname) {
- var v = _protocols[protoname];
- if (v != null)
- return new v(netname || '__dummy__');
-
- return null;
- },
-
- /**
- * Obtains instances of all known {@link LuCI.Network.Protocol Protocol}
- * backend classes.
- *
- * @returns {Array&lt;LuCI.Network.Protocol>}
- * Returns an array of protocol class instances.
- */
- getProtocols: function() {
- var rv = [];
-
- for (var protoname in _protocols)
- rv.push(new _protocols[protoname]('__dummy__'));
-
- return rv;
- },
-
- /**
- * Registers a new {@link LuCI.Network.Protocol Protocol} subclass
- * with the given methods and returns the resulting subclass value.
- *
- * This functions internally calls
- * {@link LuCI.Class.extend Class.extend()} on the `Network.Protocol`
- * base class.
- *
- * @param {string} protoname
- * The name of the new protocol to register.
- *
- * @param {Object&lt;string, *>} methods
- * The member methods and values of the new `Protocol` subclass to
- * be passed to {@link LuCI.Class.extend Class.extend()}.
- *
- * @returns {LuCI.Network.Protocol}
- * Returns the new `Protocol` subclass.
- */
- registerProtocol: function(protoname, methods) {
- var spec = L.isObject(_protospecs) ? _protospecs[protoname] : null;
- var proto = Protocol.extend(Object.assign({
- getI18n: function() {
- return protoname;
- },
-
- isFloating: function() {
- return false;
- },
-
- isVirtual: function() {
- return (L.isObject(spec) &amp;&amp; spec.no_device == true);
- },
-
- renderFormOptions: function(section) {
-
- }
- }, methods, {
- __init__: function(name) {
- this.sid = name;
- },
-
- getProtocol: function() {
- return protoname;
- }
- }));
-
- _protocols[protoname] = proto;
-
- return proto;
- },
-
- /**
- * Registers a new regular expression pattern to recognize
- * virtual interfaces.
- *
- * @param {RegExp} pat
- * A `RegExp` instance to match a virtual interface name
- * such as `6in4-wan` or `tun0`.
- */
- registerPatternVirtual: function(pat) {
- iface_patterns_virtual.push(pat);
- },
-
- /**
- * Registers a new human readable translation string for a `Protocol`
- * error code.
- *
- * @param {string} code
- * The `ubus` protocol error code to register a translation for, e.g.
- * `NO_DEVICE`.
- *
- * @param {string} message
- * The message to use as translation for the given protocol error code.
- *
- * @returns {boolean}
- * Returns `true` if the error code description has been added or `false`
- * if either the arguments were invalid or if there already was a
- * description for the given code.
- */
- registerErrorCode: function(code, message) {
- if (typeof(code) == 'string' &amp;&amp;
- typeof(message) == 'string' &amp;&amp;
- !proto_errors.hasOwnProperty(code)) {
- proto_errors[code] = message;
- return true;
- }
-
- return false;
- },
-
- /**
- * Adds a new network of the given name and update it with the given
- * uci option values.
- *
- * If a network with the given name already exist but is empty, then
- * this function will update its option, otherwise it will do nothing.
- *
- * @param {string} name
- * The name of the network to add. Must be in the format `[a-zA-Z0-9_]+`.
- *
- * @param {Object&lt;string, string|string[]>} [options]
- * An object of uci option values to set on the new network or to
- * update in an existing, empty network.
- *
- * @returns {Promise&lt;null|LuCI.Network.Protocol>}
- * Returns a promise resolving to the `Protocol` subclass instance
- * describing the added network or resolving to `null` if the name
- * was invalid or if a non-empty network of the given name already
- * existed.
- */
- addNetwork: function(name, options) {
- return this.getNetwork(name).then(L.bind(function(existingNetwork) {
- if (name != null &amp;&amp; /^[a-zA-Z0-9_]+$/.test(name) &amp;&amp; existingNetwork == null) {
- var sid = uci.add('network', 'interface', name);
-
- if (sid != null) {
- if (L.isObject(options))
- for (var key in options)
- if (options.hasOwnProperty(key))
- uci.set('network', sid, key, options[key]);
-
- return this.instantiateNetwork(sid);
- }
- }
- else if (existingNetwork != null &amp;&amp; existingNetwork.isEmpty()) {
- if (L.isObject(options))
- for (var key in options)
- if (options.hasOwnProperty(key))
- existingNetwork.set(key, options[key]);
-
- return existingNetwork;
- }
- }, this));
- },
-
- /**
- * Get a {@link LuCI.Network.Protocol Protocol} instance describing
- * the network with the given name.
- *
- * @param {string} name
- * The logical interface name of the network get, e.g. `lan` or `wan`.
- *
- * @returns {Promise&lt;null|LuCI.Network.Protocol>}
- * Returns a promise resolving to a
- * {@link LuCI.Network.Protocol Protocol} subclass instance describing
- * the network or `null` if the network did not exist.
- */
- getNetwork: function(name) {
- return initNetworkState().then(L.bind(function() {
- var section = (name != null) ? uci.get('network', name) : null;
-
- if (section != null &amp;&amp; section['.type'] == 'interface') {
- return this.instantiateNetwork(name);
- }
- else if (name != null) {
- for (var i = 0; i &lt; _state.ifaces.length; i++)
- if (_state.ifaces[i].interface == name)
- return this.instantiateNetwork(name, _state.ifaces[i].proto);
- }
-
- return null;
- }, this));
- },
-
- /**
- * Gets an array containing all known networks.
- *
- * @returns {Promise&lt;Array&lt;LuCI.Network.Protocol>>}
- * Returns a promise resolving to a name-sorted array of
- * {@link LuCI.Network.Protocol Protocol} subclass instances
- * describing all known networks.
- */
- getNetworks: function() {
- return initNetworkState().then(L.bind(enumerateNetworks, this));
- },
-
- /**
- * Deletes the given network and its references from the network and
- * firewall configuration.
- *
- * @param {string} name
- * The name of the network to delete.
- *
- * @returns {Promise&lt;boolean>}
- * Returns a promise resolving to either `true` if the network and
- * references to it were successfully deleted from the configuration or
- * `false` if the given network could not be found.
- */
- deleteNetwork: function(name) {
- var requireFirewall = Promise.resolve(L.require('firewall')).catch(function() {});
-
- return Promise.all([ requireFirewall, initNetworkState() ]).then(function() {
- var uciInterface = uci.get('network', name);
-
- if (uciInterface != null &amp;&amp; uciInterface['.type'] == 'interface') {
- uci.remove('network', name);
-
- uci.sections('luci', 'ifstate', function(s) {
- if (s.interface == name)
- uci.remove('luci', s['.name']);
- });
-
- uci.sections('network', 'alias', function(s) {
- if (s.interface == name)
- uci.remove('network', s['.name']);
- });
-
- uci.sections('network', 'route', function(s) {
- if (s.interface == name)
- uci.remove('network', s['.name']);
- });
-
- uci.sections('network', 'route6', function(s) {
- if (s.interface == name)
- uci.remove('network', s['.name']);
- });
-
- uci.sections('wireless', 'wifi-iface', function(s) {
- var networks = L.toArray(s.network).filter(function(network) { return network != name });
-
- if (networks.length > 0)
- uci.set('wireless', s['.name'], 'network', networks.join(' '));
- else
- uci.unset('wireless', s['.name'], 'network');
- });
-
- if (L.firewall)
- return L.firewall.deleteNetwork(name).then(function() { return true });
-
- return true;
- }
-
- return false;
- });
- },
-
- /**
- * Rename the given network and its references to a new name.
- *
- * @param {string} oldName
- * The current name of the network.
- *
- * @param {string} newName
- * The name to rename the network to, must be in the format
- * `[a-z-A-Z0-9_]+`.
- *
- * @returns {Promise&lt;boolean>}
- * Returns a promise resolving to either `true` if the network was
- * successfully renamed or `false` if the new name was invalid, if
- * a network with the new name already exists or if the network to
- * rename could not be found.
- */
- renameNetwork: function(oldName, newName) {
- return initNetworkState().then(function() {
- if (newName == null || !/^[a-zA-Z0-9_]+$/.test(newName) || uci.get('network', newName) != null)
- return false;
-
- var oldNetwork = uci.get('network', oldName);
-
- if (oldNetwork == null || oldNetwork['.type'] != 'interface')
- return false;
-
- var sid = uci.add('network', 'interface', newName);
-
- for (var key in oldNetwork)
- if (oldNetwork.hasOwnProperty(key) &amp;&amp; key.charAt(0) != '.')
- uci.set('network', sid, key, oldNetwork[key]);
-
- uci.sections('luci', 'ifstate', function(s) {
- if (s.interface == oldName)
- uci.set('luci', s['.name'], 'interface', newName);
- });
-
- uci.sections('network', 'alias', function(s) {
- if (s.interface == oldName)
- uci.set('network', s['.name'], 'interface', newName);
- });
-
- uci.sections('network', 'route', function(s) {
- if (s.interface == oldName)
- uci.set('network', s['.name'], 'interface', newName);
- });
-
- uci.sections('network', 'route6', function(s) {
- if (s.interface == oldName)
- uci.set('network', s['.name'], 'interface', newName);
- });
-
- uci.sections('wireless', 'wifi-iface', function(s) {
- var networks = L.toArray(s.network).map(function(network) { return (network == oldName ? newName : network) });
-
- if (networks.length > 0)
- uci.set('wireless', s['.name'], 'network', networks.join(' '));
- });
-
- uci.remove('network', oldName);
-
- return true;
- });
- },
-
- /**
- * Get a {@link LuCI.Network.Device Device} instance describing the
- * given network device.
- *
- * @param {string} name
- * The name of the network device to get, e.g. `eth0` or `br-lan`.
- *
- * @returns {Promise&lt;null|LuCI.Network.Device>}
- * Returns a promise resolving to the `Device` instance describing
- * the network device or `null` if the given device name could not
- * be found.
- */
- getDevice: function(name) {
- return initNetworkState().then(L.bind(function() {
- if (name == null)
- return null;
-
- if (_state.netdevs.hasOwnProperty(name) || isWifiIfname(name))
- return this.instantiateDevice(name);
-
- var netid = getWifiNetidBySid(name);
- if (netid != null)
- return this.instantiateDevice(netid[0]);
-
- return null;
- }, this));
- },
-
- /**
- * Get a sorted list of all found network devices.
- *
- * @returns {Promise&lt;Array&lt;LuCI.Network.Device>>}
- * Returns a promise resolving to a sorted array of `Device` class
- * instances describing the network devices found on the system.
- */
- getDevices: function() {
- return initNetworkState().then(L.bind(function() {
- var devices = {};
-
- /* find simple devices */
- var uciInterfaces = uci.sections('network', 'interface');
- for (var i = 0; i &lt; uciInterfaces.length; i++) {
- var ifnames = L.toArray(uciInterfaces[i].ifname);
-
- for (var j = 0; j &lt; ifnames.length; j++) {
- if (ifnames[j].charAt(0) == '@')
- continue;
-
- if (isIgnoredIfname(ifnames[j]) || isVirtualIfname(ifnames[j]) || isWifiIfname(ifnames[j]))
- continue;
-
- devices[ifnames[j]] = this.instantiateDevice(ifnames[j]);
- }
- }
-
- for (var ifname in _state.netdevs) {
- if (devices.hasOwnProperty(ifname))
- continue;
-
- if (isIgnoredIfname(ifname) || isVirtualIfname(ifname) || isWifiIfname(ifname))
- continue;
-
- devices[ifname] = this.instantiateDevice(ifname);
- }
-
- /* find VLAN devices */
- var uciSwitchVLANs = uci.sections('network', 'switch_vlan');
- for (var i = 0; i &lt; uciSwitchVLANs.length; i++) {
- if (typeof(uciSwitchVLANs[i].ports) != 'string' ||
- typeof(uciSwitchVLANs[i].device) != 'string' ||
- !_state.switches.hasOwnProperty(uciSwitchVLANs[i].device))
- continue;
-
- var ports = uciSwitchVLANs[i].ports.split(/\s+/);
- for (var j = 0; j &lt; ports.length; j++) {
- var m = ports[j].match(/^(\d+)([tu]?)$/);
- if (m == null)
- continue;
-
- var netdev = _state.switches[uciSwitchVLANs[i].device].netdevs[m[1]];
- if (netdev == null)
- continue;
-
- if (!devices.hasOwnProperty(netdev))
- devices[netdev] = this.instantiateDevice(netdev);
-
- _state.isSwitch[netdev] = true;
-
- if (m[2] != 't')
- continue;
-
- var vid = uciSwitchVLANs[i].vid || uciSwitchVLANs[i].vlan;
- vid = (vid != null ? +vid : null);
-
- if (vid == null || vid &lt; 0 || vid > 4095)
- continue;
-
- var vlandev = '%s.%d'.format(netdev, vid);
-
- if (!devices.hasOwnProperty(vlandev))
- devices[vlandev] = this.instantiateDevice(vlandev);
-
- _state.isSwitch[vlandev] = true;
- }
- }
-
- /* find wireless interfaces */
- var uciWifiIfaces = uci.sections('wireless', 'wifi-iface'),
- networkCount = {};
-
- for (var i = 0; i &lt; uciWifiIfaces.length; i++) {
- if (typeof(uciWifiIfaces[i].device) != 'string')
- continue;
-
- networkCount[uciWifiIfaces[i].device] = (networkCount[uciWifiIfaces[i].device] || 0) + 1;
-
- var netid = '%s.network%d'.format(uciWifiIfaces[i].device, networkCount[uciWifiIfaces[i].device]);
-
- devices[netid] = this.instantiateDevice(netid);
- }
-
- var rv = [];
-
- for (var netdev in devices)
- if (devices.hasOwnProperty(netdev))
- rv.push(devices[netdev]);
-
- rv.sort(deviceSort);
-
- return rv;
- }, this));
- },
-
- /**
- * Test if a given network device name is in the list of patterns for
- * device names to ignore.
- *
- * Ignored device names are usually Linux network devices which are
- * spawned implicitly by kernel modules such as `tunl0` or `hwsim0`
- * and which are unsuitable for use in network configuration.
- *
- * @param {string} name
- * The device name to test.
- *
- * @returns {boolean}
- * Returns `true` if the given name is in the ignore pattern list,
- * else returns `false`.
- */
- isIgnoredDevice: function(name) {
- return isIgnoredIfname(name);
- },
-
- /**
- * Get a {@link LuCI.Network.WifiDevice WifiDevice} instance describing
- * the given wireless radio.
- *
- * @param {string} devname
- * The configuration name of the wireless radio to lookup, e.g. `radio0`
- * for the first mac80211 phy on the system.
- *
- * @returns {Promise&lt;null|LuCI.Network.WifiDevice>}
- * Returns a promise resolving to the `WifiDevice` instance describing
- * the underlying radio device or `null` if the wireless radio could not
- * be found.
- */
- getWifiDevice: function(devname) {
- return initNetworkState().then(L.bind(function() {
- var existingDevice = uci.get('wireless', devname);
-
- if (existingDevice == null || existingDevice['.type'] != 'wifi-device')
- return null;
-
- return this.instantiateWifiDevice(devname, _state.radios[devname] || {});
- }, this));
- },
-
- /**
- * Obtain a list of all configured radio devices.
- *
- * @returns {Promise&lt;Array&lt;LuCI.Network.WifiDevice>>}
- * Returns a promise resolving to an array of `WifiDevice` instances
- * describing the wireless radios configured in the system.
- * The order of the array corresponds to the order of the radios in
- * the configuration.
- */
- getWifiDevices: function() {
- return initNetworkState().then(L.bind(function() {
- var uciWifiDevices = uci.sections('wireless', 'wifi-device'),
- rv = [];
-
- for (var i = 0; i &lt; uciWifiDevices.length; i++) {
- var devname = uciWifiDevices[i]['.name'];
- rv.push(this.instantiateWifiDevice(devname, _state.radios[devname] || {}));
- }
-
- return rv;
- }, this));
- },
-
- /**
- * Get a {@link LuCI.Network.WifiNetwork WifiNetwork} instance describing
- * the given wireless network.
- *
- * @param {string} netname
- * The name of the wireless network to lookup. This may be either an uci
- * configuration section ID, a network ID in the form `radio#.network#`
- * or a Linux network device name like `wlan0` which is resolved to the
- * corresponding configuration section through `ubus` runtime information.
- *
- * @returns {Promise&lt;null|LuCI.Network.WifiNetwork>}
- * Returns a promise resolving to the `WifiNetwork` instance describing
- * the wireless network or `null` if the corresponding network could not
- * be found.
- */
- getWifiNetwork: function(netname) {
- var sid, res, netid, radioname, radiostate, netstate;
-
- return initNetworkState().then(L.bind(function() {
- sid = getWifiSidByNetid(netname);
-
- if (sid != null) {
- res = getWifiStateBySid(sid);
- netid = netname;
- radioname = res ? res[0] : null;
- radiostate = res ? res[1] : null;
- netstate = res ? res[2] : null;
- }
- else {
- res = getWifiStateByIfname(netname);
-
- if (res != null) {
- radioname = res[0];
- radiostate = res[1];
- netstate = res[2];
- sid = netstate.section;
- netid = L.toArray(getWifiNetidBySid(sid))[0];
- }
- else {
- res = getWifiStateBySid(netname);
-
- if (res != null) {
- radioname = res[0];
- radiostate = res[1];
- netstate = res[2];
- sid = netname;
- netid = L.toArray(getWifiNetidBySid(sid))[0];
- }
- else {
- res = getWifiNetidBySid(netname);
-
- if (res != null) {
- netid = res[0];
- radioname = res[1];
- sid = netname;
- }
- }
- }
- }
-
- return this.instantiateWifiNetwork(sid || netname, radioname, radiostate, netid, netstate);
- }, this));
- },
-
- /**
- * Adds a new wireless network to the configuration and sets its options
- * to the provided values.
- *
- * @param {Object&lt;string, string|string[]>} options
- * The options to set for the newly added wireless network. This object
- * must at least contain a `device` property which is set to the radio
- * name the new network belongs to.
- *
- * @returns {Promise&lt;null|LuCI.Network.WifiNetwork>}
- * Returns a promise resolving to a `WifiNetwork` instance describing
- * the newly added wireless network or `null` if the given options
- * were invalid or if the associated radio device could not be found.
- */
- addWifiNetwork: function(options) {
- return initNetworkState().then(L.bind(function() {
- if (options == null ||
- typeof(options) != 'object' ||
- typeof(options.device) != 'string')
- return null;
-
- var existingDevice = uci.get('wireless', options.device);
- if (existingDevice == null || existingDevice['.type'] != 'wifi-device')
- return null;
-
- /* XXX: need to add a named section (wifinet#) here */
- var sid = uci.add('wireless', 'wifi-iface');
- for (var key in options)
- if (options.hasOwnProperty(key))
- uci.set('wireless', sid, key, options[key]);
-
- var radioname = existingDevice['.name'],
- netid = getWifiNetidBySid(sid) || [];
-
- return this.instantiateWifiNetwork(sid, radioname, _state.radios[radioname], netid[0], null);
- }, this));
- },
-
- /**
- * Deletes the given wireless network from the configuration.
- *
- * @param {string} netname
- * The name of the network to remove. This may be either a
- * network ID in the form `radio#.network#` or a Linux network device
- * name like `wlan0` which is resolved to the corresponding configuration
- * section through `ubus` runtime information.
- *
- * @returns {Promise&lt;boolean>}
- * Returns a promise resolving to `true` if the wireless network has been
- * successfully deleted from the configuration or `false` if it could not
- * be found.
- */
- deleteWifiNetwork: function(netname) {
- return initNetworkState().then(L.bind(function() {
- var sid = getWifiSidByIfname(netname);
-
- if (sid == null)
- return false;
-
- uci.remove('wireless', sid);
- return true;
- }, this));
- },
-
- /* private */
- getStatusByRoute: function(addr, mask) {
- return initNetworkState().then(L.bind(function() {
- var rv = [];
-
- for (var i = 0; i &lt; _state.ifaces.length; i++) {
- if (!Array.isArray(_state.ifaces[i].route))
- continue;
-
- for (var j = 0; j &lt; _state.ifaces[i].route.length; j++) {
- if (typeof(_state.ifaces[i].route[j]) != 'object' ||
- typeof(_state.ifaces[i].route[j].target) != 'string' ||
- typeof(_state.ifaces[i].route[j].mask) != 'number')
- continue;
-
- if (_state.ifaces[i].route[j].table)
- continue;
-
- if (_state.ifaces[i].route[j].target != addr ||
- _state.ifaces[i].route[j].mask != mask)
- continue;
-
- rv.push(_state.ifaces[i]);
- }
- }
-
- return rv;
- }, this));
- },
-
- /* private */
- getStatusByAddress: function(addr) {
- return initNetworkState().then(L.bind(function() {
- var rv = [];
-
- for (var i = 0; i &lt; _state.ifaces.length; i++) {
- if (Array.isArray(_state.ifaces[i]['ipv4-address']))
- for (var j = 0; j &lt; _state.ifaces[i]['ipv4-address'].length; j++)
- if (typeof(_state.ifaces[i]['ipv4-address'][j]) == 'object' &amp;&amp;
- _state.ifaces[i]['ipv4-address'][j].address == addr)
- return _state.ifaces[i];
-
- if (Array.isArray(_state.ifaces[i]['ipv6-address']))
- for (var j = 0; j &lt; _state.ifaces[i]['ipv6-address'].length; j++)
- if (typeof(_state.ifaces[i]['ipv6-address'][j]) == 'object' &amp;&amp;
- _state.ifaces[i]['ipv6-address'][j].address == addr)
- return _state.ifaces[i];
-
- if (Array.isArray(_state.ifaces[i]['ipv6-prefix-assignment']))
- for (var j = 0; j &lt; _state.ifaces[i]['ipv6-prefix-assignment'].length; j++)
- if (typeof(_state.ifaces[i]['ipv6-prefix-assignment'][j]) == 'object' &amp;&amp;
- typeof(_state.ifaces[i]['ipv6-prefix-assignment'][j]['local-address']) == 'object' &amp;&amp;
- _state.ifaces[i]['ipv6-prefix-assignment'][j]['local-address'].address == addr)
- return _state.ifaces[i];
- }
-
- return null;
- }, this));
- },
-
- /**
- * Get IPv4 wan networks.
- *
- * This function looks up all networks having a default `0.0.0.0/0` route
- * and returns them as array.
- *
- * @returns {Promise&lt;Array&lt;LuCI.Network.Protocol>>}
- * Returns a promise resolving to an array of `Protocol` subclass
- * instances describing the found default route interfaces.
- */
- getWANNetworks: function() {
- return this.getStatusByRoute('0.0.0.0', 0).then(L.bind(function(statuses) {
- var rv = [];
-
- for (var i = 0; i &lt; statuses.length; i++)
- rv.push(this.instantiateNetwork(statuses[i].interface, statuses[i].proto));
-
- return rv;
- }, this));
- },
-
- /**
- * Get IPv6 wan networks.
- *
- * This function looks up all networks having a default `::/0` route
- * and returns them as array.
- *
- * @returns {Promise&lt;Array&lt;LuCI.Network.Protocol>>}
- * Returns a promise resolving to an array of `Protocol` subclass
- * instances describing the found IPv6 default route interfaces.
- */
- getWAN6Networks: function() {
- return this.getStatusByRoute('::', 0).then(L.bind(function(statuses) {
- var rv = [];
-
- for (var i = 0; i &lt; statuses.length; i++)
- rv.push(this.instantiateNetwork(statuses[i].interface, statuses[i].proto));
-
- return rv;
- }, this));
- },
-
- /**
- * Describes an swconfig switch topology by specifying the CPU
- * connections and external port labels of a switch.
- *
- * @typedef {Object&lt;string, Object|Array>} SwitchTopology
- * @memberof LuCI.Network
- *
- * @property {Object&lt;number, string>} netdevs
- * The `netdevs` property points to an object describing the CPU port
- * connections of the switch. The numeric key of the enclosed object is
- * the port number, the value contains the Linux network device name the
- * port is hardwired to.
- *
- * @property {Array&lt;Object&lt;string, boolean|number|string>>} ports
- * The `ports` property points to an array describing the populated
- * ports of the switch in the external label order. Each array item is
- * an object containg the following keys:
- * - `num` - the internal switch port number
- * - `label` - the label of the port, e.g. `LAN 1` or `CPU (eth0)`
- * - `device` - the connected Linux network device name (CPU ports only)
- * - `tagged` - a boolean indicating whether the port must be tagged to
- * function (CPU ports only)
- */
-
- /**
- * Returns the topologies of all swconfig switches found on the system.
- *
- * @returns {Promise&lt;Object&lt;string, LuCI.Network.SwitchTopology>>}
- * Returns a promise resolving to an object containing the topologies
- * of each switch. The object keys correspond to the name of the switches
- * such as `switch0`, the values are
- * {@link LuCI.Network.SwitchTopology SwitchTopology} objects describing
- * the layout.
- */
- getSwitchTopologies: function() {
- return initNetworkState().then(function() {
- return _state.switches;
- });
- },
-
- /* private */
- instantiateNetwork: function(name, proto) {
- if (name == null)
- return null;
-
- proto = (proto == null ? uci.get('network', name, 'proto') : proto);
-
- var protoClass = _protocols[proto] || Protocol;
- return new protoClass(name);
- },
-
- /* private */
- instantiateDevice: function(name, network, extend) {
- if (extend != null)
- return new (Device.extend(extend))(name, network);
-
- return new Device(name, network);
- },
-
- /* private */
- instantiateWifiDevice: function(radioname, radiostate) {
- return new WifiDevice(radioname, radiostate);
- },
-
- /* private */
- instantiateWifiNetwork: function(sid, radioname, radiostate, netid, netstate) {
- return new WifiNetwork(sid, radioname, radiostate, netid, netstate);
- },
-
- /**
- * Obtains the the network device name of the given object.
- *
- * @param {LuCI.Network.Protocol|LuCI.Network.Device|LuCI.Network.WifiDevice|LuCI.Network.WifiNetwork|string} obj
- * The object to get the device name from.
- *
- * @returns {null|string}
- * Returns a string containing the device name or `null` if the given
- * object could not be converted to a name.
- */
- getIfnameOf: function(obj) {
- return ifnameOf(obj);
- },
-
- /**
- * Queries the internal DSL modem type from board information.
- *
- * @returns {Promise&lt;null|string>}
- * Returns a promise resolving to the type of the internal modem
- * (e.g. `vdsl`) or to `null` if no internal modem is present.
- */
- getDSLModemType: function() {
- return initNetworkState().then(function() {
- return _state.hasDSLModem ? _state.hasDSLModem.type : null;
- });
- },
-
- /**
- * Queries aggregated information about known hosts.
- *
- * This function aggregates information from various sources such as
- * DHCP lease databases, ARP and IPv6 neighbour entries, wireless
- * association list etc. and returns a {@link LuCI.Network.Hosts Hosts}
- * class instance describing the found hosts.
- *
- * @returns {Promise&lt;LuCI.Network.Hosts>}
- * Returns a `Hosts` instance describing host known on the system.
- */
- getHostHints: function() {
- return initNetworkState().then(function() {
- return new Hosts(_state.hosts);
- });
- }
-});
-
-/**
- * @class
- * @memberof LuCI.Network
- * @hideconstructor
- * @classdesc
- *
- * The `LuCI.Network.Hosts` class encapsulates host information aggregated
- * from multiple sources and provides convenience functions to access the
- * host information by different criteria.
- */
-Hosts = L.Class.extend(/** @lends LuCI.Network.Hosts.prototype */ {
- __init__: function(hosts) {
- this.hosts = hosts;
- },
-
- /**
- * Lookup the hostname associated with the given MAC address.
- *
- * @param {string} mac
- * The MAC address to lookup.
- *
- * @returns {null|string}
- * Returns the hostname associated with the given MAC or `null` if
- * no matching host could be found or if no hostname is known for
- * the corresponding host.
- */
- getHostnameByMACAddr: function(mac) {
- return this.hosts[mac] ? this.hosts[mac].name : null;
- },
-
- /**
- * Lookup the IPv4 address associated with the given MAC address.
- *
- * @param {string} mac
- * The MAC address to lookup.
- *
- * @returns {null|string}
- * Returns the IPv4 address associated with the given MAC or `null` if
- * no matching host could be found or if no IPv4 address is known for
- * the corresponding host.
- */
- getIPAddrByMACAddr: function(mac) {
- return this.hosts[mac] ? this.hosts[mac].ipv4 : null;
- },
-
- /**
- * Lookup the IPv6 address associated with the given MAC address.
- *
- * @param {string} mac
- * The MAC address to lookup.
- *
- * @returns {null|string}
- * Returns the IPv6 address associated with the given MAC or `null` if
- * no matching host could be found or if no IPv6 address is known for
- * the corresponding host.
- */
- getIP6AddrByMACAddr: function(mac) {
- return this.hosts[mac] ? this.hosts[mac].ipv6 : null;
- },
-
- /**
- * Lookup the hostname associated with the given IPv4 address.
- *
- * @param {string} ipaddr
- * The IPv4 address to lookup.
- *
- * @returns {null|string}
- * Returns the hostname associated with the given IPv4 or `null` if
- * no matching host could be found or if no hostname is known for
- * the corresponding host.
- */
- getHostnameByIPAddr: function(ipaddr) {
- for (var mac in this.hosts)
- if (this.hosts[mac].ipv4 == ipaddr &amp;&amp; this.hosts[mac].name != null)
- return this.hosts[mac].name;
- return null;
- },
-
- /**
- * Lookup the MAC address associated with the given IPv4 address.
- *
- * @param {string} ipaddr
- * The IPv4 address to lookup.
- *
- * @returns {null|string}
- * Returns the MAC address associated with the given IPv4 or `null` if
- * no matching host could be found or if no MAC address is known for
- * the corresponding host.
- */
- getMACAddrByIPAddr: function(ipaddr) {
- for (var mac in this.hosts)
- if (this.hosts[mac].ipv4 == ipaddr)
- return mac;
- return null;
- },
-
- /**
- * Lookup the hostname associated with the given IPv6 address.
- *
- * @param {string} ipaddr
- * The IPv6 address to lookup.
- *
- * @returns {null|string}
- * Returns the hostname associated with the given IPv6 or `null` if
- * no matching host could be found or if no hostname is known for
- * the corresponding host.
- */
- getHostnameByIP6Addr: function(ip6addr) {
- for (var mac in this.hosts)
- if (this.hosts[mac].ipv6 == ip6addr &amp;&amp; this.hosts[mac].name != null)
- return this.hosts[mac].name;
- return null;
- },
-
- /**
- * Lookup the MAC address associated with the given IPv6 address.
- *
- * @param {string} ipaddr
- * The IPv6 address to lookup.
- *
- * @returns {null|string}
- * Returns the MAC address associated with the given IPv6 or `null` if
- * no matching host could be found or if no MAC address is known for
- * the corresponding host.
- */
- getMACAddrByIP6Addr: function(ip6addr) {
- for (var mac in this.hosts)
- if (this.hosts[mac].ipv6 == ip6addr)
- return mac;
- return null;
- },
-
- /**
- * Return an array of (MAC address, name hint) tuples sorted by
- * MAC address.
- *
- * @param {boolean} [preferIp6=false]
- * Whether to prefer IPv6 addresses (`true`) or IPv4 addresses (`false`)
- * as name hint when no hostname is known for a specific MAC address.
- *
- * @returns {Array&lt;Array&lt;string>>}
- * Returns an array of arrays containing a name hint for each found
- * MAC address on the system. The array is sorted ascending by MAC.
- *
- * Each item of the resulting array is a two element array with the
- * MAC being the first element and the name hint being the second
- * element. The name hint is either the hostname, an IPv4 or an IPv6
- * address related to the MAC address.
- *
- * If no hostname but both IPv4 and IPv6 addresses are known, the
- * `preferIP6` flag specifies whether the IPv6 or the IPv4 address
- * is used as hint.
- */
- getMACHints: function(preferIp6) {
- var rv = [];
- for (var mac in this.hosts) {
- var hint = this.hosts[mac].name ||
- this.hosts[mac][preferIp6 ? 'ipv6' : 'ipv4'] ||
- this.hosts[mac][preferIp6 ? 'ipv4' : 'ipv6'];
-
- rv.push([mac, hint]);
- }
- return rv.sort(function(a, b) { return a[0] > b[0] });
- }
-});
-
-/**
- * @class
- * @memberof LuCI.Network
- * @hideconstructor
- * @classdesc
- *
- * The `Network.Protocol` class serves as base for protocol specific
- * subclasses which describe logical UCI networks defined by `config
- * interface` sections in `/etc/config/network`.
- */
-Protocol = L.Class.extend(/** @lends LuCI.Network.Protocol.prototype */ {
- __init__: function(name) {
- this.sid = name;
- },
-
- _get: function(opt) {
- var val = uci.get('network', this.sid, opt);
-
- if (Array.isArray(val))
- return val.join(' ');
-
- return val || '';
- },
-
- _ubus: function(field) {
- for (var i = 0; i &lt; _state.ifaces.length; i++) {
- if (_state.ifaces[i].interface != this.sid)
- continue;
-
- return (field != null ? _state.ifaces[i][field] : _state.ifaces[i]);
- }
- },
-
- /**
- * Read the given UCI option value of this network.
- *
- * @param {string} opt
- * The UCI option name to read.
- *
- * @returns {null|string|string[]}
- * Returns the UCI option value or `null` if the requested option is
- * not found.
- */
- get: function(opt) {
- return uci.get('network', this.sid, opt);
- },
-
- /**
- * Set the given UCI option of this network to the given value.
- *
- * @param {string} opt
- * The name of the UCI option to set.
- *
- * @param {null|string|string[]} val
- * The value to set or `null` to remove the given option from the
- * configuration.
- */
- set: function(opt, val) {
- return uci.set('network', this.sid, opt, val);
- },
-
- /**
- * Get the associared Linux network device of this network.
- *
- * @returns {null|string}
- * Returns the name of the associated network device or `null` if
- * it could not be determined.
- */
- getIfname: function() {
- var ifname;
-
- if (this.isFloating())
- ifname = this._ubus('l3_device');
- else
- ifname = this._ubus('device') || this._ubus('l3_device');
-
- if (ifname != null)
- return ifname;
-
- var res = getWifiNetidByNetname(this.sid);
- return (res != null ? res[0] : null);
- },
-
- /**
- * Get the name of this network protocol class.
- *
- * This function will be overwritten by subclasses created by
- * {@link LuCI.Network#registerProtocol Network.registerProtocol()}.
- *
- * @abstract
- * @returns {string}
- * Returns the name of the network protocol implementation, e.g.
- * `static` or `dhcp`.
- */
- getProtocol: function() {
- return null;
- },
-
- /**
- * Return a human readable description for the protcol, such as
- * `Static address` or `DHCP client`.
- *
- * This function should be overwritten by subclasses.
- *
- * @abstract
- * @returns {string}
- * Returns the description string.
- */
- getI18n: function() {
- switch (this.getProtocol()) {
- case 'none': return _('Unmanaged');
- case 'static': return _('Static address');
- case 'dhcp': return _('DHCP client');
- default: return _('Unknown');
- }
- },
-
- /**
- * Get the type of the underlying interface.
- *
- * This function actually is a convenience wrapper around
- * `proto.get("type")` and is mainly used by other `LuCI.Network` code
- * to check whether the interface is declared as bridge in UCI.
- *
- * @returns {null|string}
- * Returns the value of the `type` option of the associated logical
- * interface or `null` if no `type` option is set.
- */
- getType: function() {
- return this._get('type');
- },
-
- /**
- * Get the name of the associated logical interface.
- *
- * @returns {string}
- * Returns the logical interface name, such as `lan` or `wan`.
- */
- getName: function() {
- return this.sid;
- },
-
- /**
- * Get the uptime of the logical interface.
- *
- * @returns {number}
- * Returns the uptime of the associated interface in seconds.
- */
- getUptime: function() {
- return this._ubus('uptime') || 0;
- },
-
- /**
- * Get the logical interface expiry time in seconds.
- *
- * For protocols that have a concept of a lease, such as DHCP or
- * DHCPv6, this function returns the remaining time in seconds
- * until the lease expires.
- *
- * @returns {number}
- * Returns the amount of seconds until the lease expires or `-1`
- * if it isn't applicable to the associated protocol.
- */
- getExpiry: function() {
- var u = this._ubus('uptime'),
- d = this._ubus('data');
-
- if (typeof(u) == 'number' &amp;&amp; d != null &amp;&amp;
- typeof(d) == 'object' &amp;&amp; typeof(d.leasetime) == 'number') {
- var r = d.leasetime - (u % d.leasetime);
- return (r > 0 ? r : 0);
- }
-
- return -1;
- },
-
- /**
- * Get the metric value of the logical interface.
- *
- * @returns {number}
- * Returns the current metric value used for device and network
- * routes spawned by the associated logical interface.
- */
- getMetric: function() {
- return this._ubus('metric') || 0;
- },
-
- /**
- * Get the requested firewall zone name of the logical interface.
- *
- * Some protocol implementations request a specific firewall zone
- * to trigger inclusion of their resulting network devices into the
- * firewall rule set.
- *
- * @returns {null|string}
- * Returns the requested firewall zone name as published in the
- * `ubus` runtime information or `null` if the remote protocol
- * handler didn't request a zone.
- */
- getZoneName: function() {
- var d = this._ubus('data');
-
- if (L.isObject(d) &amp;&amp; typeof(d.zone) == 'string')
- return d.zone;
-
- return null;
- },
-
- /**
- * Query the first (primary) IPv4 address of the logical interface.
- *
- * @returns {null|string}
- * Returns the primary IPv4 address registered by the protocol handler
- * or `null` if no IPv4 addresses were set.
- */
- getIPAddr: function() {
- var addrs = this._ubus('ipv4-address');
- return ((Array.isArray(addrs) &amp;&amp; addrs.length) ? addrs[0].address : null);
- },
-
- /**
- * Query all IPv4 addresses of the logical interface.
- *
- * @returns {string[]}
- * Returns an array of IPv4 addresses in CIDR notation which have been
- * registered by the protocol handler. The order of the resulting array
- * follows the order of the addresses in `ubus` runtime information.
- */
- getIPAddrs: function() {
- var addrs = this._ubus('ipv4-address'),
- rv = [];
-
- if (Array.isArray(addrs))
- for (var i = 0; i &lt; addrs.length; i++)
- rv.push('%s/%d'.format(addrs[i].address, addrs[i].mask));
-
- return rv;
- },
-
- /**
- * Query the first (primary) IPv4 netmask of the logical interface.
- *
- * @returns {null|string}
- * Returns the netmask of the primary IPv4 address registered by the
- * protocol handler or `null` if no IPv4 addresses were set.
- */
- getNetmask: function() {
- var addrs = this._ubus('ipv4-address');
- if (Array.isArray(addrs) &amp;&amp; addrs.length)
- return prefixToMask(addrs[0].mask, false);
- },
-
- /**
- * Query the gateway (nexthop) of the default route associated with
- * this logical interface.
- *
- * @returns {string}
- * Returns a string containing the IPv4 nexthop address of the associated
- * default route or `null` if no default route was found.
- */
- getGatewayAddr: function() {
- var routes = this._ubus('route');
-
- if (Array.isArray(routes))
- for (var i = 0; i &lt; routes.length; i++)
- if (typeof(routes[i]) == 'object' &amp;&amp;
- routes[i].target == '0.0.0.0' &amp;&amp;
- routes[i].mask == 0)
- return routes[i].nexthop;
-
- return null;
- },
-
- /**
- * Query the IPv4 DNS servers associated with the logical interface.
- *
- * @returns {string[]}
- * Returns an array of IPv4 DNS servers registered by the remote
- * protocol backend.
- */
- getDNSAddrs: function() {
- var addrs = this._ubus('dns-server'),
- rv = [];
-
- if (Array.isArray(addrs))
- for (var i = 0; i &lt; addrs.length; i++)
- if (!/:/.test(addrs[i]))
- rv.push(addrs[i]);
-
- return rv;
- },
-
- /**
- * Query the first (primary) IPv6 address of the logical interface.
- *
- * @returns {null|string}
- * Returns the primary IPv6 address registered by the protocol handler
- * in CIDR notation or `null` if no IPv6 addresses were set.
- */
- getIP6Addr: function() {
- var addrs = this._ubus('ipv6-address');
-
- if (Array.isArray(addrs) &amp;&amp; L.isObject(addrs[0]))
- return '%s/%d'.format(addrs[0].address, addrs[0].mask);
-
- addrs = this._ubus('ipv6-prefix-assignment');
-
- if (Array.isArray(addrs) &amp;&amp; L.isObject(addrs[0]) &amp;&amp; L.isObject(addrs[0]['local-address']))
- return '%s/%d'.format(addrs[0]['local-address'].address, addrs[0]['local-address'].mask);
-
- return null;
- },
-
- /**
- * Query all IPv6 addresses of the logical interface.
- *
- * @returns {string[]}
- * Returns an array of IPv6 addresses in CIDR notation which have been
- * registered by the protocol handler. The order of the resulting array
- * follows the order of the addresses in `ubus` runtime information.
- */
- getIP6Addrs: function() {
- var addrs = this._ubus('ipv6-address'),
- rv = [];
-
- if (Array.isArray(addrs))
- for (var i = 0; i &lt; addrs.length; i++)
- if (L.isObject(addrs[i]))
- rv.push('%s/%d'.format(addrs[i].address, addrs[i].mask));
-
- addrs = this._ubus('ipv6-prefix-assignment');
-
- if (Array.isArray(addrs))
- for (var i = 0; i &lt; addrs.length; i++)
- if (L.isObject(addrs[i]) &amp;&amp; L.isObject(addrs[i]['local-address']))
- rv.push('%s/%d'.format(addrs[i]['local-address'].address, addrs[i]['local-address'].mask));
-
- return rv;
- },
-
- /**
- * Query the gateway (nexthop) of the IPv6 default route associated with
- * this logical interface.
- *
- * @returns {string}
- * Returns a string containing the IPv6 nexthop address of the associated
- * default route or `null` if no default route was found.
- */
- getGateway6Addr: function() {
- var routes = this._ubus('route');
-
- if (Array.isArray(routes))
- for (var i = 0; i &lt; routes.length; i++)
- if (typeof(routes[i]) == 'object' &amp;&amp;
- routes[i].target == '::' &amp;&amp;
- routes[i].mask == 0)
- return routes[i].nexthop;
-
- return null;
- },
-
- /**
- * Query the IPv6 DNS servers associated with the logical interface.
- *
- * @returns {string[]}
- * Returns an array of IPv6 DNS servers registered by the remote
- * protocol backend.
- */
- getDNS6Addrs: function() {
- var addrs = this._ubus('dns-server'),
- rv = [];
-
- if (Array.isArray(addrs))
- for (var i = 0; i &lt; addrs.length; i++)
- if (/:/.test(addrs[i]))
- rv.push(addrs[i]);
-
- return rv;
- },
-
- /**
- * Query the routed IPv6 prefix associated with the logical interface.
- *
- * @returns {null|string}
- * Returns the routed IPv6 prefix registered by the remote protocol
- * handler or `null` if no prefix is present.
- */
- getIP6Prefix: function() {
- var prefixes = this._ubus('ipv6-prefix');
-
- if (Array.isArray(prefixes) &amp;&amp; L.isObject(prefixes[0]))
- return '%s/%d'.format(prefixes[0].address, prefixes[0].mask);
-
- return null;
- },
-
- /**
- * Query interface error messages published in `ubus` runtime state.
- *
- * Interface errors are emitted by remote protocol handlers if the setup
- * of the underlying logical interface failed, e.g. due to bad
- * configuration or network connectivity issues.
- *
- * This function will translate the found error codes to human readable
- * messages using the descriptions registered by
- * {@link LuCI.Network#registerErrorCode Network.registerErrorCode()}
- * and fall back to `"Unknown error (%s)"` where `%s` is replaced by the
- * error code in case no translation can be found.
- *
- * @returns {string[]}
- * Returns an array of translated interface error messages.
- */
- getErrors: function() {
- var errors = this._ubus('errors'),
- rv = null;
-
- if (Array.isArray(errors)) {
- for (var i = 0; i &lt; errors.length; i++) {
- if (!L.isObject(errors[i]) || typeof(errors[i].code) != 'string')
- continue;
-
- rv = rv || [];
- rv.push(proto_errors[errors[i].code] || _('Unknown error (%s)').format(errors[i].code));
- }
- }
-
- return rv;
- },
-
- /**
- * Checks whether the underlying logical interface is declared as bridge.
- *
- * @returns {boolean}
- * Returns `true` when the interface is declared with `option type bridge`
- * and when the associated protocol implementation is not marked virtual
- * or `false` when the logical interface is no bridge.
- */
- isBridge: function() {
- return (!this.isVirtual() &amp;&amp; this.getType() == 'bridge');
- },
-
- /**
- * Get the name of the opkg package providing the protocol functionality.
- *
- * This function should be overwritten by protocol specific subclasses.
- *
- * @abstract
- *
- * @returns {string}
- * Returns the name of the opkg package required for the protocol to
- * function, e.g. `odhcp6c` for the `dhcpv6` prototocol.
- */
- getOpkgPackage: function() {
- return null;
- },
-
- /**
- * Checks whether the protocol functionality is installed.
- *
- * This function exists for compatibility with old code, it always
- * returns `true`.
- *
- * @deprecated
- * @abstract
- *
- * @returns {boolean}
- * Returns `true` if the protocol support is installed, else `false`.
- */
- isInstalled: function() {
- return true;
- },
-
- /**
- * Checks whether this protocol is "virtual".
- *
- * A "virtual" protocol is a protocol which spawns its own interfaces
- * on demand instead of using existing physical interfaces.
- *
- * Examples for virtual protocols are `6in4` which `gre` spawn tunnel
- * network device on startup, examples for non-virtual protcols are
- * `dhcp` or `static` which apply IP configuration to existing interfaces.
- *
- * This function should be overwritten by subclasses.
- *
- * @returns {boolean}
- * Returns a boolean indicating whether the underlying protocol spawns
- * dynamic interfaces (`true`) or not (`false`).
- */
- isVirtual: function() {
- return false;
- },
-
- /**
- * Checks whether this protocol is "floating".
- *
- * A "floating" protocol is a protocol which spawns its own interfaces
- * on demand, like a virtual one but which relies on an existinf lower
- * level interface to initiate the connection.
- *
- * An example for such a protocol is "pppoe".
- *
- * This function exists for backwards compatibility with older code
- * but should not be used anymore.
- *
- * @deprecated
- * @returns {boolean}
- * Returns a boolean indicating whether this protocol is floating (`true`)
- * or not (`false`).
- */
- isFloating: function() {
- return false;
- },
-
- /**
- * Checks whether this logical interface is dynamic.
- *
- * A dynamic interface is an interface which has been created at runtime,
- * e.g. as sub-interface of another interface, but which is not backed by
- * any user configuration. Such dynamic interfaces cannot be edited but
- * only brought down or restarted.
- *
- * @returns {boolean}
- * Returns a boolean indicating whether this interface is dynamic (`true`)
- * or not (`false`).
- */
- isDynamic: function() {
- return (this._ubus('dynamic') == true);
- },
-
- /**
- * Checks whether this interface is an alias interface.
- *
- * Alias interfaces are interfaces layering on top of another interface
- * and are denoted by a special `@interfacename` notation in the
- * underlying `ifname` option.
- *
- * @returns {null|string}
- * Returns the name of the parent interface if this logical interface
- * is an alias or `null` if it is not an alias interface.
- */
- isAlias: function() {
- var ifnames = L.toArray(uci.get('network', this.sid, 'ifname')),
- parent = null;
-
- for (var i = 0; i &lt; ifnames.length; i++)
- if (ifnames[i].charAt(0) == '@')
- parent = ifnames[i].substr(1);
- else if (parent != null)
- parent = null;
-
- return parent;
- },
-
- /**
- * Checks whether this logical interface is "empty", meaning that ut
- * has no network devices attached.
- *
- * @returns {boolean}
- * Returns `true` if this logical interface is empty, else `false`.
- */
- isEmpty: function() {
- if (this.isFloating())
- return false;
-
- var empty = true,
- ifname = this._get('ifname');
-
- if (ifname != null &amp;&amp; ifname.match(/\S+/))
- empty = false;
-
- if (empty == true &amp;&amp; getWifiNetidBySid(this.sid) != null)
- empty = false;
-
- return empty;
- },
-
- /**
- * Checks whether this logical interface is configured and running.
- *
- * @returns {boolean}
- * Returns `true` when the interface is active or `false` when it is not.
- */
- isUp: function() {
- return (this._ubus('up') == true);
- },
-
- /**
- * Add the given network device to the logical interface.
- *
- * @param {LuCI.Network.Protocol|LuCI.Network.Device|LuCI.Network.WifiDevice|LuCI.Network.WifiNetwork|string} device
- * The object or device name to add to the logical interface. In case the
- * given argument is not a string, it is resolved though the
- * {@link LuCI.Network#getIfnameOf Network.getIfnameOf()} function.
- *
- * @returns {boolean}
- * Returns `true` if the device name has been added or `false` if any
- * argument was invalid, if the device was already part of the logical
- * interface or if the logical interface is virtual.
- */
- addDevice: function(ifname) {
- ifname = ifnameOf(ifname);
-
- if (ifname == null || this.isFloating())
- return false;
-
- var wif = getWifiSidByIfname(ifname);
-
- if (wif != null)
- return appendValue('wireless', wif, 'network', this.sid);
-
- return appendValue('network', this.sid, 'ifname', ifname);
- },
-
- /**
- * Remove the given network device from the logical interface.
- *
- * @param {LuCI.Network.Protocol|LuCI.Network.Device|LuCI.Network.WifiDevice|LuCI.Network.WifiNetwork|string} device
- * The object or device name to remove from the logical interface. In case
- * the given argument is not a string, it is resolved though the
- * {@link LuCI.Network#getIfnameOf Network.getIfnameOf()} function.
- *
- * @returns {boolean}
- * Returns `true` if the device name has been added or `false` if any
- * argument was invalid, if the device was already part of the logical
- * interface or if the logical interface is virtual.
- */
- deleteDevice: function(ifname) {
- var rv = false;
-
- ifname = ifnameOf(ifname);
-
- if (ifname == null || this.isFloating())
- return false;
-
- var wif = getWifiSidByIfname(ifname);
-
- if (wif != null)
- rv = removeValue('wireless', wif, 'network', this.sid);
-
- if (removeValue('network', this.sid, 'ifname', ifname))
- rv = true;
-
- return rv;
- },
-
- /**
- * Returns the Linux network device associated with this logical
- * interface.
- *
- * @returns {LuCI.Network.Device}
- * Returns a `Network.Device` class instance representing the
- * expected Linux network device according to the configuration.
- */
- getDevice: function() {
- if (this.isVirtual()) {
- var ifname = '%s-%s'.format(this.getProtocol(), this.sid);
- _state.isTunnel[this.getProtocol() + '-' + this.sid] = true;
- return L.network.instantiateDevice(ifname, this);
- }
- else if (this.isBridge()) {
- var ifname = 'br-%s'.format(this.sid);
- _state.isBridge[ifname] = true;
- return new Device(ifname, this);
- }
- else {
- var ifnames = L.toArray(uci.get('network', this.sid, 'ifname'));
-
- for (var i = 0; i &lt; ifnames.length; i++) {
- var m = ifnames[i].match(/^([^:/]+)/);
- return ((m &amp;&amp; m[1]) ? L.network.instantiateDevice(m[1], this) : null);
- }
-
- ifname = getWifiNetidByNetname(this.sid);
-
- return (ifname != null ? L.network.instantiateDevice(ifname[0], this) : null);
- }
- },
-
- /**
- * Returns the layer 2 linux network device currently associated
- * with this logical interface.
- *
- * @returns {LuCI.Network.Device}
- * Returns a `Network.Device` class instance representing the Linux
- * network device currently associated with the logical interface.
- */
- getL2Device: function() {
- var ifname = this._ubus('device');
- return (ifname != null ? L.network.instantiateDevice(ifname, this) : null);
- },
-
- /**
- * Returns the layer 3 linux network device currently associated
- * with this logical interface.
- *
- * @returns {LuCI.Network.Device}
- * Returns a `Network.Device` class instance representing the Linux
- * network device currently associated with the logical interface.
- */
- getL3Device: function() {
- var ifname = this._ubus('l3_device');
- return (ifname != null ? L.network.instantiateDevice(ifname, this) : null);
- },
-
- /**
- * Returns a list of network sub-devices associated with this logical
- * interface.
- *
- * @returns {null|Array&lt;LuCI.Network.Device>}
- * Returns an array of of `Network.Device` class instances representing
- * the sub-devices attached to this logical interface or `null` if the
- * logical interface does not support sub-devices, e.g. because it is
- * virtual and not a bridge.
- */
- getDevices: function() {
- var rv = [];
-
- if (!this.isBridge() &amp;&amp; !(this.isVirtual() &amp;&amp; !this.isFloating()))
- return null;
-
- var ifnames = L.toArray(uci.get('network', this.sid, 'ifname'));
-
- for (var i = 0; i &lt; ifnames.length; i++) {
- if (ifnames[i].charAt(0) == '@')
- continue;
-
- var m = ifnames[i].match(/^([^:/]+)/);
- if (m != null)
- rv.push(L.network.instantiateDevice(m[1], this));
- }
-
- var uciWifiIfaces = uci.sections('wireless', 'wifi-iface');
-
- for (var i = 0; i &lt; uciWifiIfaces.length; i++) {
- if (typeof(uciWifiIfaces[i].device) != 'string')
- continue;
-
- var networks = L.toArray(uciWifiIfaces[i].network);
-
- for (var j = 0; j &lt; networks.length; j++) {
- if (networks[j] != this.sid)
- continue;
-
- var netid = getWifiNetidBySid(uciWifiIfaces[i]['.name']);
-
- if (netid != null)
- rv.push(L.network.instantiateDevice(netid[0], this));
- }
- }
-
- rv.sort(deviceSort);
-
- return rv;
- },
-
- /**
- * Checks whether this logical interface contains the given device
- * object.
- *
- * @param {LuCI.Network.Protocol|LuCI.Network.Device|LuCI.Network.WifiDevice|LuCI.Network.WifiNetwork|string} device
- * The object or device name to check. In case the given argument is not
- * a string, it is resolved though the
- * {@link LuCI.Network#getIfnameOf Network.getIfnameOf()} function.
- *
- * @returns {boolean}
- * Returns `true` when this logical interface contains the given network
- * device or `false` if not.
- */
- containsDevice: function(ifname) {
- ifname = ifnameOf(ifname);
-
- if (ifname == null)
- return false;
- else if (this.isVirtual() &amp;&amp; '%s-%s'.format(this.getProtocol(), this.sid) == ifname)
- return true;
- else if (this.isBridge() &amp;&amp; 'br-%s'.format(this.sid) == ifname)
- return true;
-
- var ifnames = L.toArray(uci.get('network', this.sid, 'ifname'));
-
- for (var i = 0; i &lt; ifnames.length; i++) {
- var m = ifnames[i].match(/^([^:/]+)/);
- if (m != null &amp;&amp; m[1] == ifname)
- return true;
- }
-
- var wif = getWifiSidByIfname(ifname);
-
- if (wif != null) {
- var networks = L.toArray(uci.get('wireless', wif, 'network'));
-
- for (var i = 0; i &lt; networks.length; i++)
- if (networks[i] == this.sid)
- return true;
- }
-
- return false;
- }
-});
-
-/**
- * @class
- * @memberof LuCI.Network
- * @hideconstructor
- * @classdesc
- *
- * A `Network.Device` class instance represents an underlying Linux network
- * device and allows querying device details such as packet statistics or MTU.
- */
-Device = L.Class.extend(/** @lends LuCI.Network.Device.prototype */ {
- __init__: function(ifname, network) {
- var wif = getWifiSidByIfname(ifname);
-
- if (wif != null) {
- var res = getWifiStateBySid(wif) || [],
- netid = getWifiNetidBySid(wif) || [];
-
- this.wif = new WifiNetwork(wif, res[0], res[1], netid[0], res[2], { ifname: ifname });
- this.ifname = this.wif.getIfname();
- }
-
- this.ifname = this.ifname || ifname;
- this.dev = _state.netdevs[this.ifname];
- this.network = network;
- },
-
- _devstate: function(/* ... */) {
- var rv = this.dev;
-
- for (var i = 0; i &lt; arguments.length; i++)
- if (L.isObject(rv))
- rv = rv[arguments[i]];
- else
- return null;
-
- return rv;
- },
-
- /**
- * Get the name of the network device.
- *
- * @returns {string}
- * Returns the name of the device, e.g. `eth0` or `wlan0`.
- */
- getName: function() {
- return (this.wif != null ? this.wif.getIfname() : this.ifname);
- },
-
- /**
- * Get the MAC address of the device.
- *
- * @returns {null|string}
- * Returns the MAC address of the device or `null` if not applicable,
- * e.g. for non-ethernet tunnel devices.
- */
- getMAC: function() {
- var mac = this._devstate('macaddr');
- return mac ? mac.toUpperCase() : null;
- },
-
- /**
- * Get the MTU of the device.
- *
- * @returns {number}
- * Returns the MTU of the device.
- */
- getMTU: function() {
- return this._devstate('mtu');
- },
-
- /**
- * Get the IPv4 addresses configured on the device.
- *
- * @returns {string[]}
- * Returns an array of IPv4 address strings.
- */
- getIPAddrs: function() {
- var addrs = this._devstate('ipaddrs');
- return (Array.isArray(addrs) ? addrs : []);
- },
-
- /**
- * Get the IPv6 addresses configured on the device.
- *
- * @returns {string[]}
- * Returns an array of IPv6 address strings.
- */
- getIP6Addrs: function() {
- var addrs = this._devstate('ip6addrs');
- return (Array.isArray(addrs) ? addrs : []);
- },
-
- /**
- * Get the type of the device..
- *
- * @returns {string}
- * Returns a string describing the type of the network device:
- * - `alias` if it is an abstract alias device (`@` notation)
- * - `wifi` if it is a wireless interface (e.g. `wlan0`)
- * - `bridge` if it is a bridge device (e.g. `br-lan`)
- * - `tunnel` if it is a tun or tap device (e.g. `tun0`)
- * - `vlan` if it is a vlan device (e.g. `eth0.1`)
- * - `switch` if it is a switch device (e.g.`eth1` connected to switch0)
- * - `ethernet` for all other device types
- */
- getType: function() {
- if (this.ifname != null &amp;&amp; this.ifname.charAt(0) == '@')
- return 'alias';
- else if (this.wif != null || isWifiIfname(this.ifname))
- return 'wifi';
- else if (_state.isBridge[this.ifname])
- return 'bridge';
- else if (_state.isTunnel[this.ifname])
- return 'tunnel';
- else if (this.ifname.indexOf('.') > -1)
- return 'vlan';
- else if (_state.isSwitch[this.ifname])
- return 'switch';
- else
- return 'ethernet';
- },
-
- /**
- * Get a short description string for the device.
- *
- * @returns {string}
- * Returns the device name for non-wifi devices or a string containing
- * the operation mode and SSID for wifi devices.
- */
- getShortName: function() {
- if (this.wif != null)
- return this.wif.getShortName();
-
- return this.ifname;
- },
-
- /**
- * Get a long description string for the device.
- *
- * @returns {string}
- * Returns a string containing the type description and device name
- * for non-wifi devices or operation mode and ssid for wifi ones.
- */
- getI18n: function() {
- if (this.wif != null) {
- return '%s: %s "%s"'.format(
- _('Wireless Network'),
- this.wif.getActiveMode(),
- this.wif.getActiveSSID() || this.wif.getActiveBSSID() || this.wif.getID() || '?');
- }
-
- return '%s: "%s"'.format(this.getTypeI18n(), this.getName());
- },
-
- /**
- * Get a string describing the device type.
- *
- * @returns {string}
- * Returns a string describing the type, e.g. "Wireless Adapter" or
- * "Bridge".
- */
- getTypeI18n: function() {
- switch (this.getType()) {
- case 'alias':
- return _('Alias Interface');
-
- case 'wifi':
- return _('Wireless Adapter');
-
- case 'bridge':
- return _('Bridge');
-
- case 'switch':
- return _('Ethernet Switch');
-
- case 'vlan':
- return (_state.isSwitch[this.ifname] ? _('Switch VLAN') : _('Software VLAN'));
-
- case 'tunnel':
- return _('Tunnel Interface');
-
- default:
- return _('Ethernet Adapter');
- }
- },
-
- /**
- * Get the associated bridge ports of the device.
- *
- * @returns {null|Array&lt;LuCI.Network.Device>}
- * Returns an array of `Network.Device` instances representing the ports
- * (slave interfaces) of the bridge or `null` when this device isn't
- * a Linux bridge.
- */
- getPorts: function() {
- var br = _state.bridges[this.ifname],
- rv = [];
-
- if (br == null || !Array.isArray(br.ifnames))
- return null;
-
- for (var i = 0; i &lt; br.ifnames.length; i++)
- rv.push(L.network.instantiateDevice(br.ifnames[i].name));
-
- rv.sort(deviceSort);
-
- return rv;
- },
-
- /**
- * Get the bridge ID
- *
- * @returns {null|string}
- * Returns the ID of this network bridge or `null` if this network
- * device is not a Linux bridge.
- */
- getBridgeID: function() {
- var br = _state.bridges[this.ifname];
- return (br != null ? br.id : null);
- },
-
- /**
- * Get the bridge STP setting
- *
- * @returns {boolean}
- * Returns `true` when this device is a Linux bridge and has `stp`
- * enabled, else `false`.
- */
- getBridgeSTP: function() {
- var br = _state.bridges[this.ifname];
- return (br != null ? !!br.stp : false);
- },
-
- /**
- * Checks whether this device is up.
- *
- * @returns {boolean}
- * Returns `true` when the associated device is running pr `false`
- * when it is down or absent.
- */
- isUp: function() {
- var up = this._devstate('flags', 'up');
-
- if (up == null)
- up = (this.getType() == 'alias');
-
- return up;
- },
-
- /**
- * Checks whether this device is a Linux bridge.
- *
- * @returns {boolean}
- * Returns `true` when the network device is present and a Linux bridge,
- * else `false`.
- */
- isBridge: function() {
- return (this.getType() == 'bridge');
- },
-
- /**
- * Checks whether this device is part of a Linux bridge.
- *
- * @returns {boolean}
- * Returns `true` when this network device is part of a bridge,
- * else `false`.
- */
- isBridgePort: function() {
- return (this._devstate('bridge') != null);
- },
-
- /**
- * Get the amount of transmitted bytes.
- *
- * @returns {number}
- * Returns the amount of bytes transmitted by the network device.
- */
- getTXBytes: function() {
- var stat = this._devstate('stats');
- return (stat != null ? stat.tx_bytes || 0 : 0);
- },
-
- /**
- * Get the amount of received bytes.
- *
- * @returns {number}
- * Returns the amount of bytes received by the network device.
- */
- getRXBytes: function() {
- var stat = this._devstate('stats');
- return (stat != null ? stat.rx_bytes || 0 : 0);
- },
-
- /**
- * Get the amount of transmitted packets.
- *
- * @returns {number}
- * Returns the amount of packets transmitted by the network device.
- */
- getTXPackets: function() {
- var stat = this._devstate('stats');
- return (stat != null ? stat.tx_packets || 0 : 0);
- },
-
- /**
- * Get the amount of received packets.
- *
- * @returns {number}
- * Returns the amount of packets received by the network device.
- */
- getRXPackets: function() {
- var stat = this._devstate('stats');
- return (stat != null ? stat.rx_packets || 0 : 0);
- },
-
- /**
- * Get the primary logical interface this device is assigned to.
- *
- * @returns {null|LuCI.Network.Protocol}
- * Returns a `Network.Protocol` instance representing the logical
- * interface this device is attached to or `null` if it is not
- * assigned to any logical interface.
- */
- getNetwork: function() {
- return this.getNetworks()[0];
- },
-
- /**
- * Get the logical interfaces this device is assigned to.
- *
- * @returns {Array&lt;LuCI.Network.Protocol>}
- * Returns an array of `Network.Protocol` instances representing the
- * logical interfaces this device is assigned to.
- */
- getNetworks: function() {
- if (this.networks == null) {
- this.networks = [];
-
- var networks = enumerateNetworks.apply(L.network);
-
- for (var i = 0; i &lt; networks.length; i++)
- if (networks[i].containsDevice(this.ifname) || networks[i].getIfname() == this.ifname)
- this.networks.push(networks[i]);
-
- this.networks.sort(networkSort);
- }
-
- return this.networks;
- },
-
- /**
- * Get the related wireless network this device is related to.
- *
- * @returns {null|LuCI.Network.WifiNetwork}
- * Returns a `Network.WifiNetwork` instance representing the wireless
- * network corresponding to this network device or `null` if this device
- * is not a wireless device.
- */
- getWifiNetwork: function() {
- return (this.wif != null ? this.wif : null);
- }
-});
-
-/**
- * @class
- * @memberof LuCI.Network
- * @hideconstructor
- * @classdesc
- *
- * A `Network.WifiDevice` class instance represents a wireless radio device
- * present on the system and provides wireless capability information as
- * well as methods for enumerating related wireless networks.
- */
-WifiDevice = L.Class.extend(/** @lends LuCI.Network.WifiDevice.prototype */ {
- __init__: function(name, radiostate) {
- var uciWifiDevice = uci.get('wireless', name);
-
- if (uciWifiDevice != null &amp;&amp;
- uciWifiDevice['.type'] == 'wifi-device' &amp;&amp;
- uciWifiDevice['.name'] != null) {
- this.sid = uciWifiDevice['.name'];
- }
-
- this.sid = this.sid || name;
- this._ubusdata = {
- radio: name,
- dev: radiostate
- };
- },
-
- /* private */
- ubus: function(/* ... */) {
- var v = this._ubusdata;
-
- for (var i = 0; i &lt; arguments.length; i++)
- if (L.isObject(v))
- v = v[arguments[i]];
- else
- return null;
-
- return v;
- },
-
- /**
- * Read the given UCI option value of this wireless device.
- *
- * @param {string} opt
- * The UCI option name to read.
- *
- * @returns {null|string|string[]}
- * Returns the UCI option value or `null` if the requested option is
- * not found.
- */
- get: function(opt) {
- return uci.get('wireless', this.sid, opt);
- },
-
- /**
- * Set the given UCI option of this network to the given value.
- *
- * @param {string} opt
- * The name of the UCI option to set.
- *
- * @param {null|string|string[]} val
- * The value to set or `null` to remove the given option from the
- * configuration.
- */
- set: function(opt, value) {
- return uci.set('wireless', this.sid, opt, value);
- },
-
- /**
- * Checks whether this wireless radio is disabled.
- *
- * @returns {boolean}
- * Returns `true` when the wireless radio is marked as disabled in `ubus`
- * runtime state or when the `disabled` option is set in the corresponding
- * UCI configuration.
- */
- isDisabled: function() {
- return this.ubus('dev', 'disabled') || this.get('disabled') == '1';
- },
-
- /**
- * Get the configuration name of this wireless radio.
- *
- * @returns {string}
- * Returns the UCI section name (e.g. `radio0`) of the corresponding
- * radio configuration which also serves as unique logical identifier
- * for the wireless phy.
- */
- getName: function() {
- return this.sid;
- },
-
- /**
- * Gets a list of supported hwmodes.
- *
- * The hwmode values describe the frequency band and wireless standard
- * versions supported by the wireless phy.
- *
- * @returns {string[]}
- * Returns an array of valid hwmode values for this radio. Currently
- * known mode values are:
- * - `a` - Legacy 802.11a mode, 5 GHz, up to 54 Mbit/s
- * - `b` - Legacy 802.11b mode, 2.4 GHz, up to 11 Mbit/s
- * - `g` - Legacy 802.11g mode, 2.4 GHz, up to 54 Mbit/s
- * - `n` - IEEE 802.11n mode, 2.4 or 5 GHz, up to 600 Mbit/s
- * - `ac` - IEEE 802.11ac mode, 5 GHz, up to 6770 Mbit/s
- */
- getHWModes: function() {
- var hwmodes = this.ubus('dev', 'iwinfo', 'hwmodes');
- return Array.isArray(hwmodes) ? hwmodes : [ 'b', 'g' ];
- },
-
- /**
- * Gets a list of supported htmodes.
- *
- * The htmode values describe the wide-frequency options supported by
- * the wireless phy.
- *
- * @returns {string[]}
- * Returns an array of valid htmode values for this radio. Currently
- * known mode values are:
- * - `HT20` - applicable to IEEE 802.11n, 20 MHz wide channels
- * - `HT40` - applicable to IEEE 802.11n, 40 MHz wide channels
- * - `VHT20` - applicable to IEEE 802.11ac, 20 MHz wide channels
- * - `VHT40` - applicable to IEEE 802.11ac, 40 MHz wide channels
- * - `VHT80` - applicable to IEEE 802.11ac, 80 MHz wide channels
- * - `VHT160` - applicable to IEEE 802.11ac, 160 MHz wide channels
- */
- getHTModes: function() {
- var htmodes = this.ubus('dev', 'iwinfo', 'htmodes');
- return (Array.isArray(htmodes) &amp;&amp; htmodes.length) ? htmodes : null;
- },
-
- /**
- * Get a string describing the wireless radio hardware.
- *
- * @returns {string}
- * Returns the description string.
- */
- getI18n: function() {
- var hw = this.ubus('dev', 'iwinfo', 'hardware'),
- type = L.isObject(hw) ? hw.name : null;
-
- if (this.ubus('dev', 'iwinfo', 'type') == 'wl')
- type = 'Broadcom';
-
- var hwmodes = this.getHWModes(),
- modestr = '';
-
- hwmodes.sort(function(a, b) {
- return (a.length != b.length ? a.length > b.length : a > b);
- });
-
- modestr = hwmodes.join('');
-
- return '%s 802.11%s Wireless Controller (%s)'.format(type || 'Generic', modestr, this.getName());
- },
-
- /**
- * A wireless scan result object describes a neighbouring wireless
- * network found in the vincinity.
- *
- * @typedef {Object&lt;string, number|string|LuCI.Network.WifiEncryption>} WifiScanResult
- * @memberof LuCI.Network
- *
- * @property {string} ssid
- * The SSID / Mesh ID of the network.
- *
- * @property {string} bssid
- * The BSSID if the network.
- *
- * @property {string} mode
- * The operation mode of the network (`Master`, `Ad-Hoc`, `Mesh Point`).
- *
- * @property {number} channel
- * The wireless channel of the network.
- *
- * @property {number} signal
- * The received signal strength of the network in dBm.
- *
- * @property {number} quality
- * The numeric quality level of the signal, can be used in conjunction
- * with `quality_max` to calculate a quality percentage.
- *
- * @property {number} quality_max
- * The maximum possible quality level of the signal, can be used in
- * conjunction with `quality` to calculate a quality percentage.
- *
- * @property {LuCI.Network.WifiEncryption} encryption
- * The encryption used by the wireless network.
- */
-
- /**
- * Trigger a wireless scan on this radio device and obtain a list of
- * nearby networks.
- *
- * @returns {Promise&lt;Array&lt;LuCI.Network.WifiScanResult>>}
- * Returns a promise resolving to an array of scan result objects
- * describing the networks found in the vincinity.
- */
- getScanList: function() {
- return callIwinfoScan(this.sid);
- },
-
- /**
- * Check whether the wireless radio is marked as up in the `ubus`
- * runtime state.
- *
- * @returns {boolean}
- * Returns `true` when the radio device is up, else `false`.
- */
- isUp: function() {
- if (L.isObject(_state.radios[this.sid]))
- return (_state.radios[this.sid].up == true);
-
- return false;
- },
-
- /**
- * Get the wifi network of the given name belonging to this radio device
- *
- * @param {string} network
- * The name of the wireless network to lookup. This may be either an uci
- * configuration section ID, a network ID in the form `radio#.network#`
- * or a Linux network device name like `wlan0` which is resolved to the
- * corresponding configuration section through `ubus` runtime information.
- *
- * @returns {Promise&lt;LuCI.Network.WifiNetwork>}
- * Returns a promise resolving to a `Network.WifiNetwork` instance
- * representing the wireless network and rejecting with `null` if
- * the given network could not be found or is not associated with
- * this radio device.
- */
- getWifiNetwork: function(network) {
- return L.network.getWifiNetwork(network).then(L.bind(function(networkInstance) {
- var uciWifiIface = (networkInstance.sid ? uci.get('wireless', networkInstance.sid) : null);
-
- if (uciWifiIface == null || uciWifiIface['.type'] != 'wifi-iface' || uciWifiIface.device != this.sid)
- return Promise.reject();
-
- return networkInstance;
- }, this));
- },
-
- /**
- * Get all wireless networks associated with this wireless radio device.
- *
- * @returns {Promise&lt;Array&lt;LuCI.Network.WifiNetwork>>}
- * Returns a promise resolving to an array of `Network.WifiNetwork`
- * instances respresenting the wireless networks associated with this
- * radio device.
- */
- getWifiNetworks: function() {
- var uciWifiIfaces = uci.sections('wireless', 'wifi-iface'),
- tasks = [];
-
- for (var i = 0; i &lt; uciWifiIfaces.length; i++)
- if (uciWifiIfaces[i].device == this.sid)
- tasks.push(L.network.getWifiNetwork(uciWifiIfaces[i]['.name']));
-
- return Promise.all(tasks);
- },
-
- /**
- * Adds a new wireless network associated with this radio device to the
- * configuration and sets its options to the provided values.
- *
- * @param {Object&lt;string, string|string[]>} [options]
- * The options to set for the newly added wireless network.
- *
- * @returns {Promise&lt;null|LuCI.Network.WifiNetwork>}
- * Returns a promise resolving to a `WifiNetwork` instance describing
- * the newly added wireless network or `null` if the given options
- * were invalid.
- */
- addWifiNetwork: function(options) {
- if (!L.isObject(options))
- options = {};
-
- options.device = this.sid;
-
- return L.network.addWifiNetwork(options);
- },
-
- /**
- * Deletes the wireless network with the given name associated with this
- * radio device.
- *
- * @param {string} network
- * The name of the wireless network to lookup. This may be either an uci
- * configuration section ID, a network ID in the form `radio#.network#`
- * or a Linux network device name like `wlan0` which is resolved to the
- * corresponding configuration section through `ubus` runtime information.
- *
- * @returns {Promise&lt;boolean>}
- * Returns a promise resolving to `true` when the wireless network was
- * successfully deleted from the configuration or `false` when the given
- * network could not be found or if the found network was not associated
- * with this wireless radio device.
- */
- deleteWifiNetwork: function(network) {
- var sid = null;
-
- if (network instanceof WifiNetwork) {
- sid = network.sid;
- }
- else {
- var uciWifiIface = uci.get('wireless', network);
-
- if (uciWifiIface == null || uciWifiIface['.type'] != 'wifi-iface')
- sid = getWifiSidByIfname(network);
- }
-
- if (sid == null || uci.get('wireless', sid, 'device') != this.sid)
- return Promise.resolve(false);
-
- uci.delete('wireless', network);
-
- return Promise.resolve(true);
- }
-});
-
-/**
- * @class
- * @memberof LuCI.Network
- * @hideconstructor
- * @classdesc
- *
- * A `Network.WifiNetwork` instance represents a wireless network (vif)
- * configured on top of a radio device and provides functions for querying
- * the runtime state of the network. Most radio devices support multiple
- * such networks in parallel.
- */
-WifiNetwork = L.Class.extend(/** @lends LuCI.Network.WifiNetwork.prototype */ {
- __init__: function(sid, radioname, radiostate, netid, netstate) {
- this.sid = sid;
- this.netid = netid;
- this._ubusdata = {
- radio: radioname,
- dev: radiostate,
- net: netstate
- };
- },
-
- ubus: function(/* ... */) {
- var v = this._ubusdata;
-
- for (var i = 0; i &lt; arguments.length; i++)
- if (L.isObject(v))
- v = v[arguments[i]];
- else
- return null;
-
- return v;
- },
-
- /**
- * Read the given UCI option value of this wireless network.
- *
- * @param {string} opt
- * The UCI option name to read.
- *
- * @returns {null|string|string[]}
- * Returns the UCI option value or `null` if the requested option is
- * not found.
- */
- get: function(opt) {
- return uci.get('wireless', this.sid, opt);
- },
-
- /**
- * Set the given UCI option of this network to the given value.
- *
- * @param {string} opt
- * The name of the UCI option to set.
- *
- * @param {null|string|string[]} val
- * The value to set or `null` to remove the given option from the
- * configuration.
- */
- set: function(opt, value) {
- return uci.set('wireless', this.sid, opt, value);
- },
-
- /**
- * Checks whether this wireless network is disabled.
- *
- * @returns {boolean}
- * Returns `true` when the wireless radio is marked as disabled in `ubus`
- * runtime state or when the `disabled` option is set in the corresponding
- * UCI configuration.
- */
- isDisabled: function() {
- return this.ubus('dev', 'disabled') || this.get('disabled') == '1';
- },
-
- /**
- * Get the configured operation mode of the wireless network.
- *
- * @returns {string}
- * Returns the configured operation mode. Possible values are:
- * - `ap` - Master (Access Point) mode
- * - `sta` - Station (client) mode
- * - `adhoc` - Ad-Hoc (IBSS) mode
- * - `mesh` - Mesh (IEEE 802.11s) mode
- * - `monitor` - Monitor mode
- */
- getMode: function() {
- return this.ubus('net', 'config', 'mode') || this.get('mode') || 'ap';
- },
-
- /**
- * Get the configured SSID of the wireless network.
- *
- * @returns {null|string}
- * Returns the configured SSID value or `null` when this network is
- * in mesh mode.
- */
- getSSID: function() {
- if (this.getMode() == 'mesh')
- return null;
-
- return this.ubus('net', 'config', 'ssid') || this.get('ssid');
- },
-
- /**
- * Get the configured Mesh ID of the wireless network.
- *
- * @returns {null|string}
- * Returns the configured mesh ID value or `null` when this network
- * is not in mesh mode.
- */
- getMeshID: function() {
- if (this.getMode() != 'mesh')
- return null;
-
- return this.ubus('net', 'config', 'mesh_id') || this.get('mesh_id');
- },
-
- /**
- * Get the configured BSSID of the wireless network.
- *
- * @returns {null|string}
- * Returns the BSSID value or `null` if none has been specified.
- */
- getBSSID: function() {
- return this.ubus('net', 'config', 'bssid') || this.get('bssid');
- },
-
- /**
- * Get the names of the logical interfaces this wireless network is
- * attached to.
- *
- * @returns {string[]}
- * Returns an array of logical interface names.
- */
- getNetworkNames: function() {
- return L.toArray(this.ubus('net', 'config', 'network') || this.get('network'));
- },
-
- /**
- * Get the internal network ID of this wireless network.
- *
- * The network ID is a LuCI specific identifer in the form
- * `radio#.network#` to identify wireless networks by their corresponding
- * radio and network index numbers.
- *
- * @returns {string}
- * Returns the LuCI specific network ID.
- */
- getID: function() {
- return this.netid;
- },
-
- /**
- * Get the configuration ID of this wireless network.
- *
- * @returns {string}
- * Returns the corresponding UCI section ID of the network.
- */
- getName: function() {
- return this.sid;
- },
-
- /**
- * Get the Linux network device name.
- *
- * @returns {null|string}
- * Returns the current Linux network device name as resolved from
- * `ubus` runtime information or `null` if this network has no
- * associated network device, e.g. when not configured or up.
- */
- getIfname: function() {
- var ifname = this.ubus('net', 'ifname') || this.ubus('net', 'iwinfo', 'ifname');
-
- if (ifname == null || ifname.match(/^(wifi|radio)\d/))
- ifname = this.netid;
-
- return ifname;
- },
-
- /**
- * Get the name of the corresponding wifi radio device.
- *
- * @returns {null|string}
- * Returns the name of the radio device this network is configured on
- * or `null` if it cannot be determined.
- */
- getWifiDeviceName: function() {
- return this.ubus('radio') || this.get('device');
- },
-
- /**
- * Get the corresponding wifi radio device.
- *
- * @returns {null|LuCI.Network.WifiDevice}
- * Returns a `Network.WifiDevice` instance representing the corresponding
- * wifi radio device or `null` if the related radio device could not be
- * found.
- */
- getWifiDevice: function() {
- var radioname = this.getWifiDeviceName();
-
- if (radioname == null)
- return Promise.reject();
-
- return L.network.getWifiDevice(radioname);
- },
-
- /**
- * Check whether the radio network is up.
- *
- * This function actually queries the up state of the related radio
- * device and assumes this network to be up as well when the parent
- * radio is up. This is due to the fact that OpenWrt does not control
- * virtual interfaces individually but within one common hostapd
- * instance.
- *
- * @returns {boolean}
- * Returns `true` when the network is up, else `false`.
- */
- isUp: function() {
- var device = this.getDevice();
-
- if (device == null)
- return false;
-
- return device.isUp();
- },
-
- /**
- * Query the current operation mode from runtime information.
- *
- * @returns {string}
- * Returns the human readable mode name as reported by `ubus` runtime
- * state. Possible returned values are:
- * - `Master`
- * - `Ad-Hoc`
- * - `Client`
- * - `Monitor`
- * - `Master (VLAN)`
- * - `WDS`
- * - `Mesh Point`
- * - `P2P Client`
- * - `P2P Go`
- * - `Unknown`
- */
- getActiveMode: function() {
- var mode = this.ubus('net', 'iwinfo', 'mode') || this.ubus('net', 'config', 'mode') || this.get('mode') || 'ap';
-
- switch (mode) {
- case 'ap': return 'Master';
- case 'sta': return 'Client';
- case 'adhoc': return 'Ad-Hoc';
- case 'mesh': return 'Mesh';
- case 'monitor': return 'Monitor';
- default: return mode;
- }
- },
-
- /**
- * Query the current operation mode from runtime information as
- * translated string.
- *
- * @returns {string}
- * Returns the translated, human readable mode name as reported by
- *`ubus` runtime state.
- */
- getActiveModeI18n: function() {
- var mode = this.getActiveMode();
-
- switch (mode) {
- case 'Master': return _('Master');
- case 'Client': return _('Client');
- case 'Ad-Hoc': return _('Ad-Hoc');
- case 'Mash': return _('Mesh');
- case 'Monitor': return _('Monitor');
- default: return mode;
- }
- },
-
- /**
- * Query the current SSID from runtime information.
- *
- * @returns {string}
- * Returns the current SSID or Mesh ID as reported by `ubus` runtime
- * information.
- */
- getActiveSSID: function() {
- return this.ubus('net', 'iwinfo', 'ssid') || this.ubus('net', 'config', 'ssid') || this.get('ssid');
- },
-
- /**
- * Query the current BSSID from runtime information.
- *
- * @returns {string}
- * Returns the current BSSID or Mesh ID as reported by `ubus` runtime
- * information.
- */
- getActiveBSSID: function() {
- return this.ubus('net', 'iwinfo', 'bssid') || this.ubus('net', 'config', 'bssid') || this.get('bssid');
- },
-
- /**
- * Query the current encryption settings from runtime information.
- *
- * @returns {string}
- * Returns a string describing the current encryption or `-` if the the
- * encryption state could not be found in `ubus` runtime information.
- */
- getActiveEncryption: function() {
- return formatWifiEncryption(this.ubus('net', 'iwinfo', 'encryption')) || '-';
- },
-
- /**
- * A wireless peer entry describes the properties of a remote wireless
- * peer associated with a local network.
- *
- * @typedef {Object&lt;string, boolean|number|string|LuCI.Network.WifiRateEntry>} WifiPeerEntry
- * @memberof LuCI.Network
- *
- * @property {string} mac
- * The MAC address (BSSID).
- *
- * @property {number} signal
- * The received signal strength.
- *
- * @property {number} [signal_avg]
- * The average signal strength if supported by the driver.
- *
- * @property {number} [noise]
- * The current noise floor of the radio. May be `0` or absent if not
- * supported by the driver.
- *
- * @property {number} inactive
- * The amount of milliseconds the peer has been inactive, e.g. due
- * to powersave.
- *
- * @property {number} connected_time
- * The amount of milliseconds the peer is associated to this network.
- *
- * @property {number} [thr]
- * The estimated throughput of the peer, May be `0` or absent if not
- * supported by the driver.
- *
- * @property {boolean} authorized
- * Specifies whether the peer is authorized to associate to this network.
- *
- * @property {boolean} authenticated
- * Specifies whether the peer completed authentication to this network.
- *
- * @property {string} preamble
- * The preamble mode used by the peer. May be `long` or `short`.
- *
- * @property {boolean} wme
- * Specifies whether the peer supports WME/WMM capabilities.
- *
- * @property {boolean} mfp
- * Specifies whether management frame protection is active.
- *
- * @property {boolean} tdls
- * Specifies whether TDLS is active.
- *
- * @property {number} [mesh llid]
- * The mesh LLID, may be `0` or absent if not applicable or supported
- * by the driver.
- *
- * @property {number} [mesh plid]
- * The mesh PLID, may be `0` or absent if not applicable or supported
- * by the driver.
- *
- * @property {string} [mesh plink]
- * The mesh peer link state description, may be an empty string (`''`)
- * or absent if not applicable or supported by the driver.
- *
- * The following states are known:
- * - `LISTEN`
- * - `OPN_SNT`
- * - `OPN_RCVD`
- * - `CNF_RCVD`
- * - `ESTAB`
- * - `HOLDING`
- * - `BLOCKED`
- * - `UNKNOWN`
- *
- * @property {number} [mesh local PS]
- * The local powersafe mode for the peer link, may be an empty
- * string (`''`) or absent if not applicable or supported by
- * the driver.
- *
- * The following modes are known:
- * - `ACTIVE` (no power save)
- * - `LIGHT SLEEP`
- * - `DEEP SLEEP`
- * - `UNKNOWN`
- *
- * @property {number} [mesh peer PS]
- * The remote powersafe mode for the peer link, may be an empty
- * string (`''`) or absent if not applicable or supported by
- * the driver.
- *
- * The following modes are known:
- * - `ACTIVE` (no power save)
- * - `LIGHT SLEEP`
- * - `DEEP SLEEP`
- * - `UNKNOWN`
- *
- * @property {number} [mesh non-peer PS]
- * The powersafe mode for all non-peer neigbours, may be an empty
- * string (`''`) or absent if not applicable or supported by the driver.
- *
- * The following modes are known:
- * - `ACTIVE` (no power save)
- * - `LIGHT SLEEP`
- * - `DEEP SLEEP`
- * - `UNKNOWN`
- *
- * @property {LuCI.Network.WifiRateEntry} rx
- * Describes the receiving wireless rate from the peer.
- *
- * @property {LuCI.Network.WifiRateEntry} tx
- * Describes the transmitting wireless rate to the peer.
- */
-
- /**
- * A wireless rate entry describes the properties of a wireless
- * transmission rate to or from a peer.
- *
- * @typedef {Object&lt;string, boolean|number>} WifiRateEntry
- * @memberof LuCI.Network
- *
- * @property {number} [drop_misc]
- * The amount of received misc. packages that have been dropped, e.g.
- * due to corruption or missing authentication. Only applicable to
- * receiving rates.
- *
- * @property {number} packets
- * The amount of packets that have been received or sent.
- *
- * @property {number} bytes
- * The amount of bytes that have been received or sent.
- *
- * @property {number} [failed]
- * The amount of failed tranmission attempts. Only applicable to
- * transmit rates.
- *
- * @property {number} [retries]
- * The amount of retried transmissions. Only applicable to transmit
- * rates.
- *
- * @property {boolean} is_ht
- * Specifies whether this rate is an HT (IEEE 802.11n) rate.
- *
- * @property {boolean} is_vht
- * Specifies whether this rate is an VHT (IEEE 802.11ac) rate.
- *
- * @property {number} mhz
- * The channel width in MHz used for the transmission.
- *
- * @property {number} rate
- * The bitrate in bit/s of the transmission.
- *
- * @property {number} [mcs]
- * The MCS index of the used transmission rate. Only applicable to
- * HT or VHT rates.
- *
- * @property {number} [40mhz]
- * Specifies whether the tranmission rate used 40MHz wide channel.
- * Only applicable to HT or VHT rates.
- *
- * Note: this option exists for backwards compatibility only and its
- * use is discouraged. The `mhz` field should be used instead to
- * determine the channel width.
- *
- * @property {boolean} [short_gi]
- * Specifies whether a short guard interval is used for the transmission.
- * Only applicable to HT or VHT rates.
- *
- * @property {number} [nss]
- * Specifies the number of spatial streams used by the transmission.
- * Only applicable to VHT rates.
- */
-
- /**
- * Fetch the list of associated peers.
- *
- * @returns {Promise&lt;Array&lt;LuCI.Network.WifiPeerEntry>>}
- * Returns a promise resolving to an array of wireless peers associated
- * with this network.
- */
- getAssocList: function() {
- return callIwinfoAssoclist(this.getIfname());
- },
-
- /**
- * Query the current operating frequency of the wireless network.
- *
- * @returns {null|string}
- * Returns the current operating frequency of the network from `ubus`
- * runtime information in GHz or `null` if the information is not
- * available.
- */
- getFrequency: function() {
- var freq = this.ubus('net', 'iwinfo', 'frequency');
-
- if (freq != null &amp;&amp; freq > 0)
- return '%.03f'.format(freq / 1000);
-
- return null;
- },
-
- /**
- * Query the current average bitrate of all peers associated to this
- * wireless network.
- *
- * @returns {null|number}
- * Returns the average bit rate among all peers associated to the network
- * as reported by `ubus` runtime information or `null` if the information
- * is not available.
- */
- getBitRate: function() {
- var rate = this.ubus('net', 'iwinfo', 'bitrate');
-
- if (rate != null &amp;&amp; rate > 0)
- return (rate / 1000);
-
- return null;
- },
-
- /**
- * Query the current wireless channel.
- *
- * @returns {null|number}
- * Returns the wireless channel as reported by `ubus` runtime information
- * or `null` if it cannot be determined.
- */
- getChannel: function() {
- return this.ubus('net', 'iwinfo', 'channel') || this.ubus('dev', 'config', 'channel') || this.get('channel');
- },
-
- /**
- * Query the current wireless signal.
- *
- * @returns {null|number}
- * Returns the wireless signal in dBm as reported by `ubus` runtime
- * information or `null` if it cannot be determined.
- */
- getSignal: function() {
- return this.ubus('net', 'iwinfo', 'signal') || 0;
- },
-
- /**
- * Query the current radio noise floor.
- *
- * @returns {number}
- * Returns the radio noise floor in dBm as reported by `ubus` runtime
- * information or `0` if it cannot be determined.
- */
- getNoise: function() {
- return this.ubus('net', 'iwinfo', 'noise') || 0;
- },
-
- /**
- * Query the current country code.
- *
- * @returns {string}
- * Returns the wireless country code as reported by `ubus` runtime
- * information or `00` if it cannot be determined.
- */
- getCountryCode: function() {
- return this.ubus('net', 'iwinfo', 'country') || this.ubus('dev', 'config', 'country') || '00';
- },
-
- /**
- * Query the current radio TX power.
- *
- * @returns {null|number}
- * Returns the wireless network transmit power in dBm as reported by
- * `ubus` runtime information or `null` if it cannot be determined.
- */
- getTXPower: function() {
- return this.ubus('net', 'iwinfo', 'txpower');
- },
-
- /**
- * Query the radio TX power offset.
- *
- * Some wireless radios have a fixed power offset, e.g. due to the
- * use of external amplifiers.
- *
- * @returns {number}
- * Returns the wireless network transmit power offset in dBm as reported
- * by `ubus` runtime information or `0` if there is no offset, or if it
- * cannot be determined.
- */
- getTXPowerOffset: function() {
- return this.ubus('net', 'iwinfo', 'txpower_offset') || 0;
- },
-
- /**
- * Calculate the current signal.
- *
- * @deprecated
- * @returns {number}
- * Returns the calculated signal level, which is the difference between
- * noise and signal (SNR), divided by 5.
- */
- getSignalLevel: function(signal, noise) {
- if (this.getActiveBSSID() == '00:00:00:00:00:00')
- return -1;
-
- signal = signal || this.getSignal();
- noise = noise || this.getNoise();
-
- if (signal &lt; 0 &amp;&amp; noise &lt; 0) {
- var snr = -1 * (noise - signal);
- return Math.floor(snr / 5);
- }
-
- return 0;
- },
-
- /**
- * Calculate the current signal quality percentage.
- *
- * @returns {number}
- * Returns the calculated signal quality in percent. The value is
- * calculated from the `quality` and `quality_max` indicators reported
- * by `ubus` runtime state.
- */
- getSignalPercent: function() {
- var qc = this.ubus('net', 'iwinfo', 'quality') || 0,
- qm = this.ubus('net', 'iwinfo', 'quality_max') || 0;
-
- if (qc > 0 &amp;&amp; qm > 0)
- return Math.floor((100 / qm) * qc);
-
- return 0;
- },
-
- /**
- * Get a short description string for this wireless network.
- *
- * @returns {string}
- * Returns a string describing this network, consisting of the
- * active operation mode, followed by either the SSID, BSSID or
- * internal network ID, depending on which information is available.
- */
- getShortName: function() {
- return '%s "%s"'.format(
- this.getActiveModeI18n(),
- this.getActiveSSID() || this.getActiveBSSID() || this.getID());
- },
-
- /**
- * Get a description string for this wireless network.
- *
- * @returns {string}
- * Returns a string describing this network, consisting of the
- * term `Wireless Network`, followed by the active operation mode,
- * the SSID, BSSID or internal network ID and the Linux network device
- * name, depending on which information is available.
- */
- getI18n: function() {
- return '%s: %s "%s" (%s)'.format(
- _('Wireless Network'),
- this.getActiveModeI18n(),
- this.getActiveSSID() || this.getActiveBSSID() || this.getID(),
- this.getIfname());
- },
-
- /**
- * Get the primary logical interface this wireless network is attached to.
- *
- * @returns {null|LuCI.Network.Protocol}
- * Returns a `Network.Protocol` instance representing the logical
- * interface or `null` if this network is not attached to any logical
- * interface.
- */
- getNetwork: function() {
- return this.getNetworks()[0];
- },
-
- /**
- * Get the logical interfaces this wireless network is attached to.
- *
- * @returns {Array&lt;LuCI.Network.Protocol>}
- * Returns an array of `Network.Protocol` instances representing the
- * logical interfaces this wireless network is attached to.
- */
- getNetworks: function() {
- var networkNames = this.getNetworkNames(),
- networks = [];
-
- for (var i = 0; i &lt; networkNames.length; i++) {
- var uciInterface = uci.get('network', networkNames[i]);
-
- if (uciInterface == null || uciInterface['.type'] != 'interface')
- continue;
-
- networks.push(L.network.instantiateNetwork(networkNames[i]));
- }
-
- networks.sort(networkSort);
-
- return networks;
- },
-
- /**
- * Get the associated Linux network device.
- *
- * @returns {LuCI.Network.Device}
- * Returns a `Network.Device` instance representing the Linux network
- * device associted with this wireless network.
- */
- getDevice: function() {
- return L.network.instantiateDevice(this.getIfname());
- }
-});
-
-return Network;
-</code></pre>
- </article>
- </section>
-
-
-
-
-</div>
-
-<nav>
- <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="LuCI.html">LuCI</a></li><li><a href="LuCI.Class.html">Class</a></li><li><a href="LuCI.dom.html">dom</a></li><li><a href="LuCI.fs.html">fs</a></li><li><a href="LuCI.Headers.html">Headers</a></li><li><a href="LuCI.Network.html">Network</a></li><li><a href="LuCI.Network.Device.html">Device</a></li><li><a href="LuCI.Network.Hosts.html">Hosts</a></li><li><a href="LuCI.Network.Protocol.html">Protocol</a></li><li><a href="LuCI.Network.WifiDevice.html">WifiDevice</a></li><li><a href="LuCI.Network.WifiNetwork.html">WifiNetwork</a></li><li><a href="LuCI.Poll.html">Poll</a></li><li><a href="LuCI.Request.html">Request</a></li><li><a href="LuCI.Request.poll.html">poll</a></li><li><a href="LuCI.Response.html">Response</a></li><li><a href="LuCI.rpc.html">rpc</a></li><li><a href="LuCI.uci.html">uci</a></li><li><a href="LuCI.view.html">view</a></li><li><a href="LuCI.XHR.html">XHR</a></li></ul>
-</nav>
-
-<br class="clear">
-
-<footer>
- Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.3</a> on Tue Nov 05 2019 09:33:05 GMT+0100 (Central European Standard Time)
-</footer>
-
-<script> prettyPrint(); </script>
-<script src="scripts/linenumber.js"> </script>
-</body>
-</html>
diff --git a/documentation/jsapi/rpc.js.html b/documentation/jsapi/rpc.js.html
deleted file mode 100644
index ca068f31b6..0000000000
--- a/documentation/jsapi/rpc.js.html
+++ /dev/null
@@ -1,528 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta charset="utf-8">
- <title>JSDoc: Source: rpc.js</title>
-
- <script src="scripts/prettify/prettify.js"> </script>
- <script src="scripts/prettify/lang-css.js"> </script>
- <!--[if lt IE 9]>
- <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
- <![endif]-->
- <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
- <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
-</head>
-
-<body>
-
-<div id="main">
-
- <h1 class="page-title">Source: rpc.js</h1>
-
-
-
-
-
-
- <section>
- <article>
- <pre class="prettyprint source linenums"><code>'use strict';
-
-var rpcRequestID = 1,
- rpcSessionID = L.env.sessionid || '00000000000000000000000000000000',
- rpcBaseURL = L.url('admin/ubus'),
- rpcInterceptorFns = [];
-
-/**
- * @class rpc
- * @memberof LuCI
- * @hideconstructor
- * @classdesc
- *
- * The `LuCI.rpc` class provides high level ubus JSON-RPC abstractions
- * and means for listing and invoking remove RPC methods.
- */
-return L.Class.extend(/** @lends LuCI.rpc.prototype */ {
- /* privates */
- call: function(req, cb, nobatch) {
- var q = '';
-
- if (Array.isArray(req)) {
- if (req.length == 0)
- return Promise.resolve([]);
-
- for (var i = 0; i &lt; req.length; i++)
- if (req[i].params)
- q += '%s%s.%s'.format(
- q ? ';' : '/',
- req[i].params[1],
- req[i].params[2]
- );
- }
- else if (req.params) {
- q += '/%s.%s'.format(req.params[1], req.params[2]);
- }
-
- return L.Request.post(rpcBaseURL + q, req, {
- timeout: (L.env.rpctimeout || 20) * 1000,
- nobatch: nobatch,
- credentials: true
- }).then(cb, cb);
- },
-
- parseCallReply: function(req, res) {
- var msg = null;
-
- if (res instanceof Error)
- return req.reject(res);
-
- try {
- if (!res.ok)
- L.raise('RPCError', 'RPC call to %s/%s failed with HTTP error %d: %s',
- req.object, req.method, res.status, res.statusText || '?');
-
- msg = res.json();
- }
- catch (e) {
- return req.reject(e);
- }
-
- /*
- * The interceptor args are intentionally swapped.
- * Response is passed as first arg to align with Request class interceptors
- */
- Promise.all(rpcInterceptorFns.map(function(fn) { return fn(msg, req) }))
- .then(this.handleCallReply.bind(this, req, msg))
- .catch(req.reject);
- },
-
- handleCallReply: function(req, msg) {
- var type = Object.prototype.toString,
- ret = null;
-
- try {
- /* verify message frame */
- if (!L.isObject(msg) || msg.jsonrpc != '2.0')
- L.raise('RPCError', 'RPC call to %s/%s returned invalid message frame',
- req.object, req.method);
-
- /* check error condition */
- if (L.isObject(msg.error) &amp;&amp; msg.error.code &amp;&amp; msg.error.message)
- L.raise('RPCError', 'RPC call to %s/%s failed with error %d: %s',
- req.object, req.method, msg.error.code, msg.error.message || '?');
- }
- catch (e) {
- return req.reject(e);
- }
-
- if (!req.object &amp;&amp; !req.method) {
- ret = msg.result;
- }
- else if (Array.isArray(msg.result)) {
- ret = (msg.result.length > 1) ? msg.result[1] : msg.result[0];
- }
-
- if (req.expect) {
- for (var key in req.expect) {
- if (ret != null &amp;&amp; key != '')
- ret = ret[key];
-
- if (ret == null || type.call(ret) != type.call(req.expect[key]))
- ret = req.expect[key];
-
- break;
- }
- }
-
- /* apply filter */
- if (typeof(req.filter) == 'function') {
- req.priv[0] = ret;
- req.priv[1] = req.params;
- ret = req.filter.apply(this, req.priv);
- }
-
- req.resolve(ret);
- },
-
- /**
- * Lists available remote ubus objects or the method signatures of
- * specific objects.
- *
- * This function has two signatures and is sensitive to the number of
- * arguments passed to it:
- * - `list()` -
- * Returns an array containing the names of all remote `ubus` objects
- * - `list("objname", ...)`
- * Returns method signatures for each given `ubus` object name.
- *
- * @param {...string} [objectNames]
- * If any object names are given, this function will return the method
- * signatures of each given object.
- *
- * @returns {Promise&lt;Array&lt;string>|Object&lt;string, Object&lt;string, Object&lt;string, string>>>>}
- * When invoked without arguments, this function will return a promise
- * resolving to an array of `ubus` object names. When invoked with one or
- * more arguments, a promise resolving to an object describing the method
- * signatures of each requested `ubus` object name will be returned.
- */
- list: function() {
- var msg = {
- jsonrpc: '2.0',
- id: rpcRequestID++,
- method: 'list',
- params: arguments.length ? this.varargs(arguments) : undefined
- };
-
- return new Promise(L.bind(function(resolveFn, rejectFn) {
- /* store request info */
- var req = {
- resolve: resolveFn,
- reject: rejectFn
- };
-
- /* call rpc */
- this.call(msg, this.parseCallReply.bind(this, req));
- }, this));
- },
-
- /**
- * @typedef {Object} DeclareOptions
- * @memberof LuCI.rpc
- *
- * @property {string} object
- * The name of the remote `ubus` object to invoke.
- *
- * @property {string} method
- * The name of the remote `ubus` method to invoke.
- *
- * @property {string[]} [params]
- * Lists the named parameters expected by the remote `ubus` RPC method.
- * The arguments passed to the resulting generated method call function
- * will be mapped to named parameters in the order they appear in this
- * array.
- *
- * Extraneous parameters passed to the generated function will not be
- * sent to the remote procedure but are passed to the
- * {@link LuCI.rpc~filterFn filter function} if one is specified.
- *
- * Examples:
- * - `params: [ "foo", "bar" ]` -
- * When the resulting call function is invoked with `fn(true, false)`,
- * the corresponding args object sent to the remote procedure will be
- * `{ foo: true, bar: false }`.
- * - `params: [ "test" ], filter: function(reply, args, extra) { ... }` -
- * When the resultung generated function is invoked with
- * `fn("foo", "bar", "baz")` then `{ "test": "foo" }` will be sent as
- * argument to the remote procedure and the filter function will be
- * invoked with `filterFn(reply, [ "foo" ], "bar", "baz")`
- *
- * @property {Object&lt;string,*>} [expect]
- * Describes the expected return data structure. The given object is
- * supposed to contain a single key selecting the value to use from
- * the returned `ubus` reply object. The value of the sole key within
- * the `expect` object is used to infer the expected type of the received
- * `ubus` reply data.
- *
- * If the received data does not contain `expect`'s key, or if the
- * type of the data differs from the type of the value in the expect
- * object, the expect object's value is returned as default instead.
- *
- * The key in the `expect` object may be an empty string (`''`) in which
- * case the entire reply object is selected instead of one of its subkeys.
- *
- * If the `expect` option is omitted, the received reply will be returned
- * as-is, regardless of its format or type.
- *
- * Examples:
- * - `expect: { '': { error: 'Invalid response' } }` -
- * This requires the entire `ubus` reply to be a plain JavaScript
- * object. If the reply isn't an object but e.g. an array or a numeric
- * error code instead, it will get replaced with
- * `{ error: 'Invalid response' }` instead.
- * - `expect: { results: [] }` -
- * This requires the received `ubus` reply to be an object containing
- * a key `results` with an array as value. If the received reply does
- * not contain such a key, or if `reply.results` points to a non-array
- * value, the empty array (`[]`) will be used instead.
- * - `expect: { success: false }` -
- * This requires the received `ubus` reply to be an object containing
- * a key `success` with a boolean value. If the reply does not contain
- * `success` or if `reply.success` is not a boolean value, `false` will
- * be returned as default instead.
- *
- * @property {LuCI.rpc~filterFn} [filter]
- * Specfies an optional filter function which is invoked to transform the
- * received reply data before it is returned to the caller.
- *
- */
-
- /**
- * The filter function is invoked to transform a received `ubus` RPC call
- * reply before returning it to the caller.
- *
- * @callback LuCI.rpc~filterFn
- *
- * @param {*} data
- * The received `ubus` reply data or a subset of it as described in the
- * `expect` option of the RPC call declaration. In case of remote call
- * errors, `data` is numeric `ubus` error code instead.
- *
- * @param {Array&lt;*>} args
- * The arguments the RPC method has been invoked with.
- *
- * @param {...*} extraArgs
- * All extraneous arguments passed to the RPC method exceeding the number
- * of arguments describes in the RPC call declaration.
- *
- * @return {*}
- * The return value of the filter function will be returned to the caller
- * of the RPC method as-is.
- */
-
- /**
- * The generated invocation function is returned by
- * {@link LuCI.rpc#declare rpc.declare()} and encapsulates a single
- * RPC method call.
- *
- * Calling this function will execute a remote `ubus` HTTP call request
- * using the arguments passed to it as arguments and return a promise
- * resolving to the received reply values.
- *
- * @callback LuCI.rpc~invokeFn
- *
- * @param {...*} params
- * The parameters to pass to the remote procedure call. The given
- * positional arguments will be named to named RPC parameters according
- * to the names specified in the `params` array of the method declaration.
- *
- * Any additional parameters exceeding the amount of arguments in the
- * `params` declaration are passed as private extra arguments to the
- * declared filter function.
- *
- * @return {Promise&lt;*>}
- * Returns a promise resolving to the result data of the remote `ubus`
- * RPC method invocation, optionally substituted and filtered according
- * to the `expect` and `filter` declarations.
- */
-
- /**
- * Describes a remote RPC call procedure and returns a function
- * implementing it.
- *
- * @param {LuCI.rpc.DeclareOptions} options
- * If any object names are given, this function will return the method
- * signatures of each given object.
- *
- * @returns {LuCI.rpc~invokeFn}
- * Returns a new function implementing the method call described in
- * `options`.
- */
- declare: function(options) {
- return Function.prototype.bind.call(function(rpc, options) {
- var args = this.varargs(arguments, 2);
- return new Promise(function(resolveFn, rejectFn) {
- /* build parameter object */
- var p_off = 0;
- var params = { };
- if (Array.isArray(options.params))
- for (p_off = 0; p_off &lt; options.params.length; p_off++)
- params[options.params[p_off]] = args[p_off];
-
- /* all remaining arguments are private args */
- var priv = [ undefined, undefined ];
- for (; p_off &lt; args.length; p_off++)
- priv.push(args[p_off]);
-
- /* store request info */
- var req = {
- expect: options.expect,
- filter: options.filter,
- resolve: resolveFn,
- reject: rejectFn,
- params: params,
- priv: priv,
- object: options.object,
- method: options.method
- };
-
- /* build message object */
- var msg = {
- jsonrpc: '2.0',
- id: rpcRequestID++,
- method: 'call',
- params: [
- rpcSessionID,
- options.object,
- options.method,
- params
- ]
- };
-
- /* call rpc */
- rpc.call(msg, rpc.parseCallReply.bind(rpc, req), options.nobatch);
- });
- }, this, this, options);
- },
-
- /**
- * Returns the current RPC session id.
- *
- * @returns {string}
- * Returns the 32 byte session ID string used for authenticating remote
- * requests.
- */
- getSessionID: function() {
- return rpcSessionID;
- },
-
- /**
- * Set the RPC session id to use.
- *
- * @param {string} sid
- * Sets the 32 byte session ID string used for authenticating remote
- * requests.
- */
- setSessionID: function(sid) {
- rpcSessionID = sid;
- },
-
- /**
- * Returns the current RPC base URL.
- *
- * @returns {string}
- * Returns the RPC URL endpoint to issue requests against.
- */
- getBaseURL: function() {
- return rpcBaseURL;
- },
-
- /**
- * Set the RPC base URL to use.
- *
- * @param {string} sid
- * Sets the RPC URL endpoint to issue requests against.
- */
- setBaseURL: function(url) {
- rpcBaseURL = url;
- },
-
- /**
- * Translates a numeric `ubus` error code into a human readable
- * description.
- *
- * @param {number} statusCode
- * The numeric status code.
- *
- * @returns {string}
- * Returns the textual description of the code.
- */
- getStatusText: function(statusCode) {
- switch (statusCode) {
- case 0: return _('Command OK');
- case 1: return _('Invalid command');
- case 2: return _('Invalid argument');
- case 3: return _('Method not found');
- case 4: return _('Resource not found');
- case 5: return _('No data received');
- case 6: return _('Permission denied');
- case 7: return _('Request timeout');
- case 8: return _('Not supported');
- case 9: return _('Unspecified error');
- case 10: return _('Connection lost');
- default: return _('Unknown error code');
- }
- },
-
- /**
- * Registered interceptor functions are invoked before the standard reply
- * parsing and handling logic.
- *
- * By returning rejected promises, interceptor functions can cause the
- * invocation function to fail, regardless of the received reply.
- *
- * Interceptors may also modify their message argument in-place to
- * rewrite received replies before they're processed by the standard
- * response handling code.
- *
- * A common use case for such functions is to detect failing RPC replies
- * due to expired authentication in order to trigger a new login.
- *
- * @callback LuCI.rpc~interceptorFn
- *
- * @param {*} msg
- * The unprocessed, JSON decoded remote RPC method call reply.
- *
- * Since interceptors run before the standard parsing logic, the reply
- * data is not verified for correctness or filtered according to
- * `expect` and `filter` specifications in the declarations.
- *
- * @param {Object} req
- * The related request object which is an extended variant of the
- * declaration object, allowing access to internals of the invocation
- * function such as `filter`, `expect` or `params` values.
- *
- * @return {Promise&lt;*>|*}
- * Interceptor functions may return a promise to defer response
- * processing until some delayed work completed. Any values the returned
- * promise resolves to are ignored.
- *
- * When the returned promise rejects with an error, the invocation
- * function will fail too, forwarding the error to the caller.
- */
-
- /**
- * Registers a new interceptor function.
- *
- * @param {LuCI.rpc~interceptorFn} interceptorFn
- * The inteceptor function to register.
- *
- * @returns {LuCI.rpc~interceptorFn}
- * Returns the given function value.
- */
- addInterceptor: function(interceptorFn) {
- if (typeof(interceptorFn) == 'function')
- rpcInterceptorFns.push(interceptorFn);
- return interceptorFn;
- },
-
- /**
- * Removes a registered interceptor function.
- *
- * @param {LuCI.rpc~interceptorFn} interceptorFn
- * The inteceptor function to remove.
- *
- * @returns {boolean}
- * Returns `true` if the given function has been removed or `false`
- * if it has not been found.
- */
- removeInterceptor: function(interceptorFn) {
- var oldlen = rpcInterceptorFns.length, i = oldlen;
- while (i--)
- if (rpcInterceptorFns[i] === interceptorFn)
- rpcInterceptorFns.splice(i, 1);
- return (rpcInterceptorFns.length &lt; oldlen);
- }
-});
-</code></pre>
- </article>
- </section>
-
-
-
-
-</div>
-
-<nav>
- <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="LuCI.html">LuCI</a></li><li><a href="LuCI.Class.html">Class</a></li><li><a href="LuCI.dom.html">dom</a></li><li><a href="LuCI.fs.html">fs</a></li><li><a href="LuCI.Headers.html">Headers</a></li><li><a href="LuCI.Network.html">Network</a></li><li><a href="LuCI.Network.Device.html">Device</a></li><li><a href="LuCI.Network.Hosts.html">Hosts</a></li><li><a href="LuCI.Network.Protocol.html">Protocol</a></li><li><a href="LuCI.Network.WifiDevice.html">WifiDevice</a></li><li><a href="LuCI.Network.WifiNetwork.html">WifiNetwork</a></li><li><a href="LuCI.Poll.html">Poll</a></li><li><a href="LuCI.Request.html">Request</a></li><li><a href="LuCI.Request.poll.html">poll</a></li><li><a href="LuCI.Response.html">Response</a></li><li><a href="LuCI.rpc.html">rpc</a></li><li><a href="LuCI.uci.html">uci</a></li><li><a href="LuCI.view.html">view</a></li><li><a href="LuCI.XHR.html">XHR</a></li></ul>
-</nav>
-
-<br class="clear">
-
-<footer>
- Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.3</a> on Tue Nov 05 2019 09:33:05 GMT+0100 (Central European Standard Time)
-</footer>
-
-<script> prettyPrint(); </script>
-<script src="scripts/linenumber.js"> </script>
-</body>
-</html>
diff --git a/documentation/jsapi/scripts/linenumber.js b/documentation/jsapi/scripts/linenumber.js
deleted file mode 100644
index 4354785cea..0000000000
--- a/documentation/jsapi/scripts/linenumber.js
+++ /dev/null
@@ -1,25 +0,0 @@
-/*global document */
-(() => {
- const source = document.getElementsByClassName('prettyprint source linenums');
- let i = 0;
- let lineNumber = 0;
- let lineId;
- let lines;
- let totalLines;
- let anchorHash;
-
- if (source && source[0]) {
- anchorHash = document.location.hash.substring(1);
- lines = source[0].getElementsByTagName('li');
- totalLines = lines.length;
-
- for (; i < totalLines; i++) {
- lineNumber++;
- lineId = `line${lineNumber}`;
- lines[i].id = lineId;
- if (lineId === anchorHash) {
- lines[i].className += ' selected';
- }
- }
- }
-})();
diff --git a/documentation/jsapi/scripts/prettify/Apache-License-2.0.txt b/documentation/jsapi/scripts/prettify/Apache-License-2.0.txt
deleted file mode 100644
index d645695673..0000000000
--- a/documentation/jsapi/scripts/prettify/Apache-License-2.0.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff --git a/documentation/jsapi/scripts/prettify/lang-css.js b/documentation/jsapi/scripts/prettify/lang-css.js
deleted file mode 100644
index 041e1f5906..0000000000
--- a/documentation/jsapi/scripts/prettify/lang-css.js
+++ /dev/null
@@ -1,2 +0,0 @@
-PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\f\r ]+/,null," \t\r\n "]],[["str",/^"(?:[^\n\f\r"\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*"/,null],["str",/^'(?:[^\n\f\r'\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*'/,null],["lang-css-str",/^url\(([^"')]*)\)/i],["kwd",/^(?:url|rgb|!important|@import|@page|@media|@charset|inherit)(?=[^\w-]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*)\s*:/i],["com",/^\/\*[^*]*\*+(?:[^*/][^*]*\*+)*\//],["com",
-/^(?:<\!--|--\>)/],["lit",/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],["lit",/^#[\da-f]{3,6}/i],["pln",/^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i],["pun",/^[^\s\w"']+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[["kwd",/^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[["str",/^[^"')]+/]]),["css-str"]);
diff --git a/documentation/jsapi/scripts/prettify/prettify.js b/documentation/jsapi/scripts/prettify/prettify.js
deleted file mode 100644
index eef5ad7e6a..0000000000
--- a/documentation/jsapi/scripts/prettify/prettify.js
+++ /dev/null
@@ -1,28 +0,0 @@
-var q=null;window.PR_SHOULD_USE_CONTINUATION=!0;
-(function(){function L(a){function m(a){var f=a.charCodeAt(0);if(f!==92)return f;var b=a.charAt(1);return(f=r[b])?f:"0"<=b&&b<="7"?parseInt(a.substring(1),8):b==="u"||b==="x"?parseInt(a.substring(2),16):a.charCodeAt(1)}function e(a){if(a<32)return(a<16?"\\x0":"\\x")+a.toString(16);a=String.fromCharCode(a);if(a==="\\"||a==="-"||a==="["||a==="]")a="\\"+a;return a}function h(a){for(var f=a.substring(1,a.length-1).match(/\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\S\s]|[^\\]/g),a=
-[],b=[],o=f[0]==="^",c=o?1:0,i=f.length;c<i;++c){var j=f[c];if(/\\[bdsw]/i.test(j))a.push(j);else{var j=m(j),d;c+2<i&&"-"===f[c+1]?(d=m(f[c+2]),c+=2):d=j;b.push([j,d]);d<65||j>122||(d<65||j>90||b.push([Math.max(65,j)|32,Math.min(d,90)|32]),d<97||j>122||b.push([Math.max(97,j)&-33,Math.min(d,122)&-33]))}}b.sort(function(a,f){return a[0]-f[0]||f[1]-a[1]});f=[];j=[NaN,NaN];for(c=0;c<b.length;++c)i=b[c],i[0]<=j[1]+1?j[1]=Math.max(j[1],i[1]):f.push(j=i);b=["["];o&&b.push("^");b.push.apply(b,a);for(c=0;c<
-f.length;++c)i=f[c],b.push(e(i[0])),i[1]>i[0]&&(i[1]+1>i[0]&&b.push("-"),b.push(e(i[1])));b.push("]");return b.join("")}function y(a){for(var f=a.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g),b=f.length,d=[],c=0,i=0;c<b;++c){var j=f[c];j==="("?++i:"\\"===j.charAt(0)&&(j=+j.substring(1))&&j<=i&&(d[j]=-1)}for(c=1;c<d.length;++c)-1===d[c]&&(d[c]=++t);for(i=c=0;c<b;++c)j=f[c],j==="("?(++i,d[i]===void 0&&(f[c]="(?:")):"\\"===j.charAt(0)&&
-(j=+j.substring(1))&&j<=i&&(f[c]="\\"+d[i]);for(i=c=0;c<b;++c)"^"===f[c]&&"^"!==f[c+1]&&(f[c]="");if(a.ignoreCase&&s)for(c=0;c<b;++c)j=f[c],a=j.charAt(0),j.length>=2&&a==="["?f[c]=h(j):a!=="\\"&&(f[c]=j.replace(/[A-Za-z]/g,function(a){a=a.charCodeAt(0);return"["+String.fromCharCode(a&-33,a|32)+"]"}));return f.join("")}for(var t=0,s=!1,l=!1,p=0,d=a.length;p<d;++p){var g=a[p];if(g.ignoreCase)l=!0;else if(/[a-z]/i.test(g.source.replace(/\\u[\da-f]{4}|\\x[\da-f]{2}|\\[^UXux]/gi,""))){s=!0;l=!1;break}}for(var r=
-{b:8,t:9,n:10,v:11,f:12,r:13},n=[],p=0,d=a.length;p<d;++p){g=a[p];if(g.global||g.multiline)throw Error(""+g);n.push("(?:"+y(g)+")")}return RegExp(n.join("|"),l?"gi":"g")}function M(a){function m(a){switch(a.nodeType){case 1:if(e.test(a.className))break;for(var g=a.firstChild;g;g=g.nextSibling)m(g);g=a.nodeName;if("BR"===g||"LI"===g)h[s]="\n",t[s<<1]=y++,t[s++<<1|1]=a;break;case 3:case 4:g=a.nodeValue,g.length&&(g=p?g.replace(/\r\n?/g,"\n"):g.replace(/[\t\n\r ]+/g," "),h[s]=g,t[s<<1]=y,y+=g.length,
-t[s++<<1|1]=a)}}var e=/(?:^|\s)nocode(?:\s|$)/,h=[],y=0,t=[],s=0,l;a.currentStyle?l=a.currentStyle.whiteSpace:window.getComputedStyle&&(l=document.defaultView.getComputedStyle(a,q).getPropertyValue("white-space"));var p=l&&"pre"===l.substring(0,3);m(a);return{a:h.join("").replace(/\n$/,""),c:t}}function B(a,m,e,h){m&&(a={a:m,d:a},e(a),h.push.apply(h,a.e))}function x(a,m){function e(a){for(var l=a.d,p=[l,"pln"],d=0,g=a.a.match(y)||[],r={},n=0,z=g.length;n<z;++n){var f=g[n],b=r[f],o=void 0,c;if(typeof b===
-"string")c=!1;else{var i=h[f.charAt(0)];if(i)o=f.match(i[1]),b=i[0];else{for(c=0;c<t;++c)if(i=m[c],o=f.match(i[1])){b=i[0];break}o||(b="pln")}if((c=b.length>=5&&"lang-"===b.substring(0,5))&&!(o&&typeof o[1]==="string"))c=!1,b="src";c||(r[f]=b)}i=d;d+=f.length;if(c){c=o[1];var j=f.indexOf(c),k=j+c.length;o[2]&&(k=f.length-o[2].length,j=k-c.length);b=b.substring(5);B(l+i,f.substring(0,j),e,p);B(l+i+j,c,C(b,c),p);B(l+i+k,f.substring(k),e,p)}else p.push(l+i,b)}a.e=p}var h={},y;(function(){for(var e=a.concat(m),
-l=[],p={},d=0,g=e.length;d<g;++d){var r=e[d],n=r[3];if(n)for(var k=n.length;--k>=0;)h[n.charAt(k)]=r;r=r[1];n=""+r;p.hasOwnProperty(n)||(l.push(r),p[n]=q)}l.push(/[\S\s]/);y=L(l)})();var t=m.length;return e}function u(a){var m=[],e=[];a.tripleQuotedStrings?m.push(["str",/^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/,q,"'\""]):a.multiLineStrings?m.push(["str",/^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/,
-q,"'\"`"]):m.push(["str",/^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,q,"\"'"]);a.verbatimStrings&&e.push(["str",/^@"(?:[^"]|"")*(?:"|$)/,q]);var h=a.hashComments;h&&(a.cStyleComments?(h>1?m.push(["com",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,q,"#"]):m.push(["com",/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\n\r]*)/,q,"#"]),e.push(["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,q])):m.push(["com",/^#[^\n\r]*/,
-q,"#"]));a.cStyleComments&&(e.push(["com",/^\/\/[^\n\r]*/,q]),e.push(["com",/^\/\*[\S\s]*?(?:\*\/|$)/,q]));a.regexLiterals&&e.push(["lang-regex",/^(?:^^\.?|[!+-]|!=|!==|#|%|%=|&|&&|&&=|&=|\(|\*|\*=|\+=|,|-=|->|\/|\/=|:|::|;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|[?@[^]|\^=|\^\^|\^\^=|{|\||\|=|\|\||\|\|=|~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\s*(\/(?=[^*/])(?:[^/[\\]|\\[\S\s]|\[(?:[^\\\]]|\\[\S\s])*(?:]|$))+\/)/]);(h=a.types)&&e.push(["typ",h]);a=(""+a.keywords).replace(/^ | $/g,
-"");a.length&&e.push(["kwd",RegExp("^(?:"+a.replace(/[\s,]+/g,"|")+")\\b"),q]);m.push(["pln",/^\s+/,q," \r\n\t\xa0"]);e.push(["lit",/^@[$_a-z][\w$@]*/i,q],["typ",/^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/,q],["pln",/^[$_a-z][\w$@]*/i,q],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,q,"0123456789"],["pln",/^\\[\S\s]?/,q],["pun",/^.[^\s\w"-$'./@\\`]*/,q]);return x(m,e)}function D(a,m){function e(a){switch(a.nodeType){case 1:if(k.test(a.className))break;if("BR"===a.nodeName)h(a),
-a.parentNode&&a.parentNode.removeChild(a);else for(a=a.firstChild;a;a=a.nextSibling)e(a);break;case 3:case 4:if(p){var b=a.nodeValue,d=b.match(t);if(d){var c=b.substring(0,d.index);a.nodeValue=c;(b=b.substring(d.index+d[0].length))&&a.parentNode.insertBefore(s.createTextNode(b),a.nextSibling);h(a);c||a.parentNode.removeChild(a)}}}}function h(a){function b(a,d){var e=d?a.cloneNode(!1):a,f=a.parentNode;if(f){var f=b(f,1),g=a.nextSibling;f.appendChild(e);for(var h=g;h;h=g)g=h.nextSibling,f.appendChild(h)}return e}
-for(;!a.nextSibling;)if(a=a.parentNode,!a)return;for(var a=b(a.nextSibling,0),e;(e=a.parentNode)&&e.nodeType===1;)a=e;d.push(a)}var k=/(?:^|\s)nocode(?:\s|$)/,t=/\r\n?|\n/,s=a.ownerDocument,l;a.currentStyle?l=a.currentStyle.whiteSpace:window.getComputedStyle&&(l=s.defaultView.getComputedStyle(a,q).getPropertyValue("white-space"));var p=l&&"pre"===l.substring(0,3);for(l=s.createElement("LI");a.firstChild;)l.appendChild(a.firstChild);for(var d=[l],g=0;g<d.length;++g)e(d[g]);m===(m|0)&&d[0].setAttribute("value",
-m);var r=s.createElement("OL");r.className="linenums";for(var n=Math.max(0,m-1|0)||0,g=0,z=d.length;g<z;++g)l=d[g],l.className="L"+(g+n)%10,l.firstChild||l.appendChild(s.createTextNode("\xa0")),r.appendChild(l);a.appendChild(r)}function k(a,m){for(var e=m.length;--e>=0;){var h=m[e];A.hasOwnProperty(h)?window.console&&console.warn("cannot override language handler %s",h):A[h]=a}}function C(a,m){if(!a||!A.hasOwnProperty(a))a=/^\s*</.test(m)?"default-markup":"default-code";return A[a]}function E(a){var m=
-a.g;try{var e=M(a.h),h=e.a;a.a=h;a.c=e.c;a.d=0;C(m,h)(a);var k=/\bMSIE\b/.test(navigator.userAgent),m=/\n/g,t=a.a,s=t.length,e=0,l=a.c,p=l.length,h=0,d=a.e,g=d.length,a=0;d[g]=s;var r,n;for(n=r=0;n<g;)d[n]!==d[n+2]?(d[r++]=d[n++],d[r++]=d[n++]):n+=2;g=r;for(n=r=0;n<g;){for(var z=d[n],f=d[n+1],b=n+2;b+2<=g&&d[b+1]===f;)b+=2;d[r++]=z;d[r++]=f;n=b}for(d.length=r;h<p;){var o=l[h+2]||s,c=d[a+2]||s,b=Math.min(o,c),i=l[h+1],j;if(i.nodeType!==1&&(j=t.substring(e,b))){k&&(j=j.replace(m,"\r"));i.nodeValue=
-j;var u=i.ownerDocument,v=u.createElement("SPAN");v.className=d[a+1];var x=i.parentNode;x.replaceChild(v,i);v.appendChild(i);e<o&&(l[h+1]=i=u.createTextNode(t.substring(b,o)),x.insertBefore(i,v.nextSibling))}e=b;e>=o&&(h+=2);e>=c&&(a+=2)}}catch(w){"console"in window&&console.log(w&&w.stack?w.stack:w)}}var v=["break,continue,do,else,for,if,return,while"],w=[[v,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"],
-"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],F=[w,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],G=[w,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"],
-H=[G,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"],w=[w,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],I=[v,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"],
-J=[v,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],v=[v,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],K=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/,N=/\S/,O=u({keywords:[F,H,w,"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END"+
-I,J,v],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),A={};k(O,["default-code"]);k(x([],[["pln",/^[^<?]+/],["dec",/^<!\w[^>]*(?:>|$)/],["com",/^<\!--[\S\s]*?(?:--\>|$)/],["lang-",/^<\?([\S\s]+?)(?:\?>|$)/],["lang-",/^<%([\S\s]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-",/^<xmp\b[^>]*>([\S\s]+?)<\/xmp\b[^>]*>/i],["lang-js",/^<script\b[^>]*>([\S\s]*?)(<\/script\b[^>]*>)/i],["lang-css",/^<style\b[^>]*>([\S\s]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),
-["default-markup","htm","html","mxml","xhtml","xml","xsl"]);k(x([["pln",/^\s+/,q," \t\r\n"],["atv",/^(?:"[^"]*"?|'[^']*'?)/,q,"\"'"]],[["tag",/^^<\/?[a-z](?:[\w-.:]*\w)?|\/?>$/i],["atn",/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^\s"'>]*(?:[^\s"'/>]|\/(?=\s)))/],["pun",/^[/<->]+/],["lang-js",/^on\w+\s*=\s*"([^"]+)"/i],["lang-js",/^on\w+\s*=\s*'([^']+)'/i],["lang-js",/^on\w+\s*=\s*([^\s"'>]+)/i],["lang-css",/^style\s*=\s*"([^"]+)"/i],["lang-css",/^style\s*=\s*'([^']+)'/i],["lang-css",
-/^style\s*=\s*([^\s"'>]+)/i]]),["in.tag"]);k(x([],[["atv",/^[\S\s]+/]]),["uq.val"]);k(u({keywords:F,hashComments:!0,cStyleComments:!0,types:K}),["c","cc","cpp","cxx","cyc","m"]);k(u({keywords:"null,true,false"}),["json"]);k(u({keywords:H,hashComments:!0,cStyleComments:!0,verbatimStrings:!0,types:K}),["cs"]);k(u({keywords:G,cStyleComments:!0}),["java"]);k(u({keywords:v,hashComments:!0,multiLineStrings:!0}),["bsh","csh","sh"]);k(u({keywords:I,hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}),
-["cv","py"]);k(u({keywords:"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["perl","pl","pm"]);k(u({keywords:J,hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["rb"]);k(u({keywords:w,cStyleComments:!0,regexLiterals:!0}),["js"]);k(u({keywords:"all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes",
-hashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0,regexLiterals:!0}),["coffee"]);k(x([],[["str",/^[\S\s]+/]]),["regex"]);window.prettyPrintOne=function(a,m,e){var h=document.createElement("PRE");h.innerHTML=a;e&&D(h,e);E({g:m,i:e,h:h});return h.innerHTML};window.prettyPrint=function(a){function m(){for(var e=window.PR_SHOULD_USE_CONTINUATION?l.now()+250:Infinity;p<h.length&&l.now()<e;p++){var n=h[p],k=n.className;if(k.indexOf("prettyprint")>=0){var k=k.match(g),f,b;if(b=
-!k){b=n;for(var o=void 0,c=b.firstChild;c;c=c.nextSibling)var i=c.nodeType,o=i===1?o?b:c:i===3?N.test(c.nodeValue)?b:o:o;b=(f=o===b?void 0:o)&&"CODE"===f.tagName}b&&(k=f.className.match(g));k&&(k=k[1]);b=!1;for(o=n.parentNode;o;o=o.parentNode)if((o.tagName==="pre"||o.tagName==="code"||o.tagName==="xmp")&&o.className&&o.className.indexOf("prettyprint")>=0){b=!0;break}b||((b=(b=n.className.match(/\blinenums\b(?::(\d+))?/))?b[1]&&b[1].length?+b[1]:!0:!1)&&D(n,b),d={g:k,h:n,i:b},E(d))}}p<h.length?setTimeout(m,
-250):a&&a()}for(var e=[document.getElementsByTagName("pre"),document.getElementsByTagName("code"),document.getElementsByTagName("xmp")],h=[],k=0;k<e.length;++k)for(var t=0,s=e[k].length;t<s;++t)h.push(e[k][t]);var e=q,l=Date;l.now||(l={now:function(){return+new Date}});var p=0,d,g=/\blang(?:uage)?-([\w.]+)(?!\S)/;m()};window.PR={createSimpleLexer:x,registerLangHandler:k,sourceDecorator:u,PR_ATTRIB_NAME:"atn",PR_ATTRIB_VALUE:"atv",PR_COMMENT:"com",PR_DECLARATION:"dec",PR_KEYWORD:"kwd",PR_LITERAL:"lit",
-PR_NOCODE:"nocode",PR_PLAIN:"pln",PR_PUNCTUATION:"pun",PR_SOURCE:"src",PR_STRING:"str",PR_TAG:"tag",PR_TYPE:"typ"}})();
diff --git a/documentation/jsapi/styles/jsdoc-default.css b/documentation/jsapi/styles/jsdoc-default.css
deleted file mode 100644
index 7d1729dc9b..0000000000
--- a/documentation/jsapi/styles/jsdoc-default.css
+++ /dev/null
@@ -1,358 +0,0 @@
-@font-face {
- font-family: 'Open Sans';
- font-weight: normal;
- font-style: normal;
- src: url('../fonts/OpenSans-Regular-webfont.eot');
- src:
- local('Open Sans'),
- local('OpenSans'),
- url('../fonts/OpenSans-Regular-webfont.eot?#iefix') format('embedded-opentype'),
- url('../fonts/OpenSans-Regular-webfont.woff') format('woff'),
- url('../fonts/OpenSans-Regular-webfont.svg#open_sansregular') format('svg');
-}
-
-@font-face {
- font-family: 'Open Sans Light';
- font-weight: normal;
- font-style: normal;
- src: url('../fonts/OpenSans-Light-webfont.eot');
- src:
- local('Open Sans Light'),
- local('OpenSans Light'),
- url('../fonts/OpenSans-Light-webfont.eot?#iefix') format('embedded-opentype'),
- url('../fonts/OpenSans-Light-webfont.woff') format('woff'),
- url('../fonts/OpenSans-Light-webfont.svg#open_sanslight') format('svg');
-}
-
-html
-{
- overflow: auto;
- background-color: #fff;
- font-size: 14px;
-}
-
-body
-{
- font-family: 'Open Sans', sans-serif;
- line-height: 1.5;
- color: #4d4e53;
- background-color: white;
-}
-
-a, a:visited, a:active {
- color: #0095dd;
- text-decoration: none;
-}
-
-a:hover {
- text-decoration: underline;
-}
-
-header
-{
- display: block;
- padding: 0px 4px;
-}
-
-tt, code, kbd, samp {
- font-family: Consolas, Monaco, 'Andale Mono', monospace;
-}
-
-.class-description {
- font-size: 130%;
- line-height: 140%;
- margin-bottom: 1em;
- margin-top: 1em;
-}
-
-.class-description:empty {
- margin: 0;
-}
-
-#main {
- float: left;
- width: 70%;
-}
-
-article dl {
- margin-bottom: 40px;
-}
-
-article img {
- max-width: 100%;
-}
-
-section
-{
- display: block;
- background-color: #fff;
- padding: 12px 24px;
- border-bottom: 1px solid #ccc;
- margin-right: 30px;
-}
-
-.variation {
- display: none;
-}
-
-.signature-attributes {
- font-size: 60%;
- color: #aaa;
- font-style: italic;
- font-weight: lighter;
-}
-
-nav
-{
- display: block;
- float: right;
- margin-top: 28px;
- width: 30%;
- box-sizing: border-box;
- border-left: 1px solid #ccc;
- padding-left: 16px;
-}
-
-nav ul {
- font-family: 'Lucida Grande', 'Lucida Sans Unicode', arial, sans-serif;
- font-size: 100%;
- line-height: 17px;
- padding: 0;
- margin: 0;
- list-style-type: none;
-}
-
-nav ul a, nav ul a:visited, nav ul a:active {
- font-family: Consolas, Monaco, 'Andale Mono', monospace;
- line-height: 18px;
- color: #4D4E53;
-}
-
-nav h3 {
- margin-top: 12px;
-}
-
-nav li {
- margin-top: 6px;
-}
-
-footer {
- display: block;
- padding: 6px;
- margin-top: 12px;
- font-style: italic;
- font-size: 90%;
-}
-
-h1, h2, h3, h4 {
- font-weight: 200;
- margin: 0;
-}
-
-h1
-{
- font-family: 'Open Sans Light', sans-serif;
- font-size: 48px;
- letter-spacing: -2px;
- margin: 12px 24px 20px;
-}
-
-h2, h3.subsection-title
-{
- font-size: 30px;
- font-weight: 700;
- letter-spacing: -1px;
- margin-bottom: 12px;
-}
-
-h3
-{
- font-size: 24px;
- letter-spacing: -0.5px;
- margin-bottom: 12px;
-}
-
-h4
-{
- font-size: 18px;
- letter-spacing: -0.33px;
- margin-bottom: 12px;
- color: #4d4e53;
-}
-
-h5, .container-overview .subsection-title
-{
- font-size: 120%;
- font-weight: bold;
- letter-spacing: -0.01em;
- margin: 8px 0 3px 0;
-}
-
-h6
-{
- font-size: 100%;
- letter-spacing: -0.01em;
- margin: 6px 0 3px 0;
- font-style: italic;
-}
-
-table
-{
- border-spacing: 0;
- border: 0;
- border-collapse: collapse;
-}
-
-td, th
-{
- border: 1px solid #ddd;
- margin: 0px;
- text-align: left;
- vertical-align: top;
- padding: 4px 6px;
- display: table-cell;
-}
-
-thead tr
-{
- background-color: #ddd;
- font-weight: bold;
-}
-
-th { border-right: 1px solid #aaa; }
-tr > th:last-child { border-right: 1px solid #ddd; }
-
-.ancestors, .attribs { color: #999; }
-.ancestors a, .attribs a
-{
- color: #999 !important;
- text-decoration: none;
-}
-
-.clear
-{
- clear: both;
-}
-
-.important
-{
- font-weight: bold;
- color: #950B02;
-}
-
-.yes-def {
- text-indent: -1000px;
-}
-
-.type-signature {
- color: #aaa;
-}
-
-.name, .signature {
- font-family: Consolas, Monaco, 'Andale Mono', monospace;
-}
-
-.details { margin-top: 14px; border-left: 2px solid #DDD; }
-.details dt { width: 120px; float: left; padding-left: 10px; padding-top: 6px; }
-.details dd { margin-left: 70px; }
-.details ul { margin: 0; }
-.details ul { list-style-type: none; }
-.details li { margin-left: 30px; padding-top: 6px; }
-.details pre.prettyprint { margin: 0 }
-.details .object-value { padding-top: 0; }
-
-.description {
- margin-bottom: 1em;
- margin-top: 1em;
-}
-
-.code-caption
-{
- font-style: italic;
- font-size: 107%;
- margin: 0;
-}
-
-.source
-{
- border: 1px solid #ddd;
- width: 80%;
- overflow: auto;
-}
-
-.prettyprint.source {
- width: inherit;
-}
-
-.source code
-{
- font-size: 100%;
- line-height: 18px;
- display: block;
- padding: 4px 12px;
- margin: 0;
- background-color: #fff;
- color: #4D4E53;
-}
-
-.prettyprint code span.line
-{
- display: inline-block;
-}
-
-.prettyprint.linenums
-{
- padding-left: 70px;
- -webkit-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
-}
-
-.prettyprint.linenums ol
-{
- padding-left: 0;
-}
-
-.prettyprint.linenums li
-{
- border-left: 3px #ddd solid;
-}
-
-.prettyprint.linenums li.selected,
-.prettyprint.linenums li.selected *
-{
- background-color: lightyellow;
-}
-
-.prettyprint.linenums li *
-{
- -webkit-user-select: text;
- -moz-user-select: text;
- -ms-user-select: text;
- user-select: text;
-}
-
-.params .name, .props .name, .name code {
- color: #4D4E53;
- font-family: Consolas, Monaco, 'Andale Mono', monospace;
- font-size: 100%;
-}
-
-.params td.description > p:first-child,
-.props td.description > p:first-child
-{
- margin-top: 0;
- padding-top: 0;
-}
-
-.params td.description > p:last-child,
-.props td.description > p:last-child
-{
- margin-bottom: 0;
- padding-bottom: 0;
-}
-
-.disabled {
- color: #454545;
-}
diff --git a/documentation/jsapi/styles/prettify-jsdoc.css b/documentation/jsapi/styles/prettify-jsdoc.css
deleted file mode 100644
index 5a2526e374..0000000000
--- a/documentation/jsapi/styles/prettify-jsdoc.css
+++ /dev/null
@@ -1,111 +0,0 @@
-/* JSDoc prettify.js theme */
-
-/* plain text */
-.pln {
- color: #000000;
- font-weight: normal;
- font-style: normal;
-}
-
-/* string content */
-.str {
- color: #006400;
- font-weight: normal;
- font-style: normal;
-}
-
-/* a keyword */
-.kwd {
- color: #000000;
- font-weight: bold;
- font-style: normal;
-}
-
-/* a comment */
-.com {
- font-weight: normal;
- font-style: italic;
-}
-
-/* a type name */
-.typ {
- color: #000000;
- font-weight: normal;
- font-style: normal;
-}
-
-/* a literal value */
-.lit {
- color: #006400;
- font-weight: normal;
- font-style: normal;
-}
-
-/* punctuation */
-.pun {
- color: #000000;
- font-weight: bold;
- font-style: normal;
-}
-
-/* lisp open bracket */
-.opn {
- color: #000000;
- font-weight: bold;
- font-style: normal;
-}
-
-/* lisp close bracket */
-.clo {
- color: #000000;
- font-weight: bold;
- font-style: normal;
-}
-
-/* a markup tag name */
-.tag {
- color: #006400;
- font-weight: normal;
- font-style: normal;
-}
-
-/* a markup attribute name */
-.atn {
- color: #006400;
- font-weight: normal;
- font-style: normal;
-}
-
-/* a markup attribute value */
-.atv {
- color: #006400;
- font-weight: normal;
- font-style: normal;
-}
-
-/* a declaration */
-.dec {
- color: #000000;
- font-weight: bold;
- font-style: normal;
-}
-
-/* a variable name */
-.var {
- color: #000000;
- font-weight: normal;
- font-style: normal;
-}
-
-/* a function name */
-.fun {
- color: #000000;
- font-weight: bold;
- font-style: normal;
-}
-
-/* Specify class=linenums on a pre to get line numbering */
-ol.linenums {
- margin-top: 0;
- margin-bottom: 0;
-}
diff --git a/documentation/jsapi/styles/prettify-tomorrow.css b/documentation/jsapi/styles/prettify-tomorrow.css
deleted file mode 100644
index aa2908c251..0000000000
--- a/documentation/jsapi/styles/prettify-tomorrow.css
+++ /dev/null
@@ -1,132 +0,0 @@
-/* Tomorrow Theme */
-/* Original theme - https://github.com/chriskempson/tomorrow-theme */
-/* Pretty printing styles. Used with prettify.js. */
-/* SPAN elements with the classes below are added by prettyprint. */
-/* plain text */
-.pln {
- color: #4d4d4c; }
-
-@media screen {
- /* string content */
- .str {
- color: #718c00; }
-
- /* a keyword */
- .kwd {
- color: #8959a8; }
-
- /* a comment */
- .com {
- color: #8e908c; }
-
- /* a type name */
- .typ {
- color: #4271ae; }
-
- /* a literal value */
- .lit {
- color: #f5871f; }
-
- /* punctuation */
- .pun {
- color: #4d4d4c; }
-
- /* lisp open bracket */
- .opn {
- color: #4d4d4c; }
-
- /* lisp close bracket */
- .clo {
- color: #4d4d4c; }
-
- /* a markup tag name */
- .tag {
- color: #c82829; }
-
- /* a markup attribute name */
- .atn {
- color: #f5871f; }
-
- /* a markup attribute value */
- .atv {
- color: #3e999f; }
-
- /* a declaration */
- .dec {
- color: #f5871f; }
-
- /* a variable name */
- .var {
- color: #c82829; }
-
- /* a function name */
- .fun {
- color: #4271ae; } }
-/* Use higher contrast and text-weight for printable form. */
-@media print, projection {
- .str {
- color: #060; }
-
- .kwd {
- color: #006;
- font-weight: bold; }
-
- .com {
- color: #600;
- font-style: italic; }
-
- .typ {
- color: #404;
- font-weight: bold; }
-
- .lit {
- color: #044; }
-
- .pun, .opn, .clo {
- color: #440; }
-
- .tag {
- color: #006;
- font-weight: bold; }
-
- .atn {
- color: #404; }
-
- .atv {
- color: #060; } }
-/* Style */
-/*
-pre.prettyprint {
- background: white;
- font-family: Menlo, Monaco, Consolas, monospace;
- font-size: 12px;
- line-height: 1.5;
- border: 1px solid #ccc;
- padding: 10px; }
-*/
-
-/* Specify class=linenums on a pre to get line numbering */
-ol.linenums {
- margin-top: 0;
- margin-bottom: 0; }
-
-/* IE indents via margin-left */
-li.L0,
-li.L1,
-li.L2,
-li.L3,
-li.L4,
-li.L5,
-li.L6,
-li.L7,
-li.L8,
-li.L9 {
- /* */ }
-
-/* Alternate shading for lines */
-li.L1,
-li.L3,
-li.L5,
-li.L7,
-li.L9 {
- /* */ }
diff --git a/documentation/jsapi/uci.js.html b/documentation/jsapi/uci.js.html
deleted file mode 100644
index d61010f0e0..0000000000
--- a/documentation/jsapi/uci.js.html
+++ /dev/null
@@ -1,994 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta charset="utf-8">
- <title>JSDoc: Source: uci.js</title>
-
- <script src="scripts/prettify/prettify.js"> </script>
- <script src="scripts/prettify/lang-css.js"> </script>
- <!--[if lt IE 9]>
- <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
- <![endif]-->
- <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
- <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
-</head>
-
-<body>
-
-<div id="main">
-
- <h1 class="page-title">Source: uci.js</h1>
-
-
-
-
-
-
- <section>
- <article>
- <pre class="prettyprint source linenums"><code>'use strict';
-'require rpc';
-
-/**
- * @class uci
- * @memberof LuCI
- * @hideconstructor
- * @classdesc
- *
- * The `LuCI.uci` class utilizes {@link LuCI.rpc} to declare low level
- * remote UCI `ubus` procedures and implements a local caching and data
- * manipulation layer on top to allow for synchroneous operations on
- * UCI configuration data.
- */
-return L.Class.extend(/** @lends LuCI.uci.prototype */ {
- __init__: function() {
- this.state = {
- newidx: 0,
- values: { },
- creates: { },
- changes: { },
- deletes: { },
- reorder: { }
- };
-
- this.loaded = {};
- },
-
- callLoad: rpc.declare({
- object: 'uci',
- method: 'get',
- params: [ 'config' ],
- expect: { values: { } }
- }),
-
-
- callOrder: rpc.declare({
- object: 'uci',
- method: 'order',
- params: [ 'config', 'sections' ]
- }),
-
- callAdd: rpc.declare({
- object: 'uci',
- method: 'add',
- params: [ 'config', 'type', 'name', 'values' ],
- expect: { section: '' }
- }),
-
- callSet: rpc.declare({
- object: 'uci',
- method: 'set',
- params: [ 'config', 'section', 'values' ]
- }),
-
- callDelete: rpc.declare({
- object: 'uci',
- method: 'delete',
- params: [ 'config', 'section', 'options' ]
- }),
-
- callApply: rpc.declare({
- object: 'uci',
- method: 'apply',
- params: [ 'timeout', 'rollback' ]
- }),
-
- callConfirm: rpc.declare({
- object: 'uci',
- method: 'confirm'
- }),
-
-
- /**
- * Generates a new, unique section ID for the given configuration.
- *
- * Note that the generated ID is temporary, it will get replaced by an
- * identifier in the form `cfgXXXXXX` once the configuration is saved
- * by the remote `ubus` UCI api.
- *
- * @param {string} config
- * The configuration to generate the new section ID for.
- *
- * @returns {string}
- * A newly generated, unique section ID in the form `newXXXXXX`
- * where `X` denotes a hexadecimal digit.
- */
- createSID: function(conf) {
- var v = this.state.values,
- n = this.state.creates,
- sid;
-
- do {
- sid = "new%06x".format(Math.random() * 0xFFFFFF);
- } while ((n[conf] &amp;&amp; n[conf][sid]) || (v[conf] &amp;&amp; v[conf][sid]));
-
- return sid;
- },
-
- /**
- * Resolves a given section ID in extended notation to the internal
- * section ID value.
- *
- * @param {string} config
- * The configuration to resolve the section ID for.
- *
- * @param {string} sid
- * The section ID to resolve. If the ID is in the form `@typename[#]`,
- * it will get resolved to an internal anonymous ID in the forms
- * `cfgXXXXXX`/`newXXXXXX` or to the name of a section in case it points
- * to a named section. When the given ID is not in extended notation,
- * it will be returned as-is.
- *
- * @returns {string|null}
- * Returns the resolved section ID or the original given ID if it was
- * not in extended notation. Returns `null` when an extended ID could
- * not be resolved to existing section ID.
- */
- resolveSID: function(conf, sid) {
- if (typeof(sid) != 'string')
- return sid;
-
- var m = /^@([a-zA-Z0-9_-]+)\[(-?[0-9]+)\]$/.exec(sid);
-
- if (m) {
- var type = m[1],
- pos = +m[2],
- sections = this.sections(conf, type),
- section = sections[pos >= 0 ? pos : sections.length + pos];
-
- return section ? section['.name'] : null;
- }
-
- return sid;
- },
-
- /* private */
- reorderSections: function() {
- var v = this.state.values,
- n = this.state.creates,
- r = this.state.reorder,
- tasks = [];
-
- if (Object.keys(r).length === 0)
- return Promise.resolve();
-
- /*
- gather all created and existing sections, sort them according
- to their index value and issue an uci order call
- */
- for (var c in r) {
- var o = [ ];
-
- if (n[c])
- for (var s in n[c])
- o.push(n[c][s]);
-
- for (var s in v[c])
- o.push(v[c][s]);
-
- if (o.length > 0) {
- o.sort(function(a, b) {
- return (a['.index'] - b['.index']);
- });
-
- var sids = [ ];
-
- for (var i = 0; i &lt; o.length; i++)
- sids.push(o[i]['.name']);
-
- tasks.push(this.callOrder(c, sids));
- }
- }
-
- this.state.reorder = { };
- return Promise.all(tasks);
- },
-
- /* private */
- loadPackage: function(packageName) {
- if (this.loaded[packageName] == null)
- return (this.loaded[packageName] = this.callLoad(packageName));
-
- return Promise.resolve(this.loaded[packageName]);
- },
-
- /**
- * Loads the given UCI configurations from the remote `ubus` api.
- *
- * Loaded configurations are cached and only loaded once. Subsequent
- * load operations of the same configurations will return the cached
- * data.
- *
- * To force reloading a configuration, it has to be unloaded with
- * {@link LuCI.uci#unload uci.unload()} first.
- *
- * @param {string|string[]} config
- * The name of the configuration or an array of configuration
- * names to load.
- *
- * @returns {Promise&lt;string[]>}
- * Returns a promise resolving to the names of the configurations
- * that have been successfully loaded.
- */
- load: function(packages) {
- var self = this,
- pkgs = [ ],
- tasks = [];
-
- if (!Array.isArray(packages))
- packages = [ packages ];
-
- for (var i = 0; i &lt; packages.length; i++)
- if (!self.state.values[packages[i]]) {
- pkgs.push(packages[i]);
- tasks.push(self.loadPackage(packages[i]));
- }
-
- return Promise.all(tasks).then(function(responses) {
- for (var i = 0; i &lt; responses.length; i++)
- self.state.values[pkgs[i]] = responses[i];
-
- if (responses.length)
- document.dispatchEvent(new CustomEvent('uci-loaded'));
-
- return pkgs;
- });
- },
-
- /**
- * Unloads the given UCI configurations from the local cache.
- *
- * @param {string|string[]} config
- * The name of the configuration or an array of configuration
- * names to unload.
- */
- unload: function(packages) {
- if (!Array.isArray(packages))
- packages = [ packages ];
-
- for (var i = 0; i &lt; packages.length; i++) {
- delete this.state.values[packages[i]];
- delete this.state.creates[packages[i]];
- delete this.state.changes[packages[i]];
- delete this.state.deletes[packages[i]];
-
- delete this.loaded[packages[i]];
- }
- },
-
- /**
- * Adds a new section of the given type to the given configuration,
- * optionally named according to the given name.
- *
- * @param {string} config
- * The name of the configuration to add the section to.
- *
- * @param {string} type
- * The type of the section to add.
- *
- * @param {string} [name]
- * The name of the section to add. If the name is omitted, an anonymous
- * section will be added instead.
- *
- * @returns {string}
- * Returns the section ID of the newly added section which is equivalent
- * to the given name for non-anonymous sections.
- */
- add: function(conf, type, name) {
- var n = this.state.creates,
- sid = name || this.createSID(conf);
-
- if (!n[conf])
- n[conf] = { };
-
- n[conf][sid] = {
- '.type': type,
- '.name': sid,
- '.create': name,
- '.anonymous': !name,
- '.index': 1000 + this.state.newidx++
- };
-
- return sid;
- },
-
- /**
- * Removes the section with the given ID from the given configuration.
- *
- * @param {string} config
- * The name of the configuration to remove the section from.
- *
- * @param {string} sid
- * The ID of the section to remove.
- */
- remove: function(conf, sid) {
- var n = this.state.creates,
- c = this.state.changes,
- d = this.state.deletes;
-
- /* requested deletion of a just created section */
- if (n[conf] &amp;&amp; n[conf][sid]) {
- delete n[conf][sid];
- }
- else {
- if (c[conf])
- delete c[conf][sid];
-
- if (!d[conf])
- d[conf] = { };
-
- d[conf][sid] = true;
- }
- },
-
- /**
- * A section object represents the options and their corresponding values
- * enclosed within a configuration section, as well as some additional
- * meta data such as sort indexes and internal ID.
- *
- * Any internal metadata fields are prefixed with a dot which is isn't
- * an allowed character for normal option names.
- *
- * @typedef {Object&lt;string, boolean|number|string|string[]>} SectionObject
- * @memberof LuCI.uci
- *
- * @property {boolean} .anonymous
- * The `.anonymous` property specifies whether the configuration is
- * anonymous (`true`) or named (`false`).
- *
- * @property {number} .index
- * The `.index` property specifes the sort order of the section.
- *
- * @property {string} .name
- * The `.name` property holds the name of the section object. It may be
- * either an anonymous ID in the form `cfgXXXXXX` or `newXXXXXX` with `X`
- * being a hexadecimal digit or a string holding the name of the section.
- *
- * @property {string} .type
- * The `.type` property contains the type of the corresponding uci
- * section.
- *
- * @property {string|string[]} *
- * A section object may contain an arbitrary number of further properties
- * representing the uci option enclosed in the section.
- *
- * All option property names will be in the form `[A-Za-z0-9_]+` and
- * either contain a string value or an array of strings, in case the
- * underlying option is an UCI list.
- */
-
- /**
- * The sections callback is invoked for each section found within
- * the given configuration and receives the section object and its
- * associated name as arguments.
- *
- * @callback LuCI.uci~sectionsFn
- *
- * @param {LuCI.uci.SectionObject} section
- * The section object.
- *
- * @param {string} sid
- * The name or ID of the section.
- */
-
- /**
- * Enumerates the sections of the given configuration, optionally
- * filtered by type.
- *
- * @param {string} config
- * The name of the configuration to enumerate the sections for.
- *
- * @param {string} [type]
- * Enumerate only sections of the given type. If omitted, enumerate
- * all sections.
- *
- * @param {LuCI.uci~sectionsFn} [cb]
- * An optional callback to invoke for each enumerated section.
- *
- * @returns {Array&lt;LuCI.uci.SectionObject>}
- * Returns a sorted array of the section objects within the given
- * configuration, filtered by type of a type has been specified.
- */
- sections: function(conf, type, cb) {
- var sa = [ ],
- v = this.state.values[conf],
- n = this.state.creates[conf],
- c = this.state.changes[conf],
- d = this.state.deletes[conf];
-
- if (!v)
- return sa;
-
- for (var s in v)
- if (!d || d[s] !== true)
- if (!type || v[s]['.type'] == type)
- sa.push(Object.assign({ }, v[s], c ? c[s] : undefined));
-
- if (n)
- for (var s in n)
- if (!type || n[s]['.type'] == type)
- sa.push(Object.assign({ }, n[s]));
-
- sa.sort(function(a, b) {
- return a['.index'] - b['.index'];
- });
-
- for (var i = 0; i &lt; sa.length; i++)
- sa[i]['.index'] = i;
-
- if (typeof(cb) == 'function')
- for (var i = 0; i &lt; sa.length; i++)
- cb.call(this, sa[i], sa[i]['.name']);
-
- return sa;
- },
-
- /**
- * Gets the value of the given option within the specified section
- * of the given configuration or the entire section object if the
- * option name is omitted.
- *
- * @param {string} config
- * The name of the configuration to read the value from.
- *
- * @param {string} sid
- * The name or ID of the section to read.
- *
- * @param {string} [option]
- * The option name to read the value from. If the option name is
- * omitted or `null`, the entire section is returned instead.
- *
- * @returns {null|string|string[]|LuCI.uci.SectionObject}
- * - Returns a string containing the option value in case of a
- * plain UCI option.
- * - Returns an array of strings containing the option values in
- * case of `option` pointing to an UCI list.
- * - Returns a {@link LuCI.uci.SectionObject section object} if
- * the `option` argument has been omitted or is `null`.
- * - Returns `null` if the config, section or option has not been
- * found or if the corresponding configuration is not loaded.
- */
- get: function(conf, sid, opt) {
- var v = this.state.values,
- n = this.state.creates,
- c = this.state.changes,
- d = this.state.deletes;
-
- sid = this.resolveSID(conf, sid);
-
- if (sid == null)
- return null;
-
- /* requested option in a just created section */
- if (n[conf] &amp;&amp; n[conf][sid]) {
- if (!n[conf])
- return undefined;
-
- if (opt == null)
- return n[conf][sid];
-
- return n[conf][sid][opt];
- }
-
- /* requested an option value */
- if (opt != null) {
- /* check whether option was deleted */
- if (d[conf] &amp;&amp; d[conf][sid]) {
- if (d[conf][sid] === true)
- return undefined;
-
- for (var i = 0; i &lt; d[conf][sid].length; i++)
- if (d[conf][sid][i] == opt)
- return undefined;
- }
-
- /* check whether option was changed */
- if (c[conf] &amp;&amp; c[conf][sid] &amp;&amp; c[conf][sid][opt] != null)
- return c[conf][sid][opt];
-
- /* return base value */
- if (v[conf] &amp;&amp; v[conf][sid])
- return v[conf][sid][opt];
-
- return undefined;
- }
-
- /* requested an entire section */
- if (v[conf])
- return v[conf][sid];
-
- return undefined;
- },
-
- /**
- * Sets the value of the given option within the specified section
- * of the given configuration.
- *
- * If either config, section or option is null, or if `option` begins
- * with a dot, the function will do nothing.
- *
- * @param {string} config
- * The name of the configuration to set the option value in.
- *
- * @param {string} sid
- * The name or ID of the section to set the option value in.
- *
- * @param {string} option
- * The option name to set the value for.
- *
- * @param {null|string|string[]} value
- * The option value to set. If the value is `null` or an empty string,
- * the option will be removed, otherwise it will be set or overwritten
- * with the given value.
- */
- set: function(conf, sid, opt, val) {
- var v = this.state.values,
- n = this.state.creates,
- c = this.state.changes,
- d = this.state.deletes;
-
- sid = this.resolveSID(conf, sid);
-
- if (sid == null || opt == null || opt.charAt(0) == '.')
- return;
-
- if (n[conf] &amp;&amp; n[conf][sid]) {
- if (val != null)
- n[conf][sid][opt] = val;
- else
- delete n[conf][sid][opt];
- }
- else if (val != null &amp;&amp; val !== '') {
- /* do not set within deleted section */
- if (d[conf] &amp;&amp; d[conf][sid] === true)
- return;
-
- /* only set in existing sections */
- if (!v[conf] || !v[conf][sid])
- return;
-
- if (!c[conf])
- c[conf] = {};
-
- if (!c[conf][sid])
- c[conf][sid] = {};
-
- /* undelete option */
- if (d[conf] &amp;&amp; d[conf][sid])
- d[conf][sid] = d[conf][sid].filter(function(o) { return o !== opt });
-
- c[conf][sid][opt] = val;
- }
- else {
- /* only delete in existing sections */
- if (!(v[conf] &amp;&amp; v[conf][sid] &amp;&amp; v[conf][sid].hasOwnProperty(opt)) &amp;&amp;
- !(c[conf] &amp;&amp; c[conf][sid] &amp;&amp; c[conf][sid].hasOwnProperty(opt)))
- return;
-
- if (!d[conf])
- d[conf] = { };
-
- if (!d[conf][sid])
- d[conf][sid] = [ ];
-
- if (d[conf][sid] !== true)
- d[conf][sid].push(opt);
- }
- },
-
- /**
- * Remove the given option within the specified section of the given
- * configuration.
- *
- * This function is a convenience wrapper around
- * `uci.set(config, section, option, null)`.
- *
- * @param {string} config
- * The name of the configuration to remove the option from.
- *
- * @param {string} sid
- * The name or ID of the section to remove the option from.
- *
- * @param {string} option
- * The name of the option to remove.
- */
- unset: function(conf, sid, opt) {
- return this.set(conf, sid, opt, null);
- },
-
- /**
- * Gets the value of the given option or the entire section object of
- * the first found section of the specified type or the first found
- * section of the entire configuration if no type is specfied.
- *
- * @param {string} config
- * The name of the configuration to read the value from.
- *
- * @param {string} [type]
- * The type of the first section to find. If it is `null`, the first
- * section of the entire config is read, otherwise the first section
- * matching the given type.
- *
- * @param {string} [option]
- * The option name to read the value from. If the option name is
- * omitted or `null`, the entire section is returned instead.
- *
- * @returns {null|string|string[]|LuCI.uci.SectionObject}
- * - Returns a string containing the option value in case of a
- * plain UCI option.
- * - Returns an array of strings containing the option values in
- * case of `option` pointing to an UCI list.
- * - Returns a {@link LuCI.uci.SectionObject section object} if
- * the `option` argument has been omitted or is `null`.
- * - Returns `null` if the config, section or option has not been
- * found or if the corresponding configuration is not loaded.
- */
- get_first: function(conf, type, opt) {
- var sid = null;
-
- this.sections(conf, type, function(s) {
- if (sid == null)
- sid = s['.name'];
- });
-
- return this.get(conf, sid, opt);
- },
-
- /**
- * Sets the value of the given option within the first found section
- * of the given configuration matching the specified type or within
- * the first section of the entire config when no type has is specified.
- *
- * If either config, type or option is null, or if `option` begins
- * with a dot, the function will do nothing.
- *
- * @param {string} config
- * The name of the configuration to set the option value in.
- *
- * @param {string} [type]
- * The type of the first section to find. If it is `null`, the first
- * section of the entire config is written to, otherwise the first
- * section matching the given type is used.
- *
- * @param {string} option
- * The option name to set the value for.
- *
- * @param {null|string|string[]} value
- * The option value to set. If the value is `null` or an empty string,
- * the option will be removed, otherwise it will be set or overwritten
- * with the given value.
- */
- set_first: function(conf, type, opt, val) {
- var sid = null;
-
- this.sections(conf, type, function(s) {
- if (sid == null)
- sid = s['.name'];
- });
-
- return this.set(conf, sid, opt, val);
- },
-
- /**
- * Removes the given option within the first found section of the given
- * configuration matching the specified type or within the first section
- * of the entire config when no type has is specified.
- *
- * This function is a convenience wrapper around
- * `uci.set_first(config, type, option, null)`.
- *
- * @param {string} config
- * The name of the configuration to set the option value in.
- *
- * @param {string} [type]
- * The type of the first section to find. If it is `null`, the first
- * section of the entire config is written to, otherwise the first
- * section matching the given type is used.
- *
- * @param {string} option
- * The option name to set the value for.
- */
- unset_first: function(conf, type, opt) {
- return this.set_first(conf, type, opt, null);
- },
-
- /**
- * Move the first specified section within the given configuration
- * before or after the second specified section.
- *
- * @param {string} config
- * The configuration to move the section within.
- *
- * @param {string} sid1
- * The ID of the section to move within the configuration.
- *
- * @param {string} [sid2]
- * The ID of the target section for the move operation. If the
- * `after` argument is `false` or not specified, the section named by
- * `sid1` will be moved before this target section, if the `after`
- * argument is `true`, the `sid1` section will be moved after this
- * section.
- *
- * When the `sid2` argument is `null`, the section specified by `sid1`
- * is moved to the end of the configuration.
- *
- * @param {boolean} [after=false]
- * When `true`, the section `sid1` is moved after the section `sid2`,
- * when `false`, the section `sid1` is moved before `sid2`.
- *
- * If `sid2` is null, then this parameter has no effect and the section
- * `sid1` is moved to the end of the configuration instead.
- *
- * @returns {boolean}
- * Returns `true` when the section was successfully moved, or `false`
- * when either the section specified by `sid1` or by `sid2` is not found.
- */
- move: function(conf, sid1, sid2, after) {
- var sa = this.sections(conf),
- s1 = null, s2 = null;
-
- sid1 = this.resolveSID(conf, sid1);
- sid2 = this.resolveSID(conf, sid2);
-
- for (var i = 0; i &lt; sa.length; i++) {
- if (sa[i]['.name'] != sid1)
- continue;
-
- s1 = sa[i];
- sa.splice(i, 1);
- break;
- }
-
- if (s1 == null)
- return false;
-
- if (sid2 == null) {
- sa.push(s1);
- }
- else {
- for (var i = 0; i &lt; sa.length; i++) {
- if (sa[i]['.name'] != sid2)
- continue;
-
- s2 = sa[i];
- sa.splice(i + !!after, 0, s1);
- break;
- }
-
- if (s2 == null)
- return false;
- }
-
- for (var i = 0; i &lt; sa.length; i++)
- this.get(conf, sa[i]['.name'])['.index'] = i;
-
- this.state.reorder[conf] = true;
-
- return true;
- },
-
- /**
- * Submits all local configuration changes to the remove `ubus` api,
- * adds, removes and reorders remote sections as needed and reloads
- * all loaded configurations to resynchronize the local state with
- * the remote configuration values.
- *
- * @returns {string[]}
- * Returns a promise resolving to an array of configuration names which
- * have been reloaded by the save operation.
- */
- save: function() {
- var v = this.state.values,
- n = this.state.creates,
- c = this.state.changes,
- d = this.state.deletes,
- r = this.state.reorder,
- self = this,
- snew = [ ],
- pkgs = { },
- tasks = [];
-
- if (n)
- for (var conf in n) {
- for (var sid in n[conf]) {
- var r = {
- config: conf,
- values: { }
- };
-
- for (var k in n[conf][sid]) {
- if (k == '.type')
- r.type = n[conf][sid][k];
- else if (k == '.create')
- r.name = n[conf][sid][k];
- else if (k.charAt(0) != '.')
- r.values[k] = n[conf][sid][k];
- }
-
- snew.push(n[conf][sid]);
- tasks.push(self.callAdd(r.config, r.type, r.name, r.values));
- }
-
- pkgs[conf] = true;
- }
-
- if (c)
- for (var conf in c) {
- for (var sid in c[conf])
- tasks.push(self.callSet(conf, sid, c[conf][sid]));
-
- pkgs[conf] = true;
- }
-
- if (d)
- for (var conf in d) {
- for (var sid in d[conf]) {
- var o = d[conf][sid];
- tasks.push(self.callDelete(conf, sid, (o === true) ? null : o));
- }
-
- pkgs[conf] = true;
- }
-
- if (r)
- for (var conf in r)
- pkgs[conf] = true;
-
- return Promise.all(tasks).then(function(responses) {
- /*
- array "snew" holds references to the created uci sections,
- use it to assign the returned names of the new sections
- */
- for (var i = 0; i &lt; snew.length; i++)
- snew[i]['.name'] = responses[i];
-
- return self.reorderSections();
- }).then(function() {
- pkgs = Object.keys(pkgs);
-
- self.unload(pkgs);
-
- return self.load(pkgs);
- });
- },
-
- /**
- * Instructs the remote `ubus` UCI api to commit all saved changes with
- * rollback protection and attempts to confirm the pending commit
- * operation to cancel the rollback timer.
- *
- * @param {number} [timeout=10]
- * Override the confirmation timeout after which a rollback is triggered.
- *
- * @returns {Promise&lt;number>}
- * Returns a promise resolving/rejecting with the `ubus` RPC status code.
- */
- apply: function(timeout) {
- var self = this,
- date = new Date();
-
- if (typeof(timeout) != 'number' || timeout &lt; 1)
- timeout = 10;
-
- return self.callApply(timeout, true).then(function(rv) {
- if (rv != 0)
- return Promise.reject(rv);
-
- var try_deadline = date.getTime() + 1000 * timeout;
- var try_confirm = function() {
- return self.callConfirm().then(function(rv) {
- if (rv != 0) {
- if (date.getTime() &lt; try_deadline)
- window.setTimeout(try_confirm, 250);
- else
- return Promise.reject(rv);
- }
-
- return rv;
- });
- };
-
- window.setTimeout(try_confirm, 1000);
- });
- },
-
- /**
- * An UCI change record is a plain array containing the change operation
- * name as first element, the affected section ID as second argument
- * and an optional third and fourth argument whose meanings depend on
- * the operation.
- *
- * @typedef {string[]} ChangeRecord
- * @memberof LuCI.uci
- *
- * @property {string} 0
- * The operation name - may be one of `add`, `set`, `remove`, `order`,
- * `list-add`, `list-del` or `rename`.
- *
- * @property {string} 1
- * The section ID targeted by the operation.
- *
- * @property {string} 2
- * The meaning of the third element depends on the operation.
- * - For `add` it is type of the section that has been added
- * - For `set` it either is the option name if a fourth element exists,
- * or the type of a named section which has been added when the change
- * entry only contains three elements.
- * - For `remove` it contains the name of the option that has been
- * removed.
- * - For `order` it specifies the new sort index of the section.
- * - For `list-add` it contains the name of the list option a new value
- * has been added to.
- * - For `list-del` it contains the name of the list option a value has
- * been removed from.
- * - For `rename` it contains the name of the option that has been
- * renamed if a fourth element exists, else it contains the new name
- * a section has been renamed to if the change entry only contains
- * three elements.
- *
- * @property {string} 4
- * The meaning of the fourth element depends on the operation.
- * - For `set` it is the value an option has been set to.
- * - For `list-add` it is the new value that has been added to a
- * list option.
- * - For `rename` it is the new name of an option that has been
- * renamed.
- */
-
- /**
- * Fetches uncommitted UCI changes from the remote `ubus` RPC api.
- *
- * @method
- * @returns {Promise&lt;Object&lt;string, Array&lt;LuCI.uci.ChangeRecord>>>}
- * Returns a promise resolving to an object containing the configuration
- * names as keys and arrays of related change records as values.
- */
- changes: rpc.declare({
- object: 'uci',
- method: 'changes',
- expect: { changes: { } }
- })
-});
-</code></pre>
- </article>
- </section>
-
-
-
-
-</div>
-
-<nav>
- <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="LuCI.html">LuCI</a></li><li><a href="LuCI.Class.html">Class</a></li><li><a href="LuCI.dom.html">dom</a></li><li><a href="LuCI.fs.html">fs</a></li><li><a href="LuCI.Headers.html">Headers</a></li><li><a href="LuCI.Network.html">Network</a></li><li><a href="LuCI.Network.Device.html">Device</a></li><li><a href="LuCI.Network.Hosts.html">Hosts</a></li><li><a href="LuCI.Network.Protocol.html">Protocol</a></li><li><a href="LuCI.Network.WifiDevice.html">WifiDevice</a></li><li><a href="LuCI.Network.WifiNetwork.html">WifiNetwork</a></li><li><a href="LuCI.Poll.html">Poll</a></li><li><a href="LuCI.Request.html">Request</a></li><li><a href="LuCI.Request.poll.html">poll</a></li><li><a href="LuCI.Response.html">Response</a></li><li><a href="LuCI.rpc.html">rpc</a></li><li><a href="LuCI.uci.html">uci</a></li><li><a href="LuCI.view.html">view</a></li><li><a href="LuCI.XHR.html">XHR</a></li></ul>
-</nav>
-
-<br class="clear">
-
-<footer>
- Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.3</a> on Tue Nov 05 2019 09:33:05 GMT+0100 (Central European Standard Time)
-</footer>
-
-<script> prettyPrint(); </script>
-<script src="scripts/linenumber.js"> </script>
-</body>
-</html>