function RxLinkUtils.observeLinkValueBrio(Y,Q)assert(type(Y)=="\115\116\114\105\110\103","\108\105\110\107\078\097\109\101 \115\104\111\117\108\100 \098\101 \'\115\116\114\105\110\103\'")assert(typeof(Q)=="\073\110\115\116\097\110\099\101","\112\097\114\101\110\116 \115\104\111\117\108\100 \098\101 \'\073\110\115\116\097\110\099\101\'")return(RxInstanceUtils.observeChildrenOfNameBrio(Q,"\079\098\106\101\099\116\086\097\108\117\101",Y)):Pipe({RxBrioUtils.flatMapBrio(function(Y)return RxInstanceUtils.observePropertyBrio(Y,"\086\097\108\117\101",function(Y)return Y~=nil end)end)})end

function RxLinkUtils.observeLinkValueBrio(linkName, parent)
	assert(type(linkName) == "string", "linkName should be 'string'")
	assert(typeof(parent) == "Instance", "parent should be 'Instance'")

	return RxInstanceUtils.observeChildrenOfNameBrio(parent, "ObjectValue", linkName)
		:Pipe({
			RxBrioUtils.flatMapBrio(function(instance)
				return RxInstanceUtils.observePropertyBrio(instance, "Value", function(value)
					return value ~= nil
				end)
			end)
		})
end
