code: def make_node(self, rstate, size):
      # error checking slightly redundant here, since
      # this op should not be called directly.
      #
      # call through MRG_RandomStreams instead.
      broad = []
      for i in range(self.output_type.ndim):
          broad.append(tensor.extract_constant(size[i]) == 1)
      output_type = self.output_type.clone(broadcastable=broad)()
      rstate = as_tensor_variable(rstate)
      size = as_tensor_variable(size)
      return Apply(self, [rstate, size], [rstate.type(), output_type])
  
imports: from __future__ import absolute_import, print_function, division
  import warnings
  import numpy
  from six import integer_types, string_types
  from six.moves import xrange
  import theano
  from theano import Op, Apply, shared, config, Variable
  from theano import gradient, function
  from theano.gradient import undefined_grad
  from theano import tensor
  from theano.tensor import TensorType, as_tensor_variable, get_vector_length, cast, opt, scal
  from theano.compile import optdb
  from theano.gof import local_optimizer, ParamsType
  from theano.scalar import bool, int32
  from .None import multinomial
label_desc: Use image node_id 1 for calling the mrg_uniform obj's underlying member method code with example usage: obj.make_node(rstate, size) and returns: Apply