;ò
¢)?Bc           @   sê  d  Z  d k l Z d k Z d k Z d k Z d k Z d k Z d k Z d k	 Z	 d k
 Td k l Z l Z d k l Z l Z l Z d k l Z d k l Z d k l Z d	 k l Z d
 k l Z d k l Z d k l Z d k Td k l Z d k l Z e i  Z  e i! e i" ƒ d Z# d Z$ y e% e& f Wn e' j
 o d Z% d Z& n Xd „  Z( d d „ Z) d „  Z* d „  Z+ d „  Z, d d „ Z- d „  Z. d „  Z/ d „  Z0 d „  Z1 d „  Z2 d „  Z3 d  „  Z4 d! d" „ Z5 d# „  Z6 d S($   s<   Process and produce the list-administration options forms.

(   s   nested_scopesN(   s   *(   s	   lowercases   digits(   s   unquotes	   parseaddrs
   formataddr(   s   mm_cfg(   s   Utils(   s   MailList(   s   Errors(   s   MemberAdaptor(   s   i18n(   s   UserDesc(   s   Auth(   s   syslogs   
i   i   i    c          C   s  t  i ƒ  } | o t ƒ  d  Sn | d i ƒ  } y t i | d d ƒ} WnK t i	 j
 o< } t  i | ƒ } t t d ƒ ƒ t d d | ƒ d  Sn Xt i | i ƒ t i d d ƒ } | i t i t i f | i d d	 ƒ ƒ oY | i d ƒ o% t t d
 t d ƒ ƒ ƒ i ƒ  } n d	 } t i  | d d | ƒd  Sn t! | ƒ d j o d } t# } n< t! | ƒ d j o | d } t# } n | d } | d } | d j o/ | i% t i ƒ GHt i  | d d d ƒd  Sn | | i& ƒ  i' ƒ  j o
 d } n t# }  t) i* i+ d ƒ }	 t# }
 |	 o t i. |	 ƒ }
 n | i d ƒ o | i d ƒ }  n@ |
 o8 |
 i+ d ƒ } | o t0 | t1 ƒ o | d }  q˜n |  o t2 | |  ƒ d  Sn t3 ƒ  } | i | i ƒ | d „ } | i6 ƒ  z"t7 i7 t7 i8 | ƒ | i' ƒ  o$ t9 | | | | | ƒ | i: ƒ  n | i; o | i< o# | i= t d ƒ d t d ƒ ƒn | i; o
 | i> ƒ  o# | i= t d ƒ d t d ƒ ƒn | i< o
 | i? ƒ  o# | i= t d ƒ d t d ƒ ƒn t@ | | | | | ƒ | i ƒ  GH| iA ƒ  Wd  | iB ƒ  Xd  S(   Ni    s   locks&   No such list <em>%(safelistname)s</em>s   errors)   admin.py access for non-existent list: %ss   keep_blank_valuesi   s   adminpws    s   +1s   Authorization failed.s   admins   msgs   generali   s   logouts	   frontpages   QUERY_STRINGs   VARHELPc         C   s   | i ƒ  t i d ƒ d  S(   Ni    (   s   mlists   Unlocks   syss   exit(   s   signums   frames   mlist(    (    s!   /var/mailman/Mailman/Cgi/admin.pys   sigterm_handler    s    
s   You have turned off delivery of both digest and
                non-digest messages.  This is an incompatible state of
                affairs.  You must turn on either digest delivery or
                non-digest delivery or your mailing list will basically be
                unusable.s   tags	   Warning: sh   You have digest members, but digests are turned
                off. Those people will not receive mail.s™   You have regular list members but non-digestified mail is
                turned off.  They will receive mail until you fix this
                problem.(C   s   Utilss   GetPathPiecess   partss   admin_overviews   lowers   listnames   MailLists   mlists   Errorss   MMListErrors   es   websafes   safelistnames   _s   syslogs   i18ns   set_languages   preferred_languages   cgis   FieldStorages   cgidatas   WebAuthenticates   mm_cfgs   AuthListAdmins   AuthSiteAdmins   getvalues   has_keys   Bolds   FontSizes   Formats   msgs   Auths	   loginpages   lens   categorys   Nones   subcats	   ZapCookies   GetConfigCategoriess   keyss   varhelps   oss   environs   gets	   qsenvirons   parsedqss   parse_qss   qss
   isinstances   ListTypes   option_helps   Documents   docs   sigterm_handlers   Locks   signals   SIGTERMs   change_optionss   CheckValuess
   digestables   nondigestables   addErrors   getDigestMemberKeyss   getRegularMemberKeyss   show_resultss   Saves   Unlock(   s   varhelps   sigterm_handlers   categorys   safelistnames   partss   cgidatas   msgs   subcats   mlists	   qsenvirons   parsedqss   listnames   qss   es   doc(    (    s!   /var/mailman/Mailman/Cgi/admin.pys   main>   s’    		%





	
 s    c         C   s®  t  i ƒ  } t d ƒ } t ƒ  } | i t i	 ƒ | i
 | ƒ t d d d d ƒ } | i t t d | ƒ ƒ g ƒ | i | i ƒ  d d d d t i ƒg  } t  i ƒ  } | i ƒ  x€ | D]x } t i | d	 d ƒ}	 |	 i oS t i o |	 i i | ƒ d
 j o qº q2| i |	 i d ƒ |	 i |	 i  f ƒ qº qº W|  o t" |  d d d d ƒ} n t d ƒ } g  } t% t i& t d ƒ ƒ i' ƒ  } | o | i) | t d ƒ g ƒ n | i) | t d ƒ g ƒ t  i* d ƒ } t  i, ƒ  } |  o
 t d ƒ p d } | i) t d ƒ t% t  i* d ƒ t d ƒ ƒ d t d ƒ t% d | | ƒ d g ƒ | i t/ | Œ  g ƒ | i t0 | i ƒ  d ƒ d d d ƒ| oç | i d d g ƒ | i t1 t" t d ƒ d d  ƒƒ t1 t" t d! ƒ d d  ƒƒ g ƒ d" }
 xˆ | D]| \ } } } | i t% | t1 | ƒ ƒ | p t4 t d# ƒ ƒ g ƒ |
 o t i5 o  | i6 | i ƒ  d t i5 ƒn |
 }
 qñWn | i7 | ƒ | i7 d$ ƒ | i7 t8 ƒ  ƒ | i' ƒ  GHd  S(%   Ns(   %(hostname)s mailing lists - Admin Linkss   borderi    s   widths   100%i   s   colspans   bgcolors   lockiÿÿÿÿs   admins   colors   ff5060s   sizes   +1s   Welcome!s   Mailmansh   <p>There currently are no publicly-advertised %(mailmanlink)s
            mailing lists on %(hostname)s.s¾   <p>Below is the collection of publicly-advertised
            %(mailmanlink)s mailing lists on %(hostname)s.  Click on a list
            name to visit the configuration pages for that list.s   creates   right s    sR  To visit the administrators configuration page for an
        unadvertised list, open a URL similar to this one, but with a '/' and
        the %(extra)slist name appended.  If you have the proper authority,
        you can also <a href="%(creatorurl)s">create a new mailing list</a>.

        <p>General list information can be found at s   listinfos   the mailing list overview pages   .s#   <p>(Send questions and comments to s	   mailto:%ss   .)<p>s   &nbsp;s   Lists   +2s   Descriptioni   s   [no description available]s   <hr>(9   s   Utilss
   get_domains   hostnames   _s   legends   Documents   docs   set_languages   mm_cfgs   DEFAULT_SERVER_LANGUAGEs   SetTitles   Tables   tables   AddRows   Centers   Headers   AddCellInfos   GetCurrentRowIndexs   WEB_HEADER_COLORs
   advertiseds
   list_namess	   listnamess   sorts   names   MailLists   mlists   VIRTUAL_HOST_OVERVIEWs   web_page_urls   finds   appends   GetScriptURLs	   real_names   descriptions   msgs   FontAttrs   greetings   welcomes   Links   MAILMAN_URLs   Formats   mailmanlinks   extends	   ScriptURLs
   creatorurls   get_site_emails   mailman_owners   extras	   Containers   maxs   Bolds	   highlights   urls   Italics   WEB_HIGHLIGHT_COLORs
   AddRowInfos   AddItems   MailmanLogo(   s   msgs	   listnamess   extras
   advertiseds   tables   descriptions   hostnames   mailman_owners   welcomes   mlists	   highlights   legends
   creatorurls   names   urls   docs   greetings	   real_names   mailmanlink(    (    s!   /var/mailman/Mailman/Cgi/admin.pys   admin_overviewÒ   sb    	
 
#-2%C 5c         C   sv  t  ƒ  } | i |  i ƒ t } | i d ƒ } t
 | ƒ d j o t } } t
 | ƒ d j o | \ } } n' t
 | ƒ d j o | \ } } } n |  i | | ƒ } x5 | D]) } | o | d | j o | } Pq­ q­ Wn | o? t d ƒ } | i | ƒ | i |  i ƒ  ƒ | i ƒ  GHd  Sn t | ƒ \ } } }	 } } }
 |  i } t d ƒ } t  d d ƒ } | i" t# t$ d | ƒ ƒ g ƒ | i% | i& ƒ  d d	 d d
 t' i( ƒ| i) t d ƒ ƒ | i | ƒ | i d | | | f ƒ |
 o | i d |
 ƒ n | o  d |  i* d ƒ | | f } n d |  i* d ƒ | f } t, | ƒ } t  d d d d d d ƒ } t/ |  | | | | d d ƒ| i | ƒ | i d ƒ | i t# t0 ƒ  ƒ ƒ | i t# | ƒ ƒ | i t d ƒ ƒ |  i* d ƒ } | o d | | | f } n d | | f } |  i2 ƒ  | d } | i t4 | t d ƒ ƒ ƒ | i d ƒ | i |  i ƒ  ƒ | i ƒ  GHd  S(   Ns   /i   i   i    s   No valid variable name found.sP   %(realname)s Mailing list Configuration Help
    <br><em>%(varname)s</em> Options   widths   100%s   colspans   bgcolors$   Mailman %(varname)s List Option Helps   <b>%s</b> (%s): %s<p>s   %s<p>s   %s/%s/%ss   admins   %s/%ss   cellspacings   cellpaddingi   s   detailsps   <p>sÙ   <em><strong>Warning:</strong> changing this option here
    could cause other screens to be out-of-sync.  Be sure to reload any other
    pages that are displaying this option for this mailing list.  You can also
    s,   return to the %(categoryname)s options page.s   </em>(5   s   Documents   docs   set_languages   mlists   preferred_languages   Nones   items   varhelps   splits   reflists   lens   categorys   subcats   varnames   GetConfigInfos   optionss   is   _s   bads   addErrors   AddItems   GetMailmanFooters   Formats   get_item_characteristicss   kinds   paramss   dependanciess   descriptions   elaborations	   real_names   realnames   legends   Tables   headers   AddRows   Centers   Headers   AddCellInfos   GetCurrentRowIndexs   mm_cfgs   WEB_HEADER_COLORs   SetTitles   GetScriptURLs   urls   Forms   forms   valtabs   add_options_table_items   submit_buttons   adminurls   GetConfigCategoriess   categorynames   Link(   s   mlists   varhelps   reflists   adminurls   headers   urls   descriptions   categorys   categorynames   paramss   elaborations   subcats   realnames   forms   dependanciess   legends   kinds   is   docs   items   bads   valtabs   varnames   options(    (    s!   /var/mailman/Mailman/Cgi/admin.pys   option_help5  sl    	
 	 c         C   s)  |  i d ƒ } |  i ƒ  } t | | d ƒ } |  i } | i t d ƒ ƒ | i t t d t d ƒ ƒ ƒ ƒ | i d ƒ t } | d d f j o
 d	 } n | o# t d
 | | | f d | ƒ} n t d | | f d | ƒ} t d d d d ƒ }
 |
 i t t t d ƒ ƒ ƒ t t t d ƒ ƒ ƒ g ƒ t ƒ  } | i t |  i d ƒ t d ƒ ƒ ƒ | i t |  i d ƒ t d ƒ ƒ ƒ | i t |  i d ƒ t d ƒ ƒ ƒ | i t |  i ƒ  t d ƒ ƒ i ƒ  d ƒ t i o |  i ƒ  t i  j o9 | i t |  i d ƒ t d ƒ ƒ i ƒ  t d ƒ ƒ n | i t d | d t d  ƒ ƒ ƒ t ƒ  } } d! } | i$ ƒ  } t& | ƒ d } d } t } xš| D]’} t | | d ƒ } d | | f } | | j o|  i+ | ƒ } | oÖ t- i. ƒ  d" } x4 | D] \ } } | | j o PqöqöW| d d } g  } xY | D]Q \ } } | | j o t d# | ƒ i ƒ  } n | i3 t | d$ | | ƒ ƒ q3W| i t | ƒ i ƒ  t | Œ  i ƒ  ƒ qï| i t | t d# | ƒ ƒ ƒ n | i t | | ƒ ƒ | d% 7} | | j o t ƒ  } } t& | ƒ } q’q’Wt ƒ  } | i | | g ƒ | i5 | i6 ƒ  d d ƒ|  i7 o` t d& ƒ } | i t t d' t | ƒ ƒ ƒ g ƒ t i8 } | i: | i6 ƒ  d d( d d) | ƒn |
 i | | g ƒ | i |
 ƒ | i d ƒ | i t d* ƒ d+ ƒ | d j oxt- i. ƒ  d" } | d, d- d. f j o
 d, } n | i t; |  | | | | ƒ ƒ | i t t= d/ ƒ ƒ ƒ | d, j oÿ | i d0 ƒ t d d ƒ }	 |	 i t t d t d1 ƒ ƒ ƒ g ƒ |	 i: |	 i6 ƒ  d d( d d) t i? ƒ|	 i d2 d2 g ƒ |	 i t d3 ƒ g ƒ |	 i: |	 i6 ƒ  d d( d ƒ|	 i t@ d4 t d5 ƒ t d6 ƒ f |  iA ƒ tB d7 t d8 ƒ ƒ g ƒ | i |	 ƒ qnv | d9 j o3 | i t tC |  ƒ ƒ ƒ | i t t= ƒ  ƒ ƒ n6 | i tD |  | | | | ƒ ƒ | i t t= ƒ  ƒ ƒ | i | ƒ | i |  iE ƒ  ƒ d  S(:   Ns   admini    s'   %(realname)s Administration (%(label)s)i   s=   %(realname)s mailing list administration<br>%(label)s Sections   <hr>s	   autoreplys   memberss   multipart/form-datas   %s/%s/%ss   encodings   %s/%ss   valigns   tops   widths   100%s   Configuration Categoriess   Other Administrative Activitiess   admindbs"   Tend to pending moderator requestss   listinfos'   Go to the general list information pages   edithtmls   Edit the public HTML pagess   Go to list archivess   <br>&nbsp;<br>s   rmlists   Delete this mailing lists&    (requires confirmation)<br>&nbsp;<br>s	   %s/logouts    <FONT SIZE="+2"><b>%s</b></FONT>s   Logouts    iÿÿÿÿs   [%s]s   /i   s3   Emergency moderation of all list traffic is enableds   ?VARHELP=general/emergencys   colspans   bgcolorsy   Make your changes in the following section, then submit them
        using the <em>Submit Your Changes</em> button below.s   <p>s   lists   adds   removes   setmemberopts_btns   <hr>
s   Additional Member Taskss   &nbsp;s\   <li>Set everyone's moderation bit, including
            those members not currently visibles   allmodbit_vals   Offs   Ons   allmodbit_btns   Sets	   passwords(F   s   mlists   GetScriptURLs   adminurls   GetConfigCategoriess
   categoriess   _s   categorys   labels	   real_names   realnames   docs   SetTitles   AddItems   Centers   Headers   Nones   encodings   subcats   Forms   forms   Tables	   linktables   AddRows   Bolds   UnorderedLists
   otherlinkss   Links   GetBaseArchiveURLs   Formats   mm_cfgs!   OWNERS_CAN_DELETE_THEIR_OWN_LISTSs   internal_names   MAILMAN_SITE_LISTs   categorylinks_1s   categorylinkss   categorylinks_2s   keyss   categorykeyss   lens   halfs   counters   ks   urls   GetConfigSubCategoriess   subcatss   Utilss   GetPathPiecess   vs   subcat_itemss   subs   texts   appends   etables
   AddRowInfos   GetCurrentRowIndexs	   emergencys   WEB_ERROR_COLORs   colors   AddCellInfos   membership_optionss   cgidatas   submit_buttons   tables   WEB_HEADER_COLORs   RadioButtonArrays   default_member_moderations   SubmitButtons   password_inputss   show_variabless   GetMailmanFooter(   s   mlists   docs   categorys   subcats   cgidatas   encodings   adminurls   texts   etables   tables	   linktables   labels   colors   subcatss
   categoriess   categorykeyss   subcat_itemss   realnames   forms   vs   halfs   subs
   otherlinkss   urls   ks   counters   categorylinks_1s   categorylinkss   categorylinks_2(    (    s!   /var/mailman/Mailman/Cgi/admin.pys   show_results~  sÊ    	"
7	 $  	 "-$
	
%	
%"c         C   s   |  i | | ƒ }
 t d d d d d d ƒ } |  i ƒ  } t	 | | d ƒ } | i t t d | ƒ ƒ g ƒ | i | i ƒ  d d	 d d
 t i ƒ|
 d } t | t ƒ o: | i | g ƒ | i | i ƒ  d d	 d ƒ|
 d }
 n |
 o | Sn | i t t t	 d ƒ ƒ ƒ t t t	 d ƒ ƒ ƒ g ƒ | i t | i ƒ  d ƒ d d d ƒ| i t | i ƒ  d ƒ d d d ƒxs |
 D]k }	 t |	 ƒ t j o< | i t t |	 ƒ ƒ g ƒ | i | i ƒ  d d	 d ƒq}t |  | | | |	 ƒ q}W| i d g ƒ | i | i ƒ  d d	 d ƒ| Sd  S(   Ns   cellspacingi   s   cellpaddingi   s   widths   100%i    i   s   colspans   bgcolori   s   Descriptions   Values   15%s   85%s   <br>(   s   mlists   GetConfigInfos   categorys   subcats   optionss   Tables   tables   GetConfigCategoriess
   categoriess   _s   labels   AddRows   Centers   Headers   AddCellInfos   GetCurrentRowIndexs   mm_cfgs   WEB_HEADER_COLORs   descriptions
   isinstances
   StringTypes   Bolds   maxs   items   types   Italics   add_options_table_item(   s   mlists   categorys   subcats   cgidatas   docs   tables   descriptions   labels
   categoriess   items   options(    (    s!   /var/mailman/Mailman/Cgi/admin.pys   show_variables  s8    
7

  c         C   sÃ   t  | ƒ \ } } } }
 }	 } | t j o
 |	 } n t	 |  | | | |	 | | ƒ }	 t |  | | | | |
 ƒ } | i |	 | g ƒ | i | i ƒ  d d t i ƒ| i | i ƒ  d d t i ƒd  S(   Ni    s   bgcolori   (   s   get_item_characteristicss   items   varnames   kinds   paramss   extras   descrs   elaborations   Nones   get_item_gui_descriptions   mlists   categorys   subcats   detailsps   get_item_gui_values   vals   tables   AddRows   AddCellInfos   GetCurrentRowIndexs   mm_cfgs   WEB_ADMINITEM_COLOR(   s   mlists   categorys   subcats   tables   items   detailsps   kinds   elaborations   vals   descrs   extras   varnames   params(    (    s!   /var/mailman/Mailman/Cgi/admin.pys   add_options_table_itemB  s    
c         C   sŠ   t  |  ƒ d j o t } |  \ } } } } } n? t  |  ƒ d j o |  \ } } } } } } n t	 t
 d ƒ ‚ | | | | | | f Sd  S(   Ni   i   s'   Badly formed options entry:
 %(record)s(   s   lens   records   Nones   elaborations   varnames   kinds   paramss   dependanciess   descrs
   ValueErrors   _(   s   records   elaborations   descrs   varnames   kinds   paramss   dependancies(    (    s!   /var/mailman/Mailman/Cgi/admin.pys   get_item_characteristicsS  s    
c         C   sÒ  t  } |  i ƒ  | \ } } t | d ƒ o | i |  | | | ƒ } n | t  j o | i d ƒ o t |  | ƒ } n | t i j p | t i j o^ | i d ƒ o
 d } n | } | d j o t i o | d } n t | | | | ƒ SnØ| t i j p- | t i j p | t i j p | t i j o t | | | ƒ Sn„| t i j oG | o | \ } } n t  t  f \ } } t | | p d | | ƒ Sn-| t i t i f j oU | o | \ } } n t  t  f \ } } t  i! | ƒ }	 t | |	 | | d d ƒSn¿| t i# j o  | o | \ } } n t  t  f \ } } t$ ƒ  } | i& t' d	 ƒ ƒ | i& t | | p d | | ƒ ƒ | i& t' d
 ƒ ƒ | i& t# | d | | ƒ ƒ | Sn| t i( j oj | o | \ } } }
 n: |  i, ƒ  } t- t' t- t. i/ | ƒ ƒ } | i0 |  i1 ƒ }
 t2 | | | |
 ƒ Sn•| t i3 j o¢ t4 d d ƒ } t6 | d „ } d } t |  | ƒ } x: | D]2 \ } } } } | | | | | | ƒ | d 7} q„W| d j o | | d d d d t> ƒn | Snã | t i? j oœ t4 d d ƒ } t6 | d „ } d } t |  | ƒ } x4 | D], \ } } } | | | | | ƒ | d 7} q6W| d j o | | d t iA d t> ƒn | Sn7 | t iB j o tC | | Œ Sn d p tD d | ‚ d S(   s.   Return a representation of an item's settings.s   getValues   _i    s   subscribe_policyi   s    s   wraps   offs(   <em>Enter the text below, or...</em><br>s,   <br><em>...specify a file to upload</em><br>s   _uploads   borderc         C   sã  d |  } d |  } d |  }
 d |  } d |  } d |  }	 d |  } | o/ | i
 t t t d ƒ ƒ ƒ t | ƒ g ƒ n5 | i
 t t t d ƒ ƒ ƒ t | t d	 ƒ ƒ g ƒ | i
 t t d
 ƒ ƒ t | d | d d ƒg ƒ | i
 t t d ƒ ƒ t |
 d | d d d d d d ƒg ƒ | i
 t t d ƒ ƒ t | d | d d d d d d ƒg ƒ | oP | i
 t |	 t d ƒ ƒ t | d d f t d ƒ t d ƒ f d d ƒg ƒ n | i
 d g ƒ | i | i ƒ  d d  d! ƒd  S("   Ns   topic_delete_%02ds   topic_box_%02ds   topic_rebox_%02ds   topic_desc_%02ds   topic_where_%02ds   topic_add_%02ds   topic_new_%02ds   Topic %(i)ds   Deletes   Topic name:s   values   sizei   s   Regexp:s   texts   rowsi   s   colss   wraps   offs   Description:s   softs   Add new item...s   befores   afters   ...before this one.s   ...after this one.s   selectedi   s   <hr>i    s   colspani   (   s   is   deltags   boxtags   reboxtags   desctags   wheretags   addtags   newtags   emptys   tables   AddRows   Centers   Bolds   _s   Hiddens   SubmitButtons   Labels   TextBoxs   names   TextAreas   patterns   descs   SelectOptionss   AddCellInfos   GetCurrentRowIndex(   s   is   names   patterns   descs   emptys   tables   boxtags   desctags   deltags   addtags   reboxtags   wheretags   newtag(    (    s!   /var/mailman/Mailman/Cgi/admin.pys   makebox°  s*    






/41!!'s   emptyc         C   sp  d |  } d |  }
 d |  } d |  } d |  } d |  } d |  } d |  } | o/ | i t t t d	 ƒ ƒ ƒ t | ƒ g ƒ n5 | i t t t d	 ƒ ƒ ƒ t | t d
 ƒ ƒ g ƒ | i t t d ƒ ƒ t |
 d | d d d d d d ƒg ƒ t i t i t i t i t i g } y | i | ƒ }	 Wn t j
 o d }	 n Xt | t d ƒ t d ƒ t d ƒ t d ƒ t d ƒ f d | d |	 ƒi  ƒ  } | i t t d ƒ ƒ | g ƒ | o | i t | t d ƒ ƒ t" | d d f t d ƒ t d  ƒ f d! d" ƒg ƒ | i t | t d# ƒ ƒ t | t d$ ƒ ƒ g ƒ n | i d% g ƒ | i# | i$ ƒ  d d& d' ƒd  S((   Ns   hdrfilter_delete_%02ds   hdrfilter_rebox_%02ds   hdrfilter_action_%02ds   hdrfilter_where_%02ds   hdrfilter_add_%02ds   hdrfilter_new_%02ds   hdrfilter_up_%02ds   hdrfilter_down_%02ds   Spam Filter Rule %(i)ds   Deletes   Spam Filter Regexp:s   texts   rowsi   s   colsi   s   wraps   offi    s   Defers   Holds   Rejects   Discards   Accepts   valuess   checkeds   Action:s   Add new item...s   befores   afters   ...before this one.s   ...after this one.s   selectedi   s   Move rule ups   Move rule downs   <hr>s   colspani   (%   s   is   deltags   reboxtags	   actiontags   wheretags   addtags   newtags   uptags   downtags   emptys   tables   AddRows   Centers   Bolds   _s   Hiddens   SubmitButtons   Labels   TextAreas   patterns   mm_cfgs   DEFERs   HOLDs   REJECTs   DISCARDs   ACCEPTs   valuess   indexs   actions   checkeds
   ValueErrors   RadioButtonArrays   Formats   radios   SelectOptionss   AddCellInfos   GetCurrentRowIndex(   s   is   patterns   actions   emptys   tables   downtags   radios   deltags   addtags   checkeds   reboxtags   uptags	   actiontags   wheretags   newtags   values(    (    s!   /var/mailman/Mailman/Cgi/admin.pys   makeboxá  s<    







/4!$0'5s   Bad gui widget type: %sN(E   s   Nones   values   mlists   GetConfigCategoriess   categorys   labels   guis   hasattrs   getValues   kinds   varnames   paramss
   startswiths   getattrs   mm_cfgs   Radios   Toggles   checkeds   ALLOW_OPEN_SUBSCRIBEs   RadioButtonArrays   extras   Strings   Emails   Hosts   Numbers   TextBoxs   Texts   rs   cs   TextAreas	   EmailLists   EmailListExs   NLs   joins   ress
   FileUploads	   Containers	   containers   AddItems   _s   Selects   valuess   legends   selecteds   GetAvailableLanguagess   maps   Utilss   GetLanguageDescrs   indexs   preferred_languages   SelectOptionss   Topicss   Tables   tables   Falses   makeboxs   is   datas   names   patterns   descs   emptys   Trues   HeaderFilters   actions   DEFERs   Checkboxs   CheckBoxArrays   AssertionError(   s   mlists   categorys   kinds   varnames   paramss   extras	   containers   tables   checkeds   ress   selecteds   labels   makeboxs   descs   emptys   cs   datas   legends   names   is   guis   values   rs   valuess   patterns   action(    (    s!   /var/mailman/Mailman/Cgi/admin.pys   get_item_gui_valueh  sŽ      	
@	#  / c         C   së   | o™ | o d | | | f } n d | | f } | | j o t d ƒ }	 n t d ƒ }	 t	 |  i d ƒ | |	 ƒ i ƒ  } t d | | f ƒ i ƒ  }
 n t | ƒ i ƒ  }
 | d d j o  |
 t t d	 ƒ ƒ i ƒ  7}
 n |
 Sd  S(
   Ns   /?VARHELP=%s/%s/%ss   /?VARHELP=%s/%ss   <br>(Edit <b>%(varname)s</b>)s$   <br>(Details for <b>%(varname)s</b>)s   admins   %s %si    s   _sˆ   <br><em><strong>Note:</strong>
        setting this value performs an immediate action but does not modify
        permanent state.</em>(   s   detailsps   subcats   categorys   varnames   varhelps   descrs   elaborations   _s   linktexts   Links   mlists   GetScriptURLs   Formats   links   Labels   text(   s   mlists   categorys   subcats   varnames   descrs   elaborations   detailsps   varhelps   links   linktexts   text(    (    s!   /var/mailman/Mailman/Cgi/admin.pys   get_item_gui_description!  s      c   C      C   sù  |  i d d d ƒ}3 t ƒ  } t d d ƒ }# | d j ol |# i t	 t
 d t d ƒ ƒ ƒ g ƒ |# i |# i ƒ  d	 d
 d d t i ƒ| i |# ƒ t |  | ƒ | Sn | d j ol |# i t	 t
 d t d ƒ ƒ ƒ g ƒ |# i |# i ƒ  d	 d
 d d t i ƒ| i |# ƒ t |  | ƒ | Sn |# i t	 t
 d t d ƒ ƒ ƒ g ƒ |# i |# i ƒ  d	 d
 d d t i ƒ| i |# ƒ t d d ƒ }% t d t d ƒ ƒ i ƒ  }* |% i t t d ƒ ƒ t d d | i d d ƒ ƒt d t d ƒ ƒ g ƒ | i |% ƒ | i d ƒ t d d d d ƒ }@ |  i } g  i }A |  i! ƒ  D] }	 |A |	 i# ƒ  ƒ q5~A } | i% d „  ƒ | i d d ƒ i& ƒ  } | oÞ y t( i) | t( i* ƒ } Wn- t( i, j
 o | i. t d ƒ | ƒ qaXg  i }A | D]  }6 |A |  i0 |6 ƒ p d ƒ qÚ~A }$ g  i }A t2 |$ | ƒ D]: \ }/ }= | i5 |/ ƒ p | i5 |= ƒ o |A |= ƒ qq~A } n t6 }< t6 }- t6 }9 t: | ƒ | j  o
 | } nôh  } x7 | D]/ } | i> | d	 i? ƒ  g  ƒ } | i | ƒ qWt6 }- h  } tA iB iC d ƒ }+ |+ oJ tE iF |+ ƒ } | iC d d ƒ d	 i? ƒ  }- |- tG tH j o
 t6 }- q?n |- p | iI |- ƒ o$ | iJ ƒ  }8 |8 i% ƒ  |8 d	 }- n | |- } |3 d  |- }  t: | ƒ | j o | iM |  ƒ nÌ tN t: | ƒ | ƒ \ }0 }1 |0 |1 d } d	 }< | iI d! ƒ o\ y tR | d! d	 ƒ }< Wn tS j
 o d	 }< n X|< d	 j  p
 |< | j o
 d	 }< qUn | |< | |< d | !} | iM |  d" |< ƒ t: | ƒ }; |- o2 t: | ƒ } |@ i t	 tV t d# ƒ ƒ ƒ g ƒ n# |@ i t	 tV t d$ ƒ ƒ ƒ g ƒ |@ i |@ i ƒ  |@ iW ƒ  d
 tX d t iY ƒ|- oÇ g  }, x tG tH D] }: | iC |: ƒ o q-n |3 d  |: }? |: |- j o  t] d% |: i^ ƒ  ƒ i ƒ  } n |: i^ ƒ  } |, i t |? | ƒ i ƒ  ƒ q-Wd& d d' } |@ i t	 | ia |, ƒ ƒ g ƒ n |@ i |@ i ƒ  |@ iW ƒ  d
 tX d t iY ƒ|@ i g  i }A t d( ƒ t d) ƒ t d* ƒ t d+ ƒ t d, ƒ t d- ƒ t d. ƒ t d/ ƒ t d0 ƒ t d1 ƒ t d2 ƒ f D] } |A t	 | ƒ ƒ q…~A ƒ |@ i ƒ  } x- td tX ƒ D] }0 |@ i | |0 d t iY ƒq¾Wd	 } | ot tf t6 g  i }A | D] }6 |A |  i0 |6 ƒ ƒ q~A ƒ }$ tg g  i }A |$ | D] }6 |A t: |6 ƒ ƒ q<~A ƒ } n h  th ii t d3 ƒ <th ij t d4 ƒ <th ik t d5 ƒ <th il t d6 ƒ <} x| D]‡} t |  in | d7 d ƒ|  io | ƒ ƒ }* tp iq |  i0 | ƒ |  ir ƒ }2 t | d8 |2 d9 | ƒi ƒ  } t	 tu | d: d; d	 ƒ i ƒ  ƒ |* i ƒ  d< | tv d= tw ix | ƒ ƒ i ƒ  g }, |  iy | t iz ƒ o d> }. d }' n d; }. d	 }' tu d? | |. |' ƒ } |, i t	 | ƒ i ƒ  ƒ xì d+ d@ d- dA d/ f D]Õ }
 d }" |
 d@ j oM |  i€ | ƒ }7 |7 th i‚ j o d; }. d	 }' q†
d> }. d }' d% | |7 }" n7 |  iy | t iƒ |
 ƒ o d> }. d }' n d; }. d	 }' tu dB | |
 f |. |' ƒ } |, i t	 | i ƒ  |" ƒ ƒ qê	W| |  i„ ƒ  j o- |, i t	 tu | dC d; d	 ƒ i ƒ  ƒ ƒ n* |, i t	 tu | dC d> d ƒ i ƒ  ƒ ƒ |  iy | t iƒ d1 ƒ o d> }. d }' n d; }. d	 }' |, i t	 tu dD | |. |' ƒ ƒ ƒ |  i… | ƒ }5 |  i‡ ƒ  } g  i }A | D] }! |A t tp iŠ |! ƒ ƒ ƒ q®~A }B y | iŒ |5 ƒ } Wn tS j
 o d	 } n X|, i t	 tŽ | dE | |B | ƒ ƒ i ƒ  ƒ |@ i |, ƒ q·Wt ƒ  } | i t dF ƒ ƒ | i t dG ƒ ƒ | i t dH ƒ ƒ | i t dI ƒ ƒ | i t dJ ƒ ƒ | i t dK ƒ ƒ | i t dL ƒ ƒ | i t dM ƒ ƒ | i t dN ƒ ƒ | i t dO ƒ ƒ d }) d	 }& tA iB iC d ƒ }+ |+ oX tE iF |+ ƒ iC dP ƒ } | o t“ | t” ƒ o | d	 } n | dQ j o
 dR }) q†n |) o; | i | i ƒ  dS ƒ | i t |3 dT t dU ƒ ƒ ƒ n! | i t |3 dV t dW ƒ ƒ ƒ | i t	 |@ ƒ ƒ |< t6 j	 oé g  } |3 dX |) |- f }? t dY ƒ }> | |- } t: | ƒ } x td | ƒ D]q }0 |0 |< j o qQn | |0 | }( | tš |0 d | | ƒ d }4 t |? dZ |0 t d[ ƒ ƒ }* | i |* ƒ qQWt | Œ  } | i |> | i ƒ  dS ƒ n | Sd  S(\   Ns   admins   absolutei   s   widths   100%s   addi   s   Mass Subscriptionsi    s   colspans   bgcolors   removes   Mass Removalss   Membership Lists4   http://www.python.org/doc/current/lib/re-syntax.htmls   (help)s   Find member %(link)s:s
   findmembers   values    s   findmember_btns	   Search...s   <hr><p>s   90%s   borders   2c         C   s   t  |  i ƒ  | i ƒ  ƒ S(   N(   s   cmps   xs   lowers   y(   s   xs   y(    (    s!   /var/mailman/Mailman/Cgi/admin.pys   <lambda>g  s    s   Bad regular expression: s   QUERY_STRINGs   letters   as   /members?letter=%ss   chunks	   &chunk=%ss-   %(allcnt)s members total, %(membercnt)s showns   %(allcnt)s members totals   [%s]s   &nbsp;s   
s   unsubs   member address<br>member names   mods   hides   nomail<br>[reason]s   acks	   not metoos   nodupess   digests   plains   languages   ?s   Us   As   Bs   obscures	   _realnames   sizes   _unsubs   offs   <br>s   users   ons   %s_mods   nomails   notmetoos   %s_%ss   _digests   %s_plains	   _languages8   <b>unsub</b> -- Click on this to unsubscribe the member.sš   <b>mod</b> -- The user's personal moderation flag.  If this is
        set, postings from them will be moderated, otherwise they will be
        approved.sT   <b>hide</b> -- Is the member's address concealed on
        the list of subscribers?sä  <b>nomail</b> -- Is delivery to the member disabled?  If so, an
        abbreviation will be given describing the reason for the disabled
        delivery:
            <ul><li><b>U</b> -- Delivery was disabled by the user via their
                    personal options page.
                <li><b>A</b> -- Delivery was disabled by the list
                    administrators.
                <li><b>B</b> -- Delivery was disabled by the system due to
                    excessive bouncing from the member's address.
                <li><b>?</b> -- The reason for disabled delivery isn't known.
                    This is the case for all memberships which were disabled
                    in older versions of Mailman.
            </ul>sJ   <b>ack</b> -- Does the member get acknowledgements of their
        posts?sW   <b>not metoo</b> -- Does the member want to avoid copies of their
        own postings?sW   <b>nodupes</b> -- Does the member want to avoid duplicates of the
        same message?sb   <b>digest</b> -- Does the member get messages in digests?
        (otherwise, individual messages)sf   <b>plain</b> -- If getting digests, does the member get plain
        text digests?  (otherwise, MIME)s1   <b>language</b> -- Language preferred by the users   legends   yess   legend=yes&s   <p>s   /members/lists-   Click here to hide the legend for this table.s   /members/list?legend=yess0   Click here to include the legend for this table.s   /members?%sletter=%s&sV   <p><em>To view more members, click on the appropriate
        range listed below:</em>s   chunk=%ds   from %(start)s to %(end)s(œ   s   mlists   GetScriptURLs   adminurls	   Containers	   containers   Tables   headers   subcats   AddRows   Centers   Headers   _s   AddCellInfos   GetCurrentRowIndexs   mm_cfgs   WEB_HEADER_COLORs   AddItems   mass_subscribes   mass_removes   tables   Links   Formats   links   Labels   TextBoxs   cgidatas   getvalues   SubmitButtons	   usertables   admin_member_chunksizes   chunkszs   appends   _[1]s
   getMemberss   _ms   encodes   alls   sorts   strips   regexps   res   compiles
   IGNORECASEs   cres   errors   docs   addErrors   ss   getMemberNames   namess   zips   ns   as   searchs   Nones
   chunkindexs   buckets	   actionurls   lens   memberss   bucketss   addrs
   setdefaults   lowers   qss   oss   environs   gets	   qsenvirons   cgis   parse_qss   digitss	   lowercases   has_keys   keyss   actions   forms
   set_actions   divmods   is   rs	   numchunkss   ints
   ValueErrors   allcnts	   membercnts   Italics   GetCurrentCellIndexs
   OPTCOLUMNSs   WEB_ADMINITEM_COLORs   cellss   letters   urls   Bolds   uppers   shows   joiners   joins   hs   rowindexs   ranges   longests   filters   maxs   MemberAdaptors   UNKNOWNs   BYUSERs   BYADMINs   BYBOUNCEs
   ds_abbrevss   GetOptionsURLs   getMemberCPAddresss   Utilss
   uncanonstrs   preferred_languages   fullnames   names   CheckBoxs   Hiddens   urllibs   quotes   getMemberOptions   Moderates   values   checkeds   boxs   opts   extras   getDeliveryStatuss   statuss   ENABLEDs   OPTINFOs   getRegularMemberKeyss   getMemberLanguages   langprefs   GetAvailableLanguagess   langss   langs   GetLanguageDescrs	   langdescss   indexs   selecteds   SelectOptionss   UnorderedLists   legends	   addlegends   parsedqss
   isinstances   ListTypes   buttonss   footers   chunkmemberss   lasts   starts   mins   end(C   s   mlists   subcats   cgidatas   docs   forms   alls   shows	   numchunkss   buttonss   _ms   opts   rowindexs   longests   qss   names   hs   cres	   membercnts   joiners   chunkmemberss	   containers   addrs   chunkszs   selecteds   bucketss
   ds_abbrevss   memberss   regexps   langss   legends   boxs   lasts   actions   langs   extras   headers   namess   tables   parsedqss   checkeds   starts	   addlegends   links	   qsenvirons   cellss   buckets   values   ns   is   rs   fullnames   adminurls   ends   langprefs   ss   statuss   keyss	   actionurls   letters   allcnts
   chunkindexs   as   footers   urls	   usertables   _[1]s	   langdescs(    (    s!   /var/mailman/Mailman/Cgi/admin.pys   membership_options=  s¤   	%%%.	37^
 

&"	   #	— 9;N R
 

!-)
#6	
 c         C   s  t  i } t d d ƒ } | i t t d ƒ ƒ t d t d ƒ t d ƒ f d d d d	 f ƒg ƒ | i	 | i
 ƒ  d d
 | ƒ| i	 | i
 ƒ  d	 d
 | ƒ| i t t d ƒ ƒ t d t d ƒ t d ƒ f |  i d d d	 f ƒg ƒ | i	 | i
 ƒ  d d
 | ƒ| i	 | i
 ƒ  d	 d
 | ƒ| i t t d ƒ ƒ t d t d ƒ t d ƒ f |  i d d d	 f ƒg ƒ | i	 | i
 ƒ  d d
 | ƒ| i	 | i
 ƒ  d	 d
 | ƒ| i t t d ƒ ƒ g ƒ | i	 | i
 ƒ  d d d ƒ| i t t d d d d d d d t ƒ ƒ g ƒ | i	 | i
 ƒ  d d d ƒ| i t t t d ƒ ƒ ƒ t d d d ƒg ƒ | i t | ƒ ƒ | i d d g ƒ | i t t d ƒ ƒ g ƒ | i	 | i
 ƒ  d d d ƒ| i t t d d  d d d d d t ƒ ƒ g ƒ | i	 | i
 ƒ  d d d ƒd  S(!   Ns   widths   90%s)   Subscribe these users now or invite them?s   subscribe_or_invites	   Subscribes   Invitei    s   valuesi   s   bgcolors)   Send welcome messages to new subscribees?s   send_welcome_msg_to_this_batchs   Nos   Yess:   Send notifications of new subscriptions to the list owner?s    send_notifications_to_list_owners#   Enter one address per line below...s   colspani   s   names   subscribeess   rowsi
   s   colss   70%s   wraps   ...or specify a file to upload:s   subscribees_uploads   50s   &nbsp;sŸ   Below, enter additional text to be added to the
    top of your invitation or the subscription notification.  Include at least
    one blank line at the end...s
   invitation(   s   mm_cfgs   WEB_ADMINITEM_COLORs   GREYs   Tables   tables   AddRows   Labels   _s   RadioButtonArrays   AddCellInfos   GetCurrentRowIndexs   mlists   send_welcome_msgs   admin_notify_mchangess   Italics   Centers   TextAreas   Nones
   FileUploads	   containers   AddItem(   s   mlists	   containers   GREYs   table(    (    s!   /var/mailman/Mailman/Cgi/admin.pys   mass_subscribek  s@    	1c         C   sê  t  i } t d d ƒ } | i t t d ƒ ƒ t d t d ƒ t d ƒ f d d d d	 f ƒg ƒ | i	 | i
 ƒ  d d
 | ƒ| i	 | i
 ƒ  d	 d
 | ƒ| i t t d ƒ ƒ t d t d ƒ t d ƒ f |  i d d d	 f ƒg ƒ | i	 | i
 ƒ  d d
 | ƒ| i	 | i
 ƒ  d	 d
 | ƒ| i t t d ƒ ƒ g ƒ | i	 | i
 ƒ  d d d ƒ| i t t d d d d d d d t ƒ ƒ g ƒ | i	 | i
 ƒ  d d d ƒ| i t t t d ƒ ƒ ƒ t d d d ƒg ƒ | i t | ƒ ƒ d  S(   Ns   widths   90%s0   Send unsubscription acknowledgement to the user?s   send_unsub_ack_to_this_batchs   Nos   Yesi    s   valuesi   s   bgcolors%   Send notifications to the list owner?s&   send_unsub_notifications_to_list_owners#   Enter one address per line below...s   colspani   s   names   unsubscribeess   rowsi
   s   colss   70%s   wraps   ...or specify a file to upload:s   unsubscribees_uploads   50(   s   mm_cfgs   WEB_ADMINITEM_COLORs   GREYs   Tables   tables   AddRows   Labels   _s   RadioButtonArrays   AddCellInfos   GetCurrentRowIndexs   mlists   admin_notify_mchangess   Italics   Centers   TextAreas   Nones
   FileUploads	   containers   AddItem(   s   mlists	   containers   GREYs   table(    (    s!   /var/mailman/Mailman/Cgi/admin.pys   mass_remove  s(    	1c      	   C   sµ  |  i d d d ƒ} t d d d d ƒ } | i t t d t d	 ƒ ƒ ƒ g ƒ | i	 | i
 ƒ  d
 d d d t i ƒ| i t d ƒ g ƒ | i	 | i
 ƒ  d
 d d ƒt d d
 d d d d d t i ƒ } | i t t d ƒ ƒ t d d d ƒg ƒ | i t t d ƒ ƒ t d d d ƒg ƒ t d d
 d d d d d t i ƒ } | i t t d ƒ ƒ t d d d ƒg ƒ | i t t d ƒ ƒ t d d d ƒg ƒ | i | | g ƒ | Sd  S(   Ns   admins   absolutei   s   cellspacingi   s   cellpaddingi   i   s   Change list ownership passwordsi    s   colspans   bgcolors\  The <em>list administrators</em> are the people who have ultimate control over
all parameters of this mailing list.  They are able to change any list
configuration variable available through these administration web pages.

<p>The <em>list moderators</em> have more limited permissions; they are not
able to change any list configuration variable, but they are allowed to tend
to pending administration requests, including approving or rejecting held
subscription requests, and disposing of held postings.  Of course, the
<em>list administrators</em> can also tend to pending requests.

<p>In order to split the list ownership duties into administrators and
moderators, you must set a separate moderator password in the fields below,
and also provide the email addresses of the list moderators in the
<a href="%(adminurl)s/general">general options section</a>.s   borders!   Enter new administrator password:s   newpws   sizei   s   Confirm administrator password:s	   confirmpws   Enter new moderator password:s   newmodpws   Confirm moderator password:s   confirmmodpw(   s   mlists   GetScriptURLs   adminurls   Tables   tables   AddRows   Centers   Headers   _s   AddCellInfos   GetCurrentRowIndexs   mm_cfgs   WEB_HEADER_COLORs   WEB_ADMINPW_COLORs   atables   Labels   PasswordBoxs   mtable(   s   mlists   atables   adminurls   mtables   table(    (    s!   /var/mailman/Mailman/Cgi/admin.pys   password_inputs½  s"    %++++s   submitc         C   sd   t  d d d d d d ƒ } | i t t |  t d ƒ ƒ ƒ g ƒ | i | i ƒ  d d d ƒ| Sd  S(	   Ns   borderi    s   cellspacings   cellpaddingi   s   Submit Your Changess   aligns   middle(	   s   Tables   tables   AddRows   Bolds   SubmitButtons   names   _s   AddCellInfos   GetCurrentRowIndex(   s   names   table(    (    s!   /var/mailman/Mailman/Cgi/admin.pys   submit_buttonç  s    %c   4         s¾  t  ‡  d † } d } ˆ  i d d ƒ i ƒ  } ˆ  i d d ƒ i ƒ  } | p | o@ | | j o t i | ƒ i	 ƒ  |  _ q“ | i t d ƒ ƒ n ˆ  i d d ƒ i ƒ  } ˆ  i d d ƒ i ƒ  } | p | oQ | | j o- t i | ƒ i	 ƒ  |  _ |  i t i ƒ GHq"| i t d	 ƒ ƒ n |  i ƒ  }$ |$ | \ } }( | d
 j o |( i |  | | ˆ  | ƒ n d }  |  ˆ  i d d ƒ 7}  |  ˆ  i d d ƒ 7}  |  ozt t  g  i } |  i ƒ  D] }+ | |+ i ƒ  ƒ q»~ ƒ }! | d |  i! ƒ } | d |  i" ƒ }3 | d d ƒ }& ˆ  i d d ƒ }/ |  i& } |  i( o
 d } n |  i) o
 d } n g  }, g  } x |! D]˜}0 t- |0 ƒ \ }1 } t0 i1 |1 |  i2 ƒ }1 t3 | |1 t0 i4 ƒ  | |  i2 ƒ }
 yX |& o1 |  i6 | ƒ o t7 i8 ‚ q|  i9 |
 |/ ƒ n |  i: |
 | |3 |/ d d ƒWn¾ t7 i8 j
 o  |, i |0 t d ƒ f ƒ qht7 i; j
 oS |
 i/ d j o# |, i t d ƒ t d ƒ f ƒ q |, i |0 t d ƒ f ƒ qht7 i< j
 o  |, i |0 t d ƒ f ƒ qhXt0 i= t> |1 | f ƒ ƒ } | i t0 i@ | ƒ ƒ qhW| og |& o  | iA tB d t d ƒ ƒ ƒ n | iA tB d t d ƒ ƒ ƒ | iA tC | Œ  ƒ | iA d ƒ n |, ož |& o  | iA tB d t d ƒ ƒ ƒ n | iA tB d t d ƒ ƒ ƒ g  i } |, D]  \ }" } | d |" | f ƒ qÊ~ }# | iA tC |# Œ  ƒ | iA d ƒ qn d } ˆ  iH d ƒ o | ˆ  d iI 7} n ˆ  iH d  ƒ o ˆ  d  iI o | ˆ  d  iI 7} n | o…t t  g  i } | i ƒ  D] }+ | |+ i ƒ  ƒ qš~ ƒ }) tK ˆ  d! iI ƒ }2 tK ˆ  d" iI ƒ }- g  } g  }' xd |) D]\ } y0 |  iQ | d d# d$ |2 d% |- ƒ|' i | ƒ Wqõt7 iR j
 o | i | ƒ qõXqõW|' o@ | iA tB d t d& ƒ ƒ ƒ | iA tC |' Œ  ƒ | iA d ƒ n | o^ | iA tB d' tS tT t d( ƒ d) d* d+ d, ƒƒ iU ƒ  ƒ ƒ | iA tC | Œ  ƒ | iA d ƒ qn ˆ  iH d- ƒ o– ˆ  i d. ƒ }% y tK |% ƒ }% Wn tW j
 o t  }% n X|% d d f j o | i t d/ ƒ ƒ q«x. |  iX ƒ  D] } |  iY | t iZ |% ƒ q‡Wn ˆ  iH d0 ƒ o ˆ  iH d1 ƒ oïˆ  d1 } t\ | ƒ t] j oD g  } xP t_ t` | ƒ ƒ D]# }. | i tb ic | |. iI ƒ ƒ qWn tb ic | iI ƒ g } g  } g  } x–| D]Ž} ˆ  iH d2 | ƒ o] y$ |  iQ | d d3 ƒ| i | ƒ WqTt7 iR j
 o  | i | t d4 ƒ f ƒ qTXqTn |  i6 | ƒ o& | i t d5 ƒ d6 t d7 ƒ ƒqTn ˆ  iH d8 | ƒ }* y |  iY | t if |* ƒ Wn+ t7 ig t7 ih t7 ii t7 ij f j
 o n Xˆ  i | d9 d ƒ } t0 i1 | |  i2 ƒ } |  il | | ƒ ˆ  i | d: ƒ } |  in | ƒ } t0 ip | ƒ o
 | | j o |  iq | | ƒ n ˆ  i | d; ƒ } |  iY | t iZ | ƒ ˆ  iH d< | ƒ o4 |  is | ƒ tt iu j o |  iv | tt iw ƒ qq
n |  iv | tt iu ƒ xn d= d> d? d@ dA f D]W } t iy | }	 ˆ  iH dB | | f ƒ o |  iY | |	 d ƒ q‡
|  iY | |	 d ƒ q‡
WqTW| o@ | iA tB d t dC ƒ ƒ ƒ | iA tC | Œ  ƒ | iA d ƒ n | o‚ | iA tB d t dD ƒ ƒ ƒ g  i } | D]" } | d | d | d f ƒ q^~ }# | iA t| tC t} |# ƒ ƒ ƒ | iA d ƒ qºn d  S(E   Nc            s;   y t  ˆ  i |  ƒ ƒ SWn t t f j
 o | Sn Xd  S(   N(   s   ints   cgidatas   getvalues   formvars
   ValueErrors	   TypeErrors
   defaultval(   s   formvars
   defaultval(   s   cgidata(    s!   /var/mailman/Mailman/Cgi/admin.pys   safeintð  s    i    s   newmodpws    s   confirmmodpws!   Moderator passwords did not matchs   newpws	   confirmpws%   Administrator passwords did not matchs   memberss   subscribeess   subscribees_uploads   send_welcome_msg_to_this_batchs    send_notifications_to_list_owners   subscribe_or_invites
   invitationi   s   whences   admin mass subs   Already a members   &lt;blank line&gt;s   Bad/Invalid email addresss$   Hostile address (illegal characters)i   s   Successfully invited:s   Successfully subscribed:s   <p>s   Error inviting:s   Error subscribing:s   %s -- %ss   unsubscribeess   unsubscribees_uploads&   send_unsub_notifications_to_list_owners   send_unsub_ack_to_this_batchs   admin mass unsubs   admin_notifs   useracks   Successfully Unsubscribed:i   s   Cannot unsubscribe non-members:s   colors   #ff0000s   sizes   +2s   allmodbit_btns   allmodbit_vals   Bad moderation flag values   setmemberopts_btns   users   %s_unsubs   member mgt pages   Not subscribeds,   Ignoring changes to deleted member: %(user)ss   tags	   Warning: s	   %s_digests	   _realnames	   _languages   _mods	   %s_nomails   hides   acks   notmetoos   nodupess   plains   %s_%ss   Successfully Removed:s   Error Unsubscribing:(~   s   Nones   safeints	   confirmeds   cgidatas   getvalues   strips   news   confirms   shas	   hexdigests   mlists   mod_passwords   docs   addErrors   _s   passwords
   MakeCookies   mm_cfgs   AuthListAdmins   GetConfigCategoriess
   categoriess   categorys   labels   guis
   handleForms   subcats   subscriberss   filters   appends   _[1]s
   splitliness   ns   entriess   send_welcome_msgs   admin_notify_mchangess   send_admin_notifs   subscribe_or_invites
   invitations   digest_is_defaults   digests
   digestables   nondigestables   subscribe_errorss   subscribe_successs   entrys	   parseaddrs   fullnames   addresss   Utilss   canonstrs   preferred_languages   UserDescs   MakeRandomPasswords   userdescs   isMembers   Errorss   MMAlreadyAMembers   InviteNewMembers   ApprovedAddMembers   MMBadEmailErrors   MMHostileAddresss
   uncanonstrs
   formataddrs   members   websafes   AddItems   Headers   UnorderedLists   x0s   x1s   itemss   removalss   has_keys   values   namess   ints   send_unsub_notificationss   useracks   unsubscribe_errorss   unsubscribe_successs   addrs   ApprovedDeleteMembers   NotAMemberErrors   Bolds   FontAttrs   Formats   vals   VallueErrors
   getMemberss   setMemberOptions   Moderates   users   types   ListTypes   userss   ranges   lens   uis   urllibs   unquotes   errorss   removess   Digestss   AlreadyReceivingDigestss!   AlreadyReceivingRegularDeliveriess   CantDigestErrors   MustDigestErrors   newnames   setMemberNames   newlangs   getMemberLanguages   oldlangs
   IsLanguages   setMemberLanguages   moderates   getDeliveryStatuss   MemberAdaptors   ENABLEDs   setDeliveryStatuss   BYADMINs   opts   OPTINFOs   opt_codes   xs   applys   tuple(4   s   mlists   categorys   subcats   cgidatas   docs   xs   send_welcome_msgs   subscribe_successs   addresss   opt_codes   userdescs   removalss   safeints   digests   _[1]s	   confirmeds   x1s   addrs   confirms   oldlangs   newlangs   labels   members   newnames   news   errorss   moderates   opts   unsubscribe_errorss   userss   removess   users   subscriberss   entriess   x0s   itemss
   categoriess   vals   subscribe_or_invites   unsubscribe_successs   guis   namess   values   ns   subscribe_errorss   useracks   uis
   invitations   entrys   fullnames   send_unsub_notificationss   send_admin_notif(    (   s   cgidatas!   /var/mailman/Mailman/Cgi/admin.pys   change_optionsï  sV   <	

 		#  7< 
  
 % & 9(7   s   __doc__s
   __future__s   nested_scopess   syss   oss   res   cgis   shas   urllibs   signals   typess   strings	   lowercases   digitss   email.Utilss   unquotes	   parseaddrs
   formataddrs   Mailmans   mm_cfgs   Utilss   MailLists   Errorss   MemberAdaptors   i18ns   Mailman.UserDescs   UserDescs   Mailman.htmlformats   Mailman.Cgis   Auths   Mailman.Logging.Syslogs   syslogs   _s   set_languages   DEFAULT_SERVER_LANGUAGEs   NLs
   OPTCOLUMNSs   Trues   Falses	   NameErrors   mains   admin_overviews   option_helps   show_resultss   show_variabless   add_options_table_items   get_item_characteristicss   get_item_gui_values   get_item_gui_descriptions   membership_optionss   mass_subscribes   mass_removes   password_inputss   submit_buttons   change_options(*   s   unquotes   Errorss   get_item_gui_values
   OPTCOLUMNSs   option_helps   add_options_table_items   syslogs   MemberAdaptors   Auths   submit_buttons   change_optionss
   formataddrs   NLs   mass_removes   MailLists   urllibs   res   password_inputss   mains   Trues   cgis   membership_optionss   nested_scopess   mass_subscribes   show_variabless   get_item_characteristicss   syss   UserDescs   mm_cfgs   i18ns   show_resultss   _s   digitss	   parseaddrs	   lowercases   Falses   get_item_gui_descriptions   signals   shas   admin_overviews   oss   Utils(    (    s!   /var/mailman/Mailman/Cgi/admin.pys   ?   s\   									”c	I	”	0		¹		ÿ /	2	 	*