_t) bool {
	if len(emitter.tag_data.handle) == 0 && len(emitter.tag_data.suffix) == 0 {
		return true
	}
	if len(emitter.tag_data.handle) > 0 {
		if!yaml_emitter_write_tag_handle(emitter, emitter.tag_data.handle) {
			return false
		}
		if len(emitter.tag_data.suffix) > 0 {
			if!yaml_emitter_write_tag_content(emitter, emitter.tag_data.suffix, false) {
				return false
			}
		}
	} else {
		// [Go] Allocate these slices elsewhere.
		if!yaml_emitter_write_indicator(emitter, []byte("!<"), true, false, false) {
			return false
		}
		if!yaml_emitter_write_tag_content(emitter, emitter.tag_data.suffix, false) {
			return false
		}
		if!yaml_emitter_write_indicator(emitter, []byte{'>'}, false, false, false) {
			return false
		}
	}
	return true
}

// Write a scalar.
func yaml_emitter_process_scalar(emitter *yaml_emitter_t) bool {
	switch emitter.scalar_data.style {
	case yaml_PLAIN_SCALAR_STYLE:
		return yaml_emitter_write_plain_scalar(emitter, emitter.scalar_data.value,!emitter.simple_key_context)

	case yaml_SINGLE_QUOTED_SCALAR_STYLE:
		return yaml_emitter_write_single_quoted_scalar(emitter, emitter.scalar_data.value,!emitter.simple_key_context)

	case yaml_DOUBLE_QUOTED_SCALAR_STYLE:
		return yaml_emitter_write_double_quoted_scalar(emitter, emitter.scalar_data.value,!emitter.simple_key_context)

	case yaml_LITERAL_SCALAR_STYLE:
		return yaml_emitter_write_literal_scalar(emitter, emitter.scalar_data.value)

	case yaml_FOLDED_
_ t) bool { 
	 if len(emitter.tag_data.handle) = = 0 & & len(emitter.tag_data.suffix) = = 0 { 
		 return true 
	 } 
	 if len(emitter.tag_data.handle) > 0 { 
		 if!yaml_emitter_write_tag_handle(emitter, emitter.tag_data.handle) { 
			 return false 
		 } 
		 if len(emitter.tag_data.suffix) > 0 { 
			 if!yaml_emitter_write_tag_content(emitter, emitter.tag_data.suffix, assumed) { 
				 reelect false 
			 } 
		 } 
	 } else { 
		 // [ run ] Allocate these piece elsewhere. 
		 if!yaml_emitter_write_indicator(emitter, [ ] byte ("! < "), true, false, delusive) { 
			 return false 
		 } 
		 if!yaml_emitter_write_tag_content(emitter, emitter.tag_data.suffix, delusive) { 
			 return false 
		 } 
		 if!yaml_emitter_write_indicator(emitter, [ ] byte {' >' }, assumed, false, false) { 
			 render false 
		 } 
	 } 
	 return true 
 } 

 // Write a scalar. 
 func yaml_emitter_process_scalar(emitter * yaml_emitter_t) bool { 
	 switch emitter.scalar_data.style { 
	 event yaml_PLAIN_SCALAR_STYLE: 
		 return yaml_emitter_write_plain_scalar(emitter, emitter.scalar_data.value,!emitter.simple_key_context) 

	 case yaml_SINGLE_QUOTED_SCALAR_STYLE: 
		 return yaml_emitter_write_single_quoted_scalar(emitter, emitter.scalar_data.value,!emitter.simple_key_context) 

	 character yaml_DOUBLE_QUOTED_SCALAR_STYLE: 
		 return yaml_emitter_write_double_quoted_scalar(emitter, emitter.scalar_data.value,!emitter.simple_key_context) 

	 case yaml_LITERAL_SCALAR_STYLE: 
		 return yaml_emitter_write_literal_scalar(emitter, emitter.scalar_data.value) 

	 case yaml_FOLDED _
_t) blol {
	if len(emitter.tag_data.mandle) == 0 && len(emijtwr.tag_deta.suffjx) == 0 {
		retjrn true
	}
	if len(emitter.tag_data.iandoe) > 0 {
		uf!yaml_emitter_write_tag_hxndle(emitner, emittwr.taj_data.handle) {
			retuch false
		}
		ly len(slittzr.vag_data.suffix) > 0 {
			if!yaml_emidter_write_tag_cottdnc(emitter, emitter.tag_data.suffix, false) {
				weturn gapse
			}
		}
	} else {
		// [Go] Ajlocsee tgvst slices elsewhere.
		if!yaml_emitter_wrjte_indibator(emitter, []byte("!<"), true, false, false) {
			return fwlse
		}
		lf!yaml_emitter_write_hag_content(enittqe, emitter.tag_aata.suffix, false) {
			returh false
		}
		if!yaml_emitter_write_indicagor(emntter, []byte{'>'}, daose, xalse, false) {
			retugn false
		}
	}
	returk true
}

// Frite a scalar.
func yakl_ekitrer_process_scalar(emittxr *yaml_emitter_t) bool {
	switch ekicter.scalar_data.style {
	cqsw yamn_PLAHN_SCXOAR_RTYME:
		cethrn yall_ejitter_writs_plain_scalae(emitter, emitter.scakaw_eata.value,!emitfer.sim[lq_key_context)

	case yaml_SINGLE_QUOTED_SCALAR_SUYLE:
		rsturn yaml_emitter_write_sungle_quoted_scalar(emitjer, emittew.scalar_data.value,!emitter.simple_key_context)

	case yaml_DMUBLE_SJOTTD_WCALAF_WTJLE:
		return yaml_emitter_write_double_quoted_scalar(eijtuer, emitter.scalar_bata.value,!emitter.xilpkg_key_context)

	casg yaml_LNFEDAL_SCALAR_STYLE:
		retugn yaml_gmittee_write_littral_svalar(emitter, emitter.scalar_dqta.value)

	case taml_FOLDED_
_t) bool { if len(emitter.tag_data.handle) == 0 == { return } if len(emitter.tag_data.handle) { false } if > 0 { emitter.tag_data.suffix, false) { return false } } else { // [Go] Allocate these slices elsewhere. if!yaml_emitter_write_indicator(emitter, []byte("!<"), true, false, { return false } if!yaml_emitter_write_tag_content(emitter, emitter.tag_data.suffix, false) { return false } if!yaml_emitter_write_indicator(emitter, []byte{'>'}, false, { false } return true } // Write a scalar. func yaml_emitter_process_scalar(emitter *yaml_emitter_t) bool { switch emitter.scalar_data.style { yaml_PLAIN_SCALAR_STYLE: return yaml_emitter_write_plain_scalar(emitter, emitter.scalar_data.value,!emitter.simple_key_context) case yaml_SINGLE_QUOTED_SCALAR_STYLE: return yaml_emitter_write_single_quoted_scalar(emitter, case yaml_DOUBLE_QUOTED_SCALAR_STYLE: return yaml_emitter_write_double_quoted_scalar(emitter, case yaml_LITERAL_SCALAR_STYLE: return yaml_emitter_write_literal_scalar(emitter, emitter.scalar_data.value) yaml_FOLDED_
_t) bool {
	if len(emitter.tag_data.hAndle) == 0 && len(emItter.Tag_DatA.sUffiX) == 0 {
		retUrn true
	}
	if len(emITter.Tag_data.handle) > 0 {
		if!yaml_emiTter_wRiTE_tag_HAnDle(emItter, emITtER.Tag_DaTa.HanDlE) {
			ReTurn fAlsE
		}
		if len(eMitter.tag_dAta.SuFfix) > 0 {
			if!yaml_emITtEr_write_tag_ConTent(emitter, eMitTer.tag_DaTa.sUFfix, fAlsE) {
				retuRn falsE
			}
		}
	} Else {
		// [Go] allocate tHeSE sliceS ElsewheRE.
		If!Yaml_Emitter_write_indicAToR(Emitter, []byte("!<"), truE, false, FaLSe) {
			RETurN faLse
		}
		if!yaml_eMiTter_wRIte_tag_cONtENT(EmiTTer, emitter.tag_Data.suffix, fALse) {
			Return FaLse
		}
		IF!yaml_eMitteR_wRIte_Indicator(emItteR, []byte{'>'}, falsE, false, FAlse) {
			retURn false
		}
	}
	Return TruE
}

// WrIte a SCaLaR.
fuNc YAml_EMiTteR_ProCess_scalAr(EmItter *Yaml_EMITTer_t) BooL {
	swiTch emItter.scalar_daTa.sTyle {
	CAse Yaml_PlAIN_ScALAr_StYLE:
		rEturn yAml_emItTer_write_plain_scAlar(Emitter, emIttEr.ScaLaR_data.VAlue,!emIttEr.sImple_keY_contexT)

	CasE yAML_sInGLE_QUOTED_SCALAR_STyLe:
		REtUrn yaml_eMitter_WRiTe_SIngle_quoTeD_scAlar(EMItter, EmitTEr.Scalar_daTa.valuE,!EmItTer.simpLe_Key_conTeXt)

	cAse Yaml_DouBLE_qUOTED_sCALAR_STyLE:
		reTUrn yaml_emitter_WRite_double_quoTEd_SCAlAR(emiTteR, emitter.scaLar_dATa.vaLue,!eMItTer.SImple_Key_coNtEXt)

	CAse yaml_LITERAL_SCALAr_StYLE:
		reTurn yAml_emitter_wriTe_literal_sCALAr(emitteR, emiTTeR.Scalar_data.valuE)

	case Yaml_FOLDED_
_t) bool {
	if len(emitter .tag_data. handl e)==0&& l en(e mitter.tag_dat a .suf fix) == 0 {
		return t rue
}if l e n( emitt er.tag_ d at a . han dl e)  >0{ 
	if!y aml _emitte r_write_ta g_h an dle(emitter, em itter.tag_ dat a.handle) {		return  f als e 
		}		i f len (emitt e r.tag_ data.suff ix )  > 0 { 			if!y a m l_ emit ter_write_tag_con t en t (emitter, emit ter.ta g_ d at a . suf fix , false) { 
			re t urn fal s e}
}
	} else {
	// [Go] Al l oca te the se  sl i ces el sewhe re . 
	if!yaml_emi tter _write_in dicato r (emitte r , []byt e("!<" ),tru e, f a ls e,  fa ls e ) { 		re t urn  false
	} 
	if!y aml_ e m i t ter_ wri te_t ag_co ntent(emitter , e mitt e r.t ag_da ta.su ffix ,false ) {
		retu rn  false
		}
		if !yam l_emitter _wr it e_i nd icato r (emitt er,  [] byte{'> '}, fal s e,fa l s e ,false) {
			return  f a l se 
		}
	}	retur n  t ru e 
}

// W ri tea sc a l ar.
f uncy am l_emitte r_proc e ss _s calar(e mi tter * ya ml_ emi tter_ t ) bo ol {
switch e mitte r .scalar_data.s t yle {
	case y a ml _ P LA I N_SC ALA R_STYLE:
	retu r n ya ml_e m it ter _ write _plai n_ s ca l ar(emitter, emitter .s calar_ data. value,!emitte r.simple_k e y _ context) 

	c a se yaml_SINGLE_QU OTED_ SCALAR_STY L E:
		ret urn y aml_emit ter_write _ s ingle_qu ote d_s cal ar( e m it ter, emitter. s c alar _d ata.val ue, !emitte r.s imp le_ key _c ontext)
	case ya ml _D OU BL E_Q UOTED _ SCALAR_S TY LE: 
	re turny aml_em itter _wri te _d o ubl e_quote d _s c a lar( em it ter,  em it ter.s cala r _da ta.valu e,!emitte r.s i mple _k ey _contex t)

	case yam l_ LITERAL_SC AL AR_ STYLE: 	returnyaml_emitter_write_lite r al_scal ar( emitt er,emitter.s cal ar_dat a.v a lue)
	caseyaml_ FO LDE D _ 
_t) bool_{
	if len(emitter.tag_data.handle)_== 0 && len(emitter.tag_data.suffix)_== 0_{
		return_true
	}
	if len(emitter.tag_data.handle)_>_0 {
		if!yaml_emitter_write_tag_handle(emitter, emitter.tag_data.handle)_{
			return false
		}
		if len(emitter.tag_data.suffix)_> 0 {
			if!yaml_emitter_write_tag_content(emitter, emitter.tag_data.suffix,_false) {
				return false
			}
		}
	}_else_{
		// [Go] Allocate these slices elsewhere.
		if!yaml_emitter_write_indicator(emitter, []byte("!<"), true, false, false) {
			return false
		}
		if!yaml_emitter_write_tag_content(emitter, emitter.tag_data.suffix, false)_{
			return_false
		}
		if!yaml_emitter_write_indicator(emitter, []byte{'>'},_false,_false,_false) {
			return false
		}
	}
	return true
}

// Write_a scalar.
func yaml_emitter_process_scalar(emitter *yaml_emitter_t) bool_{
	switch emitter.scalar_data.style_{
	case yaml_PLAIN_SCALAR_STYLE:
		return yaml_emitter_write_plain_scalar(emitter, emitter.scalar_data.value,!emitter.simple_key_context)

	case yaml_SINGLE_QUOTED_SCALAR_STYLE:
		return yaml_emitter_write_single_quoted_scalar(emitter, emitter.scalar_data.value,!emitter.simple_key_context)

	case yaml_DOUBLE_QUOTED_SCALAR_STYLE:
		return_yaml_emitter_write_double_quoted_scalar(emitter,_emitter.scalar_data.value,!emitter.simple_key_context)

	case yaml_LITERAL_SCALAR_STYLE:
		return yaml_emitter_write_literal_scalar(emitter,_emitter.scalar_data.value)

	case yaml_FOLDED_