| 'use strict'; | 
| var call = require('../internals/function-call'); | 
| var hasOwn = require('../internals/has-own-property'); | 
| var isPrototypeOf = require('../internals/object-is-prototype-of'); | 
| var regExpFlags = require('../internals/regexp-flags'); | 
|   | 
| var RegExpPrototype = RegExp.prototype; | 
|   | 
| module.exports = function (R) { | 
|   var flags = R.flags; | 
|   return flags === undefined && !('flags' in RegExpPrototype) && !hasOwn(R, 'flags') && isPrototypeOf(RegExpPrototype, R) | 
|     ? call(regExpFlags, R) : flags; | 
| }; |