!7 /*static L options = tlftj([[ a question a statement a true statement a false statement a greeting ]]);*/ p { ai_spec_init(); } html { S _topic = params.get("topic"); if (empty(_topic)) _topic = ai_randomString(); fS topic = _topic; Set options = ai_matrix_categoriesForTopic(topic); options.addAll(ai_matrix_standardCategories()); ret htitle_htmlencode("Matrix: " + topic) + hcenter( p(b(hfontsize(20, topic)), style := "margin-top: 3em") + form(hhidden(+topic) + htable_noEncode( map(options, func(S s) -> Map { litorderedmap( "Statement", b(htmlencode2(topic)) + " is " + htmlencode2(s), "Computer Answer", htmlEncode(ai_matrixGet(topic, s)), "Your Answer", hcheckbox(urlencode(s), tossCoin())) } )))) + p(isTrue(callCreator('authed)) ? "Authed" : "Not authed"); }