def _infer_augassign(self, context=None):
if context is None:<EOL><INDENT>context = contextmod.InferenceContext()<EOL><DEDENT>rhs_context = context.clone()<EOL>lhs_iter = self.target.infer_lhs(context=context)<EOL>rhs_iter = self.value.infer(context=rhs_context)<EOL>for lhs, rhs in itertools.product(lhs_iter, rhs_iter):<EOL><INDENT>if any(value is util.Uninferable for value in (rhs, lhs)):<EOL><INDENT>yield util.Uninferable<EOL>return<EOL><DEDENT>try:<EOL><INDENT>yield from _infer_binary_operation(<EOL>left=lhs,<EOL>right=rhs,<EOL>binary_opnode=self,<EOL>context=context,<EOL>flow_factory=_get_aug_flow,<EOL>)<EOL><DEDENT>except exceptions._NonDeducibleTypeHierarchy:<EOL><INDENT>yield util.Uninferable<EOL><DEDENT><DEDENT>
Inference logic for augmented binary operations.