;ò = ÄDc@sdkZdklZdklZlZdklZdefd„ƒYZ defd„ƒYZ dei fd „ƒYZ d ei fd „ƒYZd ei fd „ƒYZdei fd„ƒYZdZdZdZdZdhde<de<ZdZdS(N(sreactor(sserversresource(s BasePluginsWebUsercBs#tZd„Zd„Zd„ZRS(NcCs"||_|i|_g|_dS(N(susersselfsgwhmshostmasksrbuf(sselfsuser((s./Gateway/gwhtml.pys__init__%s  cCs0d}|ii||iƒ|iƒfƒdS(Ns±
[%s] %s
(snewssselfsrbufsappendsinreplysstripsreply(sselfsreplysinreplysnews((s./Gateway/gwhtml.pys sendReply*s cCs$|iiƒ|iii|ƒdS(N(sselfsusers clearAuthscbs _connectionssremove(sself((s./Gateway/gwhtml.pysclose6s (s__name__s __module__s__init__s sendReplysclose(((s./Gateway/gwhtml.pysWebUser$s  sWebGWc BsÏtZdZeZdZddddfdddd fd eed fd d ddfdd ddfdd ddfdd ddfdd ddfdd ddfdd d d!fg Zd"ei fd#„ƒYZ RS($Nshttpix#s refreshRatesIntegeris+Web interface will refresh every X seconds.ssessionTimeouti,sTimeout for inactivity.s@htmls HTML Optionsshtml.replyFontSizesStringsSmallsDefault font size for replies.shtml.replyFontColorsBlacksDefault font color for replies.shtml.inReplyFontColorsBluesLDefault font color for the command calling a reply.shtml.contentBackgroundColorswhitesLDefault background color for the main content area.shtml.generalFontSizessmallsDefault general font size.shtml.borderColors#999999sBorder color for content areas.shtml.buttonBackgroundColors#edededs+Default background color for input buttons.s FactoryClasscBstZd„Zd„ZRS(NcCstii|tƒƒdS(N(sserversSites__init__sselfsMainPage(sself((s./Gateway/gwhtml.pys__init__UscCs_|iƒ}t||ƒ}|iidƒ|_|}|i |sYou are logged in as %s.sYou are not Logged in.csˆiƒiiid|ƒS(Nshtml.%s(srequests getSessionssitescbspersonalRegistryValuesv(sv(srequest(s./Gateway/gwhtml.pys£sscontentspostForms controlBars loginLinesfontSizesgeneralFontSizes replySizes replyFontSizes replyColorsreplyFontColors inReplyColorsinReplyFontColorscontentBackgroundscontentBackgroundColorscontrolBackgroundsbuttonBackgroundColors borderColor(srssrefreshscontents loginLinesisAuthdsselfs getHostmasksrequestsgetRbufsTLOGINshtmloptsTALLsTPOSTsTCONTROLspage( sselfsrequestsisAuthdsrefreshsrss loginLinespagescontentshtmlopt((srequests./Gateway/gwhtml.pys render_ALL”s — cCs8|djo tƒSn|djo tƒSn|SdS(Nsloginslogout(snames LoginPages LogoutPagesself(sselfsnamesrequest((s./Gateway/gwhtml.pysgetChild³s     ( s__name__s __module__sisAuthds getHostmasksgetRbufs render_GETs render_POSTs render_ALLsgetChild(((s./Gateway/gwhtml.pysMainPageqs    s LogoutPagecBstZeZd„ZRS(NcCs?t|iƒdƒo|iƒiƒn|idƒdSdS(Nsauthds/slogout(shasattrsrequests getSessionsexpiresredirect(sselfsrequest((s./Gateway/gwhtml.pys render_GET¾s (s__name__s __module__sTruesisLeafs render_GET(((s./Gateway/gwhtml.pys LogoutPage»ss LoginPagecBs tZeZd„Zd„ZRS(NcCs|idƒdSdS(Ns/sno GET(srequestsredirect(sselfsrequest((s./Gateway/gwhtml.pys render_GETËs c Cs|idiƒ}|idiƒ}|iƒ}|iiii d|d|d|iƒiii d|i ƒƒ}|on|iƒiii |ƒ|_|ii|i_|i|iiƒ|iii|iƒ|idƒdSn|iƒ|idƒd SdS( Nsnamespasssusernamespasswordsprotocolspeers/sauthdsfailed(srequestsargsspopsunspws getSessionssessssitescbsgetUsersPROTOCOLs getClientIPsas USERCLASSsauthdsnotifyOnExpirescloses authorisedsredirectsexpire(sselfsrequestsassessspwsun((s./Gateway/gwhtml.pys render_POSTÏs     (s__name__s __module__sTruesisLeafs render_GETs render_POST(((s./Gateway/gwhtml.pys LoginPageÈs sk s“
sl
%(controlBar)s
%(loginLine)s %(content)s
%(postForm)s
s %(head)s %(body)s sheadsbodys/
Log in here.
Username
Password
(stimestwisted.internetsreactors twisted.websserversresourcesgwbases BasePluginsobjectsWebUsersWebGWsSessions SBSessionsResourcesMainPages LogoutPages LoginPagesTHEADsTCONTROLsTPOSTsTBODYsTALLsTLOGIN(sTLOGINs BasePluginsreactorsTPOSTsTBODYsserversWebGWsMainPages LoginPages LogoutPagesWebUserstimes SBSessionsresourcesTCONTROLsTALLsTHEAD((s./Gateway/gwhtml.pys?s   * J B