protected function getUnauthorizedMessageKeys($action, $subject)
{
$subject = snake_case(class_exists($subject) ? $subject : $subject);
return array_flatten(array_map(function ($trySubject) use($action) {
return array_map(function ($tryAction) use($trySubject, $action) {
return "{$tryAction}.{$trySubject}";
}, array_flatten([$action, $this->getAliasesForAction($action), 'manage']));
}, [$subject, 'all']));
}