+def check_invert_green(node_tree, node):
+ if node.type=='GROUP':
+ return check_group(node_tree, node, check_invert_green)
+ elif node.type!='COMBRGB':
+ return (None, None)
+
+ from .util import get_linked_node_and_socket
+
+ green, g_sock = get_linked_node_and_socket(node_tree, node.inputs["G"])
+ if not green or green.type!='MATH' or green.operation!='SUBTRACT':
+ return (None, None)
+ green, g_sock = get_linked_node_and_socket(node_tree, green.inputs[1])
+
+ red, r_sock = get_linked_node_and_socket(node_tree, node.inputs["R"])
+ blue, b_sock = get_linked_node_and_socket(node_tree, node.inputs["B"])
+ if not red or red.type!='SEPRGB' or blue!=red or green!=red:
+ return (None, None)
+
+ return get_linked_node_and_socket(node_tree, red.inputs["Image"])
+