public PrompterPrepareResult Prepare(string sTemplateName, DynamicValue[] ahDinamicValues)
		{
			string sTemplateFile = "";
			switch (sTemplateName)
			{
				case "prompter":
					sTemplateFile = "c:/cues/scr/prompter.xml";
					break;
				default:
					throw new Exception("неизвестный шаблон");
			}
			if (!System.IO.File.Exists(sTemplateFile))
				throw new System.IO.FileNotFoundException("отсутствует файл шаблона [" + sTemplateFile + "]");
			_cPrompterTemplate = new TemplatePrompter(sTemplateFile);
			_cPrompterTemplate.RuntimeGet = (sRuntime) => { return ahDinamicValues.First(row => row.sName == sRuntime).sValue; };
			_cPrompterTemplate.MacroExecute = (sMacro) => { return ahDinamicValues.First(row => row.sName == sMacro).sValue; };
			_cPrompterTemplate.ParseDone += new userspace.Template.ParseDoneDelegate(cPrompterTemplate_ParseDone);
			_cPrompterTemplate.Prepare();
			int nHash=_cPrompterTemplate.GetHashCode();
			PrompterPrepareResult cRetVal = new PrompterPrepareResult() { nTemplatesHashCode = nHash, aSplittedText = _cPrompterTemplate.aSplittedText.ToArray() };
			return cRetVal;
		}