<?xml version="1.0" encoding="UTF-8"?>
<ccxml xmlns="http://www.w3.org/2002/09/ccxml" xmlns:conf="http://www.w3.org/2005/ccxml-conformance" version="1.0">
	<!--
      <conf:fail reason="'Unexpected Event ' + event$.name"/>
-->
	<conf:docsetup/>
	<var name="ConnectionID" expr="undefined"/>
	<var name="VxmlFile2" expr="'TWO_2.vxml'"/>
	<var name="param1" expr="1"/>
	<var name="param2" expr="'hello'"/>
	<var name="chld_reason"/>
	<var name="send_id_1"/>
	<var name="DialogID"/>
	<var name="i_success"/>
	<var name="cur_event_ID"/>
	<var name="MY_BLANK" expr="''"/>
	<var name="WKR_STRING"/>
	<var name="txt_733_application" expr="'application level var'"/>
	<var name="txt_733_ccxml" expr="'ccxml level var'"/>
	<var name="txt_733_transition" expr="'transition level var'"/>
	<var name="txt_733_newcall" expr="'newcall'"/>
	<assign name="application.var_733" expr="txt_733_application"/>
	<assign name="application.var_1169" expr="''"/>
	
	<var name="var_733" expr="txt_733_ccxml"/>
	<var name="var_743"/>
	<var name="var_747_c"/>
	<assign name="application.var_747_a" expr="txt_733_application"/>
	<var name="event_source_type_ccxml" expr="'ccxml'"/>
	<assign name="ccxml.var_1172" expr="txt_733_ccxml"/>
	<script><![CDATA[
	   function GetMilliseconds() {
     var d = new Date();
     return d.getTime();  // ms from midnight on Jan 1, 2000.
   }

var t_start, t_end, t_delay = 2000, t_delta, t_delta_e = 0.05 * t_delay;
		   ]]></script>
	<script><![CDATA[
var var_761f = 3;

var var_761a = var_761f;

var i=0;
assertions[i++] = init_assertion('729');
assertions[i++] = init_assertion('730');
assertions[i++] = init_assertion('732');
assertions[i++] = init_assertion('733');
assertions[i++] = init_assertion('735');
assertions[i++] = init_assertion('736');
assertions[i++] = init_assertion('747');
assertions[i++] = init_assertion('767');
assertions[i++] = init_assertion('768');
assertions[i++] = init_assertion('752');
assertions[i++] = init_assertion('755');
assertions[i++] = init_assertion('756');

// 
add_2_assert_trace('760');
add_2_assert_trace('737');
add_2_assert_trace('740');
add_2_assert_trace('741');
add_2_assert_trace('742');
add_2_assert_trace('743');
add_2_assert_trace('744');
add_2_assert_trace('745');
add_2_assert_trace('746');
add_2_assert_trace('748');
add_2_assert_trace('749');
add_2_assert_trace('750');
add_2_assert_trace('753');
add_2_assert_trace('754');
add_2_assert_trace('1172');
add_2_assert_trace('1173');
add_2_assert_trace('761');
add_2_assert_trace('762');
add_2_assert_trace('764');
add_2_assert_trace('765');
add_2_assert_trace('766');
add_2_assert_trace('1169');


var assert_last = i - 1;
var assert_index = -1;
//
// out of the loop assertions (children?)
//
//
s_ASSERTIONS_LEFT = show_remained_assertions();
var b_in_test = false;


]]></script>
	<eventprocessor statevariable="current_state">
		<conf:setup type="alerting"/>
		<transition event="connection.alerting" state="init">
		<assign name="application.var_1169" expr="txt_733_application"/>
			<send targettype="'ccxml'" target="session.id" name="'user.timeout'" delay="TEST_LONG_TIMEOUT"/>
			<accept connectionid="event$.connectionid"/>
		</transition>
		<transition event="connection.connected" state="init">
			<assign name="ConnectionID" expr="event$.connectionid"/>
			<send targettype="'ccxml'" target="session.id" name="name_prepare_new"/>
		</transition>
		<transition event="user.PREPARE_NEW">
			<conf:comment expr="'Event: ' + event$.name"/>
			<if cond="assert_index &gt;= 0">
				<assign name="ASSERTION_NUM" expr="assertions[assert_index].number"/>
				<assign name="t_ASSERT_RESULT" expr="assertions[assert_index].P_F"/>
				<script>t_ASSERT_REASON = assertions[assert_index].reason</script>
				<if cond="t_ASSERT_RESULT == s_PASS">
					<conf:pass reason="t_ASSERT_REASON"/>
					<elseif cond="t_ASSERT_RESULT == s_FAIL"/>
					<conf:fail reason="t_ASSERT_REASON"/>
					<else/>
					<conf:not_exec reason="t_ASSERT_REASON"/>
				</if>
			</if>
			<assign name="assert_index" expr="assert_index + 1"/>
			<if cond="assert_index &gt; assert_last">
				<log label="s_TA" expr="s_ASSERTIONS_LEFT"/>
				<conf:uncond_exit expr="'DONE'"/>
				<else/>
				<log label="s_TA" expr="s_ASSERTIONS_LEFT"/>
				<assign name="ASSERTION_NUM" expr=" assertions[assert_index].number"/>
				<assign name="t_ASSERT_REASON" expr="''"/>
				<script>assertions[assert_index].P_F = s_FAIL;</script>
				<assign name="current_state" expr="state_prefix + ASSERTION_NUM"/>
				<send targettype="'ccxml'" target="session.id" name="start_name_prefix + ASSERTION_NUM" sendid="cur_event_ID"/>
				<log label="s_TA" expr="'Loop event: SendID=' + cur_event_ID"/>
			</if>
		</transition>
		<transition event="user.START_ASSERTION_729" state="ASSERTION_NMBR_729">
			<!--
760 	
8.2.2 &lt;script&gt; 	
An implementation MUST support <script> within the <ccxml> element 	emily.candell@comverse.com 	Accepted 	

-->
			<assign name="ASSERTION_NUM" expr="'760'"/>
			<conf:pass/>
			<!--
729 
8_2_1_A	
8.2.1 &lt;assign&gt; and &lt;var&gt; 	
It is illegal to make an assignment to a variable that has not been explicitly declared using <var> or a var statement within a <script>. Attempting to assign to an undeclared variable causes an error.semantic event to be thrown 	emily.candell@comverse.com 	Accepted 	
-->
			<conf:comment expr="'Event: ' + event$.name"/>
			<assign name="assert_729_UNDECLARED" expr="'Assign this'"/>
			<send targettype="'ccxml'" target="session.id" name="'user.729_failed'"/>
		</transition>
		<transition event="error.semantic" state="ASSERTION_NMBR_729">
			<script>assertions[assert_index].P_F = s_PASS;</script>
			<assign name="current_state" expr="'GEN'"/>
			<send targettype="'ccxml'" target="session.id" name="name_prepare_new"/>
		</transition>
		<transition event="user.729_failed" state="ASSERTION_NMBR_729">
			<script>
			assertions[assert_index].P_F = s_FAIL;
			assertions[assert_index].reason = 'error.semantic should have been thrown.';
			 </script>
			<assign name="current_state" expr="'GEN'"/>
			<send targettype="'ccxml'" target="session.id" name="name_prepare_new"/>
		</transition>
		<transition event="user.START_ASSERTION_730" state="ASSERTION_NMBR_730">
			<!--
730 	
8.2.1 &lt;assign&gt; and &lt;var&gt; 	
An attempt to declare ECMAScript object properties such as "obj.prop1" results in an error.semantic event being thrown. 	emily.candell@comverse.com 	Accepted 	

-->
			<conf:comment expr="'Event: ' + event$.name"/>
			<var name="assert_730_object" expr="new Object()"/>
			<var name="assert_730_object.prop1"/>
			<send targettype="'ccxml'" target="session.id" name="'user.730_failed'"/>
		</transition>
		<transition event="error.semantic" state="ASSERTION_NMBR_730">
			<script>assertions[assert_index].P_F = s_PASS;</script>
			<assign name="current_state" expr="'GEN'"/>
			<send targettype="'ccxml'" target="session.id" name="name_prepare_new"/>
		</transition>
		<transition event="user.730_failed" state="ASSERTION_NMBR_730">
			<script>
			assertions[assert_index].P_F = s_FAIL;
			assertions[assert_index].reason = 'error.semantic should have been thrown.';
			 </script>
			<assign name="current_state" expr="'GEN'"/>
			<send targettype="'ccxml'" target="session.id" name="name_prepare_new"/>
		</transition>
		<transition event="user.START_ASSERTION_732" state="ASSERTION_NMBR_732">
			<!--
732 
8_2_1_A	
8.2.1 &lt;assign&gt; and &lt;var&gt; 	
A local variable declared in a <transition> is only available within that <transition> element. 	emily.candell@comverse.com 	Accepted 	
-->
			<conf:comment expr="'Event: ' + event$.name"/>
			<var name="assert_732_1"/>
			<send targettype="'ccxml'" target="session.id" name="'user.732_cont'"/>
		</transition>
		<transition event="user.732_cont" state="ASSERTION_NMBR_732">
			<conf:comment expr="'Event: ' + event$.name"/>
			<assign name="assert_732_1" expr="'This variable is not declared here.'"/>
			<send targettype="'ccxml'" target="session.id" name="'user.732_failed'"/>
		</transition>
		<transition event="error.semantic" state="ASSERTION_NMBR_732">
			<script>assertions[assert_index].P_F = s_PASS;</script>
			<assign name="current_state" expr="'GEN'"/>
			<send targettype="'ccxml'" target="session.id" name="name_prepare_new"/>
		</transition>
		<transition event="user.732_failed" state="ASSERTION_NMBR_732">
			<script>
			assertions[assert_index].P_F = s_FAIL;
			assertions[assert_index].reason = 'error.semantic should have been thrown.';
			 </script>
			<assign name="current_state" expr="'GEN'"/>
			<send targettype="'ccxml'" target="session.id" name="name_prepare_new"/>
		</transition>
		<transition event="user.START_ASSERTION_733" state="ASSERTION_NMBR_733">
			<!--
733 
8_2_1_A	
8.2.1 &lt;assign&gt; and &lt;var&gt; 	
The implementation MUST define four scopes - session, application, ccxml and transition. 	emily.candell@comverse.com 	Accepted 	
-->
			<conf:comment expr="'Event: ' + event$.name"/>
			<var name="var_733" expr="txt_733_transition"/>
			<var name="var_740" expr="transition.var_733 + var_733 + ccxml.var_733"/>
			<script>
			
			var var_741;
			var i_5 = 5;
			var i_3 = 3;
			var i_7 = 7;
			var i_res_742 = 56;
			var i_test = i_5;
			var i_test = i_test + i_3;
			var i_test = i_test * i_7;
			var var_743;
			</script>
			<assign name="var_741" expr="txt_733_transition"/>
			<assign name="var_743" expr="txt_733_transition"/>
			<if cond="transition.var_743 == txt_733_transition">
				<assign name="ASSERTION_NUM" expr="'743'"/>
				<!--
743 	
8_2_1_A
8.2.1 &lt;assign&gt; and &lt;var&gt; 	
The implementation MUST instantiate a variable within the scope of the closest containing scope element. 	emily.candell@comverse.com 	Accepted 	
-->
				<conf:pass/>

<!--
746 	
8.2.1 &lt;assign&gt; and &lt;var&gt; 	
The implementation MUST allow reference to variables without requiring use of their fully qualified names. 
In the case of like-named variables declared in different scopes, 
the implementation MUST reference the variable in the closest containing scope, 
unless the fully-qualified variable name is used. 	emily.candell@comverse.com 	Accepted 	
-->
				<assign name="ASSERTION_NUM" expr="'746'"/>
				<conf:pass/>
				<else/>
				<assign name="ASSERTION_NUM" expr="'743'"/>
				<assign name="chld_reason" expr="' assigned variable=' + transition.var_743 + ' expected=' +  txt_733_transition"/>
				<conf:fail reason="chld_reason"/>
			</if>
<!--
1169 	
8.2.1 &lt;assign&gt; and &lt;var&gt; 	
Unlike in the session scope, variables in the application scope can be modified by CCXML programs. 	
emily.candell@comverse.com 	Accepted 	
-->
				<assign name="ASSERTION_NUM" expr="'1169'"/>
			<if cond="application.var_1169 == txt_733_application">				
				<conf:pass/>
				<else/>
				<assign name="chld_reason" expr="' assigned variable=' + application.var_1169 + ' expected=' +  txt_733_transition"/>
				<conf:fail reason="chld_reason"/>
			</if>
			
			<if cond="var_741 == txt_733_transition">
				<assign name="ASSERTION_NUM" expr="'741'"/>
				<!--
741 	
8_2_1_A
8.2.1 &lt;assign&gt; and &lt;var&gt; 	
Variables with transition scope are declared by <var> and <script> child elements of <transition>. 	emily.candell@comverse.com 	Accepted 	
-->
				<conf:pass/>
				<else/>
				<assign name="ASSERTION_NUM" expr="'741'"/>
				<assign name="chld_reason" expr="' assigned variable=' + var_741 + ' expected=' +  txt_733_transition"/>
				<conf:fail reason="chld_reason"/>
			</if>
			<if cond="i_test == i_res_742">
				<assign name="ASSERTION_NUM" expr="'742'"/>
				<!--
742 	
8.2.1 &lt;assign&gt; and &lt;var&gt; 	
The child <var> and <script> elements of <transition> are initialized in document order when the executable content is executed. 	emily.candell@comverse.com 	Accepted 	
-->
				<conf:pass/>
				<assign name="ASSERTION_NUM" expr="'762'"/>
				<!--
762 	
8.2.2 &lt;script&gt; 	
The implementation MUST evaluate script in a <ccxml> immediately after the document is loaded, along with any <var> and <assign> elements, in document order. 	
emily.candell@comverse.com 	Accepted 	
-->
				<conf:pass/>
				<else/>
				<assign name="ASSERTION_NUM" expr="'742'"/>
				<assign name="chld_reason" expr="' assigned variable=' + i_test + ' expected=' +  i_res_742"/>
				<conf:fail reason="chld_reason"/>
			</if>
			<if cond="var_740 == txt_733_transition + txt_733_transition + txt_733_ccxml">
				<assign name="ASSERTION_NUM" expr="'740'"/>
				<!--
741 	
8.2.1 &lt;assign&gt; and &lt;var&gt; 	
Variables with transition scope are declared by <var> and <script> child elements of <transition>. 	emily.candell@comverse.com 	Accepted 	
-->
				<conf:pass/>
				<else/>
				<assign name="ASSERTION_NUM" expr="'740'"/>
				<assign name="chld_reason" expr="' assigned variable=' + var_740 + ' expected=' +  txt_733_transition + txt_733_transition + txt_733_ccxml"/>
				<conf:fail reason="chld_reason"/>
			</if>
			<assign name="t_ASSERT_REASON" expr="' '"/>
			<if cond="transition.var_733 != txt_733_transition">
				<assign name="t_ASSERT_REASON" expr="t_ASSERT_REASON + ' transition variable=' + transition.var_733+ ' expected=' +  txt_733_transition"/>
			</if>
			<if cond="ccxml.var_733 == txt_733_ccxml">
				<assign name="ASSERTION_NUM" expr="'753'"/>
				<!--
753
8.2.1 &lt;assign&gt; and &lt;var&gt; 	
A <var> element may contain an expr attribute. If the expr attribute is provided, the content of the expr attribute becomes the initial value of the new variable. 	emily.candell@comverse.com 	Accepted 	
-->
				<conf:pass/>
				<assign name="ASSERTION_NUM" expr="'744'"/>
				<!--
744 	
8.2.1 &lt;assign&gt; and &lt;var&gt; 	
The fully-qualified name of a variable is the name of the variable's scope object prepended with a dot to the name of the variable. 	
emily.candell@comverse.com 	Accepted 	
-->
				<conf:pass/>
				<assign name="ASSERTION_NUM" expr="'745'"/>
				<!--
745
8.2.1 &lt;assign&gt; and &lt;var&gt; 	
The implementation MUST allow reference to variables by their fully qualified names. 	emily.candell@comverse.com 	Accepted 	
-->
				<conf:pass/>
				<assign name="ASSERTION_NUM" expr="'737'"/>
				<!--
737 	
8.2.1 &lt;assign&gt; and &lt;var&gt; 	
Variables defined in the ccxml scope are declared with <var> and <script> elements that are children of <ccxml>. 	emily.candell@comverse.com 	Accepted 	
-->
				<conf:pass/>
				<assign name="ASSERTION_NUM" expr="'748'"/>
				<!--
748 	
8.2.1 &lt;assign&gt; and &lt;var&gt; 	
If the variable includes a scope prefix, the implementation MUST resolve the variable by searching the named scope. 	
emily.candell@comverse.com 	Accepted 	
-->
				<conf:pass/>
				<else/>
				<assign name="ASSERTION_NUM" expr="'737'"/>
				<assign name="chld_reason" expr="' ccxml variable=' + ccxml.var_733 + ' expected=' +  txt_733_ccxml"/>
				<conf:fail reason="chld_reason"/>
				<assign name="t_ASSERT_REASON" expr="t_ASSERT_REASON + chld_reason"/>
			</if>
			<if cond="application.var_733 != txt_733_application">
				<assign name="t_ASSERT_REASON" expr="t_ASSERT_REASON + ' txt_733_application variable=' + application.var_733 + ' expected=' +  txt_733_application"/>
			</if>
			<if cond="session.startupmode != txt_733_newcall">
				<assign name="t_ASSERT_REASON" expr="t_ASSERT_REASON + ' session.startupmode variable=' + session.startupmode + ' expected=' +  txt_733_newcall"/>
			</if>
			<if cond="t_ASSERT_REASON == ' '">
				<script>assertions[assert_index].P_F = s_PASS;</script>
				<else/>
				<script>
			assertions[assert_index].P_F = s_FAIL;
			assertions[assert_index].reason = t_ASSERT_REASON;
			 </script>
			</if>
			<if cond="session.startupmode != txt_733_newcall">
				<assign name="t_ASSERT_REASON" expr="t_ASSERT_REASON + ' session.startupmode variable=' + session.startupmode + ' expected=' +  txt_733_newcall"/>
			</if>
			<assign name="current_state" expr="'GEN'"/>
			<send targettype="'ccxml'" target="session.id" name="name_prepare_new"/>
		</transition>
		<transition event="error.semantic" state="ASSERTION_NMBR_733">
			<script>
			assertions[assert_index].P_F = s_FAIL;
			assertions[assert_index].reason = 'error.semantic should arrived unexpectedly.';
			 </script>
			<assign name="current_state" expr="'GEN'"/>
			<send targettype="'ccxml'" target="session.id" name="name_prepare_new"/>
		</transition>
		<transition event="user.START_ASSERTION_735" state="ASSERTION_NMBR_735">
			<!--
735 
8.2.1 &lt;assign&gt; and &lt;var&gt; 	
Variables defined in the session scope are provided by CCXML implementation and are read-only. 
Any attempt to modify the session object or it's properties by the application MUST result in an error.semantic event to be thrown by the platform. 	emily.candell@comverse.com 	Accepted 	
-->
			<conf:comment expr="'Event: ' + event$.name"/>
			<assign name="session.startupmode" expr="'Assign this'"/>
			<send targettype="'ccxml'" target="session.id" name="'user.735_failed'"/>
		</transition>
		<transition event="error.semantic" state="ASSERTION_NMBR_735">
			<script>assertions[assert_index].P_F = s_PASS;</script>
			<assign name="current_state" expr="'GEN'"/>
			<send targettype="'ccxml'" target="session.id" name="name_prepare_new"/>
		</transition>
		<transition event="user.735_failed" state="ASSERTION_NMBR_735">
			<script>
			assertions[assert_index].P_F = s_FAIL;
			assertions[assert_index].reason = 'error.semantic should have been thrown.';
			 </script>
			<assign name="current_state" expr="'GEN'"/>
			<send targettype="'ccxml'" target="session.id" name="name_prepare_new"/>
		</transition>
		<transition event="user.START_ASSERTION_736" state="ASSERTION_NMBR_736">
			<!--
736 
8.2.1 &lt;assign&gt; and &lt;var&gt; 	
Variables within the application scope cannot be explicitly declared using <var> element or var statement within a <script>. 
They can be created only by assigning a value to a property of the application object (application.varname = value;). 	emily.candell@comverse.com 	Accepted 	
-->
			<conf:comment expr="'Event: ' + event$.name"/>
			<var name="application.assert_736_UNDECLARED" expr="'Assign this'"/>
			<send targettype="'ccxml'" target="session.id" name="'user.736_failed'"/>
		</transition>
		<transition event="error.semantic" state="ASSERTION_NMBR_736">
			<script>assertions[assert_index].P_F = s_PASS;</script>
			<assign name="current_state" expr="'GEN'"/>
			<send targettype="'ccxml'" target="session.id" name="name_prepare_new"/>
		</transition>
		<transition event="user.736_failed" state="ASSERTION_NMBR_736">
			<script>
			assertions[assert_index].P_F = s_FAIL;
			assertions[assert_index].reason = 'error.semantic should have been thrown.';
			 </script>
			<assign name="current_state" expr="'GEN'"/>
			<send targettype="'ccxml'" target="session.id" name="name_prepare_new"/>
		</transition>
		<transition event="user.START_ASSERTION_747" state="ASSERTION_NMBR_747">
			<!--
747 	
8.2.1 &lt;assign&gt; and &lt;var&gt; 	
The implementation MUST resolve variables by searching the enclosing transition scope first 
(if applicable) followed by the ccxml scope, 
the application scope and then the session scope, 
unless the variable reference is qualified with a scope prefix. 	emily.candell@comverse.com 	Accepted 	
-->
			<var name="i_local" expr="0"/>
			<var name="i_749" expr="++i_local"/>
			<!--
749 	
8.2.1 &lt;assign&gt; and &lt;var&gt; 	
If a variable is declared more than once, 
the implementation MUST evaluate the expr attribute of each subsequent 
declaration, and assign the result to the variable declared by the first <var>. 	
emily.candell@comverse.com 	Accepted 	
-->
			<var name="i_749" expr="++i_local"/>
			<assign name="ccxml.var_747_c" expr="txt_733_ccxml"/>
			<conf:comment expr="'Event: ' + event$.name"/>
			<assign name="t_ASSERT_REASON" expr="' '"/>
			<if cond="var_747_c != txt_733_ccxml">
				<assign name="t_ASSERT_REASON" expr="t_ASSERT_REASON + ' ccxml variable=' + var_747_c + ' expected=' +  txt_733_ccxml"/>
			</if>
			<if cond="var_747_a != txt_733_application">
				<assign name="t_ASSERT_REASON" expr="t_ASSERT_REASON + ' application variable=' + var_747_a + ' expected=' +  txt_733_application"/>
			</if>
			<if cond="startupmode != txt_733_newcall">
				<assign name="t_ASSERT_REASON" expr="t_ASSERT_REASON + ' startupmode variable=' + startupmode + ' expected=' +  txt_733_newcall"/>
			</if>
			<if cond="t_ASSERT_REASON == ' '">
				<script>assertions[assert_index].P_F = s_PASS;</script>
				<else/>
				<script>
			assertions[assert_index].P_F = s_FAIL;
			assertions[assert_index].reason = t_ASSERT_REASON;
			 </script>
			</if>
			<var name="i_749" expr="++i_local"/>
			<if cond="i_749 == i_local">
				<assign name="ASSERTION_NUM" expr="'749'"/>
				<conf:pass/>
				<assign name="ASSERTION_NUM" expr="'750'"/>
				<conf:pass/>
				<else/>
				<assign name="ASSERTION_NUM" expr="'749'"/>
				<assign name="chld_reason" expr="' assigned variable=' + i_749 + ' expected=' +  i_local"/>
				<conf:fail reason="chld_reason"/>
			</if>
			<var name="i_754_undef"/>
			<!--
754 	
8.2.1 &lt;assign&gt; and &lt;var&gt; 	
If an expr attribute is not provided on <var>, the new variable is initialized to ECMAScript undefined. 	emily.candell@comverse.com 	Accepted 	
-->
			<if cond="i_754_undef == undefined">
				<assign name="ASSERTION_NUM" expr="'754'"/>
				<conf:pass/>
				<else/>
				<assign name="ASSERTION_NUM" expr="'754'"/>
				<assign name="chld_reason" expr="' assigned variable=' + i_754_undef + ' expected=' +  undefined"/>
				<conf:fail reason="chld_reason"/>
			</if>
			<!--
1172 	
8_2_1_A	
8.2.1 &lt;assign&gt; and &lt;var&gt; 	
Variables in the ccxml scope can also be created without an explicit declaration by assigning a value to a property of the ccxml object (ccxml.varname = value;). 	
emily.candell@comverse.com 	Accepted 	
-->
			<if cond="var_1172 == txt_733_ccxml">
				<assign name="ASSERTION_NUM" expr="'1172'"/>
				<conf:pass/>
				<else/>
				<assign name="ASSERTION_NUM" expr="'1172'"/>
				<assign name="chld_reason" expr="' assigned variable=' + var_1172 + ' expected=' +  txt_733_ccxml"/>
				<conf:fail reason="chld_reason"/>
			</if>
			<!--
1173 	
8.2.1 &lt;assign&gt; and &lt;var&gt; 	
Variables in the transition scope can also be created without an explicit declaration by assigning a value to a property of the transition object (transition.varname = value;). 	emily.candell@comverse.com 	Accepted 	
-->
			<assign name="transition.var_1173" expr="txt_733_transition"/>
			<if cond="var_1173 == txt_733_transition">
				<assign name="ASSERTION_NUM" expr="'1173'"/>
				<conf:pass/>
				<else/>
				<assign name="ASSERTION_NUM" expr="'1173'"/>
				<assign name="chld_reason" expr="' assigned variable=' + var_1173 + ' expected=' +  txt_733_transition"/>
				<conf:fail reason="chld_reason"/>
			</if>
			<script>
var_761a = var_761a * var_761f;
			 </script>
			<if cond="true">
				<script>
var_761a = var_761a * var_761f;
			 </script>
			</if>
			<!--
761 	
8.2.2 &lt;script&gt; 	
An implementation MUST support <script> within executable content. 
<transition> and <if> contain executable content. 	emily.candell@comverse.com 	Accepted 	
-->
			<if cond="var_761a == var_761f * var_761f * var_761f">
				<assign name="ASSERTION_NUM" expr="'761'"/>
				<conf:pass/>
				<!--
764 	
8.2.2 &lt;script&gt; 	
The implementation MUST evaluate <script> in executable content as it is processed. 	
emily.candell@comverse.com 	Accepted 	

-->
				<assign name="ASSERTION_NUM" expr="'764'"/>
				<conf:pass/>
				<!--
765 	
8.2.2 &lt;script&gt; 	
The ECMAScript contained within the <script> can declare variables with the ECMAScript 
var statement. Variables declared in this manner are declared in the scope of the closest containing scope CCXML element. 
They are known from the point of declaration to the end of the containing scope. 	emily.candell@comverse.com 	Accepted 	
-->
				<assign name="ASSERTION_NUM" expr="'765'"/>
				<conf:pass/>
<!--
766 	
8.2.2 &lt;script&gt; 	
The implementation MUST allow reference to these variables from CCXML and from ECMAScript, using either the fully-qualified variable name, or the declared name 	emily.candell@comverse.com 	Accepted 	
-->				
				<var name="var_766" expr="var_761f * var_761f * var_761f"/>
				<if cond="ccxml.var_761a == transition.var_766">
					<assign name="ASSERTION_NUM" expr="'766'"/>
					<conf:pass/>
				</if>
				<else/>
				<assign name="ASSERTION_NUM" expr="'761'"/>
				<assign name="chld_reason" expr="' assigned variable=' + var_761a + ' expected=' +  (var_761f * var_761f * var_761f)"/>
				<conf:fail reason="chld_reason"/>
			</if>
			<send targettype="'ccxml'" target="session.id" name="name_prepare_new"/>
		</transition>

		<transition event="user.START_ASSERTION_767" state="ASSERTION_NMBR_767">
			<!--
767 	
8.2.2 &lt;script&gt; 	
If the implementation is unable to run the script referenced it MUST throw an error.semantic event. 	emily.candell@comverse.com 	Accepted 	
-->
			<conf:comment expr="'Event: ' + event$.name"/>
			<script src="cant_run_script.es"/>
			<send targettype="'ccxml'" target="session.id" name="'user.767_failed'"/>
		</transition>
		<transition event="error.semantic" state="ASSERTION_NMBR_767">
			<script>assertions[assert_index].P_F = s_PASS;</script>
			<assign name="current_state" expr="'GEN'"/>
			<send targettype="'ccxml'" target="session.id" name="name_prepare_new"/>
		</transition>
		<transition event="user.767_failed" state="ASSERTION_NMBR_767">
			<script>
			assertions[assert_index].P_F = s_FAIL;
			assertions[assert_index].reason = 'error.semantic should have been thrown.';
			 </script>
			<assign name="current_state" expr="'GEN'"/>
			<send targettype="'ccxml'" target="session.id" name="name_prepare_new"/>
		</transition>

		<transition event="user.START_ASSERTION_768" state="ASSERTION_NMBR_768">
			<!--good_script.es
768 	
8.2.2 &lt;script&gt; 	
A <script> element may contain a src attribute that contains the URI which references a resource which is the script content, and which will be resolved when the CCXML document is compiled. 	emily.candell@comverse.com 	Accepted 	
-->
			<conf:comment expr="'Event: ' + event$.name"/>
			<script src="good_script.es"/>
			<if cond="var_768b==var_768a">
			<script>assertions[assert_index].P_F = s_PASS;</script>
			<else/>	
			<script>
			assertions[assert_index].P_F = s_FAIL;
			assertions[assert_index].reason = 'variables in referenced script was not evaluated properly.';
			 </script>
			</if>
			<assign name="current_state" expr="'GEN'"/>
			<send targettype="'ccxml'" target="session.id" name="name_prepare_new"/>
		</transition>
		<transition event="error.semantic" state="ASSERTION_NMBR_768">
			<script>
			assertions[assert_index].P_F = s_FAIL;
			assertions[assert_index].reason = 'error.semantic while accessing an external script and/or its variables.';
			 </script>
			<assign name="current_state" expr="'GEN'"/>
			<send targettype="'ccxml'" target="session.id" name="name_prepare_new"/>
		</transition>

		<transition event="user.START_ASSERTION_752" state="ASSERTION_NMBR_752">

<!--

-->
			<conf:comment expr="'Event: ' + event$.name"/>
			<createccxml next="'bad_752_var_no_name.ccxml'"/>
		</transition>
		<transition event="error.createccxml" state="ASSERTION_NMBR_752">
			<script>assertions[assert_index].P_F = s_PASS;</script>
			<assign name="current_state" expr="'GEN'"/>
			<send targettype="'ccxml'" target="session.id" name="name_prepare_new"/>
		</transition>
		<transition event="ccxml.created" state="ASSERTION_NMBR_752">
			<script>
			assertions[assert_index].P_F = s_FAIL;
			assertions[assert_index].reason = 'error.createccxml should have been thrown.';
			 </script>
			<assign name="current_state" expr="'GEN'"/>
			<send targettype="'ccxml'" target="session.id" name="name_prepare_new"/>
		</transition>		

	
		<transition event="user.START_ASSERTION_755" state="ASSERTION_NMBR_755">

<!--
755 	
????
8.2.1 &lt;assign&gt; and &lt;var&gt; 	
An <assign> element must provide a name attribute. 	
emily.candell@comverse.com 	Accepted 	

-->
			<conf:comment expr="'Event: ' + event$.name"/>
			<createccxml next="'bad_755_assign_no_expr.ccxml'"/>
		</transition>
		<transition event="error.createccxml" state="ASSERTION_NMBR_755">
			<script>assertions[assert_index].P_F = s_PASS;</script>
			<assign name="current_state" expr="'GEN'"/>
			<send targettype="'ccxml'" target="session.id" name="name_prepare_new"/>
		</transition>
		<transition event="ccxml.created" state="ASSERTION_NMBR_755">
			<script>
			assertions[assert_index].P_F = s_FAIL;
			assertions[assert_index].reason = 'error.createccxml should have been thrown.';
			 </script>
			<assign name="current_state" expr="'GEN'"/>
			<send targettype="'ccxml'" target="session.id" name="name_prepare_new"/>
		</transition>		

		<transition event="user.START_ASSERTION_756" state="ASSERTION_NMBR_756">

<!--
756 	
8_2_1_A
8.2.1 &lt;assign&gt; and &lt;var&gt; 	
An <assign> element must provide a expr attribute. 	
emily.candell@comverse.com 	Accepted 	
-->
			<conf:comment expr="'Event: ' + event$.name"/>
			<createccxml next="'bad_756_assign_no_expr.ccxml'"/>
		</transition>
		<transition event="error.createccxml" state="ASSERTION_NMBR_756">
			<script>assertions[assert_index].P_F = s_PASS;</script>
			<assign name="current_state" expr="'GEN'"/>
			<send targettype="'ccxml'" target="session.id" name="name_prepare_new"/>
		</transition>
		<transition event="ccxml.created" state="ASSERTION_NMBR_756">
			<script>
			assertions[assert_index].P_F = s_FAIL;
			assertions[assert_index].reason = 'error.createccxml should have been thrown.';
			 </script>
			<assign name="current_state" expr="'GEN'"/>
			<send targettype="'ccxml'" target="session.id" name="name_prepare_new"/>
		</transition>		

		<transition event="user.timeout">
			<assign name="current_state" expr="'GEN'"/>
			<conf:uncond_exit expr="'TEST-TIMEOUT.' + show_remained_assertions()"/>
		</transition>
		<transition event="send.successful">
			<conf:comment expr="'Event: ' + event$.name + ' (generic handler) state=' + current_state"/>
		</transition>
		<transition event="*">
			<assign name="t_ASSERT_REASON" expr="'UNEXPECTED EVENT ' + event$.name + ' IN STATE ' + current_state"/>
			<conf:comment expr="t_ASSERT_REASON"/>
			<if cond="current_state == 'init'">
				<conf:uncond_exit expr="'Did not come out from init state.'"/>
				<else/>
				<send targettype="'ccxml'" target="session.id" name="name_prepare_new"/>
			</if>
		</transition>
	</eventprocessor>
</ccxml>
